From e7019e4163855ff1ca512c80a393f0ffa4c819a5 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Fri, 22 Nov 2019 16:16:27 -0500 Subject: [PATCH] Fix custom-set-*-faces! macros in Emacs 27 custom--inhibit-theme-enable is non-nil by default in Emacs 27, which inhibits uses of `custom-theme-set-faces` when modifying any theme other than 'user. --- core/autoload/themes.el | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/core/autoload/themes.el b/core/autoload/themes.el index a0740e487..2fb84ef3f 100644 --- a/core/autoload/themes.el +++ b/core/autoload/themes.el @@ -19,12 +19,13 @@ all themes. It will apply to all themes once they are loaded." `(let ((fn (gensym "doom--customize-themes-h-"))) (fset fn (lambda () - (dolist (theme (doom-enlist (or ,theme 'user))) - (when (or (eq theme 'user) - (custom-theme-enabled-p theme)) - (apply #'custom-theme-set-faces theme - (mapcan #'doom--custom-theme-set-face - (list ,@specs))))))) + (let (custom--inhibit-theme-enable) + (dolist (theme (doom-enlist (or ,theme 'user))) + (when (or (eq theme 'user) + (custom-theme-enabled-p theme)) + (apply #'custom-theme-set-faces theme + (mapcan #'doom--custom-theme-set-face + (list ,@specs)))))))) (when (or doom-init-theme-p (null doom-theme)) (funcall fn)) (add-hook 'doom-load-theme-hook fn 'append)))