[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Faces applies to new frames

From: Stefan Monnier
Subject: Re: Faces applies to new frames
Date: Fri, 27 Jun 2008 02:18:04 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.60 (gnu/linux)

>>> AFAICT, the problem is that the default face is controlled by the `font'
>>> frame parameter, but this is not saved to default-frame-alist by
>>> internal-set-lisp-face-attribute.  In comparison, the foreground-color
>> I'm not convinced this is the root of the problem.  For one, by default
>> there is no `font' parameter in default-frame-alist, so as long as we
>> leave it that way, it should not affect face settings.  The code in
>> face-set-after-frame-default should apply the defface-spec to every
>> new frame, so we shouldn't need any entry in default-frame-alist for it
>> to apply to new frames.  The face-set-after-frame-default used to skip
>> `default', so that was an important reason for the bug#47.  I've fixed
>> this part, but there are other weird things going on (I have some other
>> weird problems here where X resources are obeyed even after I remove
>> the calls to `make-face-x-resource-internal').

> Maybe there's more than one bug here.  When set-face-attribute is called
> with a nil FRAME argument, that changes the face for all frames, and
> this is done via frame parameters and not by changing the defface spec.
> I don't think face-set-after-frame-default is even relevant to this
> case.

Indeed, there's also the distinction between face changes made via
customize and those made by direct calls to set-face-attribute.

The more I look at it, the mor it seems obvious that we cannot fix it by
looking at individual events, but we need to first figure out it
currently (fails to) work overall, and then design a way to make it work
in an overall consistent way.


reply via email to

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