--- Begin Message ---
Subject: |
face customization fails after set-face-attribute |
Date: |
Mon, 4 May 2009 16:04:35 -0400 |
Emacs -Q
(set-face-attribute 'default nil
:height 130
:family "Lucida Grande")
;; modifies default face
(customize-face 'default)
;; switch back manually to Monaco and "set for current session"
(make-frame-command) ;; C-x 5 2
;; the new frame is shown in Lucida. Why?
Upon inspection of some code, it appears unclear why `face-spec-set'
iterates over all frame faces and sets the new spec there, but doesn't
set the right property to set the face for future frames in case for-
defface is t.
--- End Message ---
--- Begin Message ---
Subject: |
Re: bug#3408: bug#3210: face customization fails after set-face-attribute |
Date: |
Sun, 25 Nov 2012 13:04:32 +0800 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.2.90 (gnu/linux) |
"Drew Adams" <address@hidden> writes:
> Bug #3408 is a _regression_, and it has not been fixed.
> A regression is certainly NOT `notabug'.
I disagree that this is a bug. I have now taken another look at the
code, and my earlier conclusion stands. Modifications to internal Lisp
faces (via set-face-attribute) take precedence over the effect of face
specs, so the behavior is working as intended and as documented
(including in the docstring of set-face-attribute).
The trunk now contains a change to face-spec-set which allows it to be
more easily called from Lisp code to override defface specs. If you
want to modify faces from Lisp, use that rather than set-face-attribute.
Don't re-open this bug based on uninformed opinion. Thanks.
--- End Message ---