From de43f11b3670d9a5776d9df6127ff12302e1fe65 Mon Sep 17 00:00:00 2001 From: Chong Yidong Date: Thu, 14 Oct 2010 01:57:58 -0400 Subject: [PATCH] Fix 2010-10-12 change to custom-theme-set-faces. * cus-face.el (custom-theme-set-faces): Call custom-push-theme only after checking the theme-face property. --- lisp/ChangeLog | 3 +++ lisp/cus-face.el | 9 ++++++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 73a82346679..b667813c959 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,8 @@ 2010-10-14 Chong Yidong + * 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. diff --git a/lisp/cus-face.el b/lisp/cus-face.el index 1a24429e1e8..ebb20012afa 100644 --- a/lisp/cus-face.el +++ b/lisp/cus-face.el @@ -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)) -- 2.39.5