]> git.eshelyaron.com Git - emacs.git/commitdiff
(face-set-after-frame-default): Let face attributes
authorGerd Moellmann <gerd@gnu.org>
Fri, 24 Nov 2000 13:16:13 +0000 (13:16 +0000)
committerGerd Moellmann <gerd@gnu.org>
Fri, 24 Nov 2000 13:16:13 +0000 (13:16 +0000)
specified for new frames override frame parameters.

lisp/faces.el

index 1f86b0c007505baa127e4d29c575e158c5249d70..bcf2b8ffdaf97929ddcc6e3b9e8acc6e06441b44 100644 (file)
@@ -1488,14 +1488,16 @@ Initialize colors of certain faces from frame parameters."
                  (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."