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