diff options
Diffstat (limited to 'lisp/cus-face.el')
-rw-r--r-- | lisp/cus-face.el | 9 |
1 files changed, 6 insertions, 3 deletions
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)) |