# HG changeset patch # User Gerd Moellmann # Date 975071773 0 # Node ID 01da583dbe565e36a06a5f29f9817337ba8f8248 # Parent ce2b486e1171011d22e12e569be9b733539def51 (face-set-after-frame-default): Let face attributes specified for new frames override frame parameters. diff -r ce2b486e1171 -r 01da583dbe56 lisp/faces.el --- a/lisp/faces.el Fri Nov 24 12:29:32 2000 +0000 +++ b/lisp/faces.el Fri Nov 24 13:16:13 2000 +0000 @@ -1488,14 +1488,16 @@ (scroll-bar-foreground scroll-bar :foreground) (scroll-bar-background scroll-bar :background) (mouse-color mouse :background)))) - (while params - (let ((param-name (nth 0 (car params))) - (face (nth 1 (car params))) - (attr (nth 2 (car params))) - value) - (when (setq value (frame-parameter frame param-name)) - (set-face-attribute face frame attr value))) - (setq params (cdr params))))) + (dolist (param params) + (let ((frame-param (frame-parameter frame (nth 0 param))) + (face (nth 1 param)) + (attr (nth 2 param))) + (when (and frame-param + ;; Don't override face attributes explicitly + ;; specified for new frames. + (eq (face-attribute face attr t) 'unspecified)) + (set-face-attribute face frame attr frame-param)))))) + (defun tty-handle-reverse-video (frame parameters) "Handle the reverse-video frame parameter for terminal frames."