emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] Changes to emacs/lisp/faces.el,v


From: Miles Bader
Subject: [Emacs-diffs] Changes to emacs/lisp/faces.el,v
Date: Fri, 03 Aug 2007 05:50:01 +0000

CVSROOT:        /cvsroot/emacs
Module name:    emacs
Changes by:     Miles Bader <miles>     07/08/03 05:49:59

Index: lisp/faces.el
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/faces.el,v
retrieving revision 1.372
retrieving revision 1.373
diff -u -b -r1.372 -r1.373
--- lisp/faces.el       26 Jul 2007 05:26:22 -0000      1.372
+++ lisp/faces.el       3 Aug 2007 05:49:56 -0000       1.373
@@ -1506,6 +1506,28 @@
       (get face 'saved-face)
       (face-default-spec face)))
 
+(defsubst face-normalize-spec (spec)
+  "Return a normalized face-spec of SPEC."
+  (let (normalized-spec)
+    (while spec
+      (let ((attribute (car spec))
+           (value (car (cdr spec))))
+       ;; Support some old-style attribute names and values.
+       (case attribute
+         (:bold (setq attribute :weight value (if value 'bold 'normal)))
+         (:italic (setq attribute :slant value (if value 'italic 'normal)))
+         ((:foreground :background)
+          ;; Compatibility with 20.x.  Some bogus face specs seem to
+          ;; exist containing things like `:foreground nil'.
+          (if (null value) (setq value 'unspecified)))
+         (t (unless (assq attribute face-x-resources)
+              (setq attribute nil))))
+       (when attribute
+         (push attribute normalized-spec)
+         (push value normalized-spec)))
+      (setq spec (cdr (cdr spec))))
+    (nreverse normalized-spec)))
+
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;; Frame-type independent color support.
@@ -1648,7 +1670,8 @@
        ;; be unmodified, so we can avoid consing in the common case.
        (dolist (face (face-list))
          (when (not (face-spec-match-p face
-                                       (face-user-default-spec face)
+                                       (face-normalize-spec
+                                        (face-user-default-spec face))
                                        (selected-frame)))
            (push face locally-modified-faces)))
        ;; Now change to the new frame parameters




reply via email to

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