On Wed, 11 Oct 2000, Stephen J. Turnbull <turnbull(a)sk.tsukuba.ac.jp>
wrote:
>>>>>> "Alexander" == Alexander Burchell <aburchel(a)wilshire.com> writes:
> 
>>>>>> "Gunnar" == Gunnar Evermann <ge204(a)eng.cam.ac.uk> writes:
> 
>     Gunnar> then everything is fine and the colors display as I've set
>     Gunnar> them in my .emacs file.  However, after emacs is running
>     Gunnar> and I open a new file using C-x 5 f (or meta-x
>     Gunnar> find-file-other-frame) the new file has the wrong colors.
>     Gunnar> All the syntax is highlighed with some default set of
>     Gunnar> colors that are totally different than the ones I chose.
> 
>     Alexander> I hate to say, "me too", but ... "me too".
> 
> Exactly how do you set your faces?  
FWIW, I see the same thing in some circumstances.
Setting the *default* face from Lisp using `set-face-property' causes
this problem to show up. New frames suddenly don't quite work.
The properties are set as:
(defun make-face-from-spec (face spec)
  "Construct the named face if it does not already exist, and set 
the given specifier list into the object."
  (let ((fn
	 (lambda (x)
	   (set-face-property face (car x) (cadr x)
			      'global '(daniel) 'remove-tag-set-prepend))))
    ;; Work as a delta to the default face.
    (copy-face 'default face)
    ;; Map across the font description.
    (mapc fn spec)))
This then gets fed a face symbol and a list of property cons cells.
Earlier in the file, I also do (define-specifier-tag 'daniel).
If I set the default face this way, the issue of color changing comes
up. If I /don't/ set default here, it works correctly.
Setting the default face from X resources seems to work correctly.
        Daniel
-- 
Our quarrel with the world is an echo of the 
endless quarrel proceeding within us.
        -- Eric Hoffer