Fix #5009: custom-{,theme-}set-faces\! at startup
An erroneous check preventing these macros from taking effect any other time but before your doom-theme has loaded.
This commit is contained in:
parent
1c549f21d6
commit
f3c496d295
2 changed files with 15 additions and 8 deletions
|
@ -34,7 +34,12 @@ all themes. It will apply to all themes once they are loaded."
|
|||
(apply #'custom-theme-set-faces theme
|
||||
(mapcan #'doom--custom-theme-set-face
|
||||
(list ,@specs)))))))
|
||||
(unless doom-theme (funcall #',fn))
|
||||
;; Apply the changes immediately if the user is using the default theme
|
||||
;; or the theme has already loaded. This allows you to evaluate these
|
||||
;; macros on the fly and customize your faces iteratively.
|
||||
(when (or (get 'doom-theme 'previous-themes)
|
||||
(null doom-theme))
|
||||
(funcall #',fn))
|
||||
;; TODO Append to `doom-load-theme-hook' with DEPTH instead when Emacs
|
||||
;; 26.x support is dropped.
|
||||
(add-hook 'doom-customize-theme-hook #',fn 'append))))
|
||||
|
|
|
@ -634,13 +634,15 @@ windows, switch to `doom-fallback-buffer'. Otherwise, delegate to original
|
|||
;; buffer-local face remaps (by `mixed-pitch-mode', for instance) won't
|
||||
;; interfere with recalculating faces in new themes.
|
||||
(with-temp-buffer
|
||||
(let ((last-themes (copy-sequence custom-enabled-themes)))
|
||||
;; Disable previous themes so there are no conflicts. If you truly want
|
||||
;; multiple themes enabled, then use `enable-theme' instead.
|
||||
(mapc #'disable-theme custom-enabled-themes)
|
||||
(prog1 (funcall orig-fn theme no-confirm no-enable)
|
||||
(when (and (not no-enable) (custom-theme-enabled-p theme))
|
||||
(setq doom-theme theme)
|
||||
(doom-run-hooks 'doom-load-theme-hook)))))
|
||||
(put 'doom-theme 'previous-themes last-themes)
|
||||
(doom-run-hooks 'doom-load-theme-hook))))))
|
||||
|
||||
|
||||
;;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue