Subject: bug#9982: Theme faces wrongly applied after background changes.

From: Chong Yidong <[email-masked]>
Date: Sun, 29 Jan 2012 21:28:00 +0800

Chong Yidong <[email-masked]> writes:

> I installed xfce4 and can now reproduce the bug.  The problem is the
> existence of the `theme-face' property for `default', which is present
> at startup even with emacs -Q.  I don't know where this is coming from
> either, but it rings a dim bell---I'll try to investigate further.

The theme-face is coming from `font-setting-change-default-font' in
dynamic-settings.el:

    (let ((spec (list (list t (face-attr-construct 'default)))))
      (progn
        (put 'default 'customized-face spec)
        (custom-push-theme 'theme-face 'default 'user 'set spec)
        (put 'default 'face-modified nil))))))

As this function is written, it's not going to play nicely with the
Customize or Custom themes code.  It tries to apply the system font
settings by pretending that the user has customized the default face.
The problem is that user customizations override Custom themes.