emacs-devel
[Top][All Lists]
Advanced

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

Re: Face initialization


From: Chong Yidong
Subject: Re: Face initialization
Date: Sun, 06 Jul 2008 09:58:22 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.60 (gnu/linux)

Stefan Monnier <address@hidden> writes:

>> After staring at face-set-after-frame-default for a while, I think it
>> can be simplified somewhat.  If we only set frame parameters based on
>> the parameter list explicitly passed to `make-frame', it shouldn't be
>> necessary to mess around with the default face in the beginning of the
>> function.
>
> Interesting: could you explain why you think so?

I think on reason for the stuff in the beginning was for the following
check:

!            (default-value (face-attribute face attr t)))
....
!       (if (eq default-value 'unspecified)
!           ;; The face spec does not specify a new-frame value for
!           ;; this attribute.  Check if the existing frame parameter
!           ;; specifies it.
!           (if value
!               (push (list face frame attr value) apply-params))
!         ;; The face spec specifies a value for this attribute, to be
!         ;; applied to the face on all new frames.
!         (push (list face frame attr default-value) apply-params))))

If we only set the frame parameters explicitly specified for that frame,
this is not required.  I think all the other information is already
present in the face spec.

>> Also, the call to make-face-x-resource-internal seems to be
>> unnecessary.
>
> Why?

The X resource settings are already stored in the `theme-face' property
of the default face, so face-spec-recalc applies it (now that it is
called for the default face).




reply via email to

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