emacs-devel
[Top][All Lists]
Advanced

[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.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]