Fix 2010-10-12 change to custom-theme-set-faces.
authorChong Yidong <cyd@stupidchicken.com>
Thu, 14 Oct 2010 05:57:58 +0000 (01:57 -0400)
committerChong Yidong <cyd@stupidchicken.com>
Thu, 14 Oct 2010 05:57:58 +0000 (01:57 -0400)
* cus-face.el (custom-theme-set-faces): Call custom-push-theme
only after checking the theme-face property.

lisp/ChangeLog
lisp/cus-face.el

index 73a8234..b667813 100644 (file)
@@ -1,5 +1,8 @@
 2010-10-14  Chong Yidong  <cyd@stupidchicken.com>
 
+       * cus-face.el (custom-theme-set-faces): Call custom-push-theme
+       only after checking the theme-face property.
+
        * faces.el (face-spec-reset-face): Reset all attributes in one
        single call to set-face-attribute.
        (face-spec-match-p): Make it a defsubst.
index 1a24429..ebb2001 100644 (file)
@@ -328,15 +328,18 @@ FACE's list property `theme-face' \(using `custom-push-theme')."
        ;; is aliased to.
        (if (get face 'face-alias)
            (setq face (get face 'face-alias)))
-       (custom-push-theme 'theme-face face theme 'set spec)
-       (unless custom--inhibit-theme-enable
-         ;; Now set the face spec.
+       (if custom--inhibit-theme-enable
+           ;; Just update theme settings.
+           (custom-push-theme 'theme-face face theme 'set spec)
+         ;; Update theme settings and set the face spec.
          (let ((now (nth 2 entry))
                (comment (nth 3 entry))
                (oldspec (get face 'theme-face)))
            (when (not (and oldspec (eq 'user (caar oldspec))))
              (put face 'saved-face spec)
              (put face 'saved-face-comment comment))
+           ;; Do this AFTER checking the `theme-face' property.
+           (custom-push-theme 'theme-face face theme 'set spec)
            (when (or now immediate)
              (put face 'force-face (if now 'rogue 'immediate)))
            (when (or now immediate (facep face))