From be44b1ae8afe473fe3ce48d1d6c2e9824457dd78 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Sun, 24 Jun 2018 12:08:55 +0200 Subject: [PATCH] Fix package!'s :disable being read unconditionally Because the package was added to doom-disabled-packages at macro expansion time, rather than at run time. This meant that, even if you did: (when nil (package! x :disable t)) x would still be disabled. Reported by @ar1a --- core/core-packages.el | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/core/core-packages.el b/core/core-packages.el index e256729cb..cf4fc37fe 100644 --- a/core/core-packages.el +++ b/core/core-packages.el @@ -207,8 +207,6 @@ elsewhere." (and old-plist (plist-get old-plist :pin)))) (pkg-disable (or (plist-get plist :disable) (and old-plist (plist-get old-plist :disable))))) - (when pkg-disable - (add-to-list 'doom-disabled-packages name nil #'eq)) (when pkg-recipe (when (= 0 (% (length pkg-recipe) 2)) (setq plist (plist-put plist :recipe (cons name pkg-recipe)))) @@ -222,6 +220,7 @@ elsewhere." doom-private-dir) (setq plist (plist-put plist :private t))) `(progn + ,(if pkg-disable `(add-to-list 'doom-disabled-packages ',name nil #'eq)) ,(if pkg-pin `(setf (alist-get ',name package-pinned-packages) ,pkg-pin)) (setf (alist-get ',name doom-packages) ',plist) (not (memq ',name doom-disabled-packages)))))