[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: 23.0.50; face-problems with multy-tty
From: |
Glenn Morris |
Subject: |
Re: 23.0.50; face-problems with multy-tty |
Date: |
Mon, 08 Oct 2007 21:19:31 -0400 |
User-agent: |
Gnus (www.gnus.org), GNU Emacs (www.gnu.org/software/emacs/) |
Richard Stallman wrote:
> I also don't really know what "this" is, but I posted 5 days ago
> ("recent faces.el change", no responses) that face-spec-set with no
> FRAME argument no longer sets the default for new frames. This is due
> to your 2007-09-17 change to faces.el. Isn't that just a bug?
>
> Maybe it is. I ought to investigate it but I have not had time.
How about this:
diff -c -c -w -r1.377 faces.el
*** faces.el 21 Sep 2007 07:23:03 -0000 1.377
--- faces.el 9 Oct 2007 01:18:28 -0000
***************
*** 1444,1455 ****
(defun face-spec-set (face spec &optional frame)
"Set FACE's attributes according to the first matching entry in SPEC.
FRAME is the frame whose frame-local face is set. FRAME nil means
! do it on all frames. See `defface' for information about SPEC.
! If SPEC is nil, do nothing."
! (if frame
(let ((attrs (face-spec-choose spec frame)))
(when spec
! (face-spec-reset-face face frame))
(while attrs
(let ((attribute (car attrs))
(value (car (cdr attrs))))
--- 1444,1454 ----
(defun face-spec-set (face spec &optional frame)
"Set FACE's attributes according to the first matching entry in SPEC.
FRAME is the frame whose frame-local face is set. FRAME nil means
! do it on all frames (and change the default for new frames).
! See `defface' for information about SPEC. If SPEC is nil, do nothing."
(let ((attrs (face-spec-choose spec frame)))
(when spec
! (face-spec-reset-face face (or frame t)))
(while attrs
(let ((attribute (car attrs))
(value (car (cdr attrs))))
***************
*** 1464,1471 ****
(t (unless (assq attribute face-x-resources)
(setq attribute nil))))
(when attribute
! (set-face-attribute face frame attribute value)))
(setq attrs (cdr (cdr attrs)))))
;; When we reset the face based on its spec, then it is unmodified
;; as far as Custom is concerned.
(put (or (get face 'face-alias) face) 'face-modified nil)
--- 1463,1473 ----
(t (unless (assq attribute face-x-resources)
(setq attribute nil))))
(when attribute
! ;; If frame is nil, set the default for new frames.
! ;; Existing frames are handled below.
! (set-face-attribute face (or frame t) attribute value)))
(setq attrs (cdr (cdr attrs)))))
+ (unless frame
;; When we reset the face based on its spec, then it is unmodified
;; as far as Custom is concerned.
(put (or (get face 'face-alias) face) 'face-modified nil)
- Re: 23.0.50; face-problems with multy-tty,
Glenn Morris <=