# HG changeset patch # User Chong Yidong # Date 1287035878 14400 # Node ID 80c672780889534890b80503b36d40997bc2839b # Parent a5cd85a6290e0fb8a2111c484b6f14dc9a6d1b82 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. diff -r a5cd85a6290e -r 80c672780889 lisp/ChangeLog --- a/lisp/ChangeLog Wed Oct 13 23:55:18 2010 -0400 +++ b/lisp/ChangeLog Thu Oct 14 01:57:58 2010 -0400 @@ -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 -r a5cd85a6290e -r 80c672780889 lisp/cus-face.el --- a/lisp/cus-face.el Wed Oct 13 23:55:18 2010 -0400 +++ b/lisp/cus-face.el Thu Oct 14 01:57:58 2010 -0400 @@ -328,15 +328,18 @@ ;; 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))