changeset 110978:80c672780889

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.
author Chong Yidong <cyd@stupidchicken.com>
date Thu, 14 Oct 2010 01:57:58 -0400
parents a5cd85a6290e
children 29c951d93e6d
files lisp/ChangeLog lisp/cus-face.el
diffstat 2 files changed, 9 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- 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  <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.
--- 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))