[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: address@hidden: set-face-attribute doesn't set default for new frame
From: |
Chong Yidong |
Subject: |
Re: address@hidden: set-face-attribute doesn't set default for new frames] |
Date: |
Sat, 24 Mar 2007 10:52:39 -0400 |
User-agent: |
Gnus/5.11 (Gnus v5.11) Emacs/22.0.96 (gnu/linux) |
> set-face-attribute doesn't set the default for new frames with
> todays CVS. Instead, the value used in custom-set-faces is used
> instead even though I specify nil for the frame (all current frames
> and future frames) in set-face-attribute.
>
> I have custom vars set up for various faces and then some machine specific
> overrides (using set-face-attribute) for when the normal face doesn't look
> very good. I've managed to reduce the steps needed to reproduce the bug to
> the following:
This is due to the code that is supposed to prevent user face
customizations from being overridden by X resources on new frames.
I argued, at the time, that that behavior (which has been around since
at least Emacs 21) is not trivial to change. After much argument, I
proposed a hack where face-set-after-frame-default recalculates the
theme-face after applying X resources. We now see that this hack
causes a different, more serious set of problems.
There seems to be no way to fix both bugs without an overhaul of the
faces code.
The original problem is, ultimately, external to Emacs: Gnome themes
specify a default X resource for the Emacs mode-line, which should be
left to the user. So I propose reverting my patch, which will fix the
current bug, and documenting the X resource problem in PROBLEMS.
We can then revisit the X resource problem after Emacs 22 is released.