Skip to content

Commit c44bc81

Browse files
ivanbrennanHenrik Lissner
authored and
Henrik Lissner
committed
fix(lib): defer-feature! fallback FNS
If defer-feature! was called with one argument (as is the case in the :lang common-lisp module), FNS defaulted to an empty list. As a result, FEATURE was deferred but never re-added to the features list, and after! blocks were never triggered. Instead of defaulting to an empty list, fallback to a singleton list containing just (FEATURE). This aligns with the behavior this macro had prior to 5b8b04f, which generalized FNS to support a list of functions rather than just one.
1 parent 5ca8c75 commit c44bc81

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

lisp/doom-lib.el

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -595,14 +595,15 @@ serve as a predicated alternative to `after!'."
595595
(add-hook 'after-load-functions #',fn)))))
596596

597597
(defmacro defer-feature! (feature &rest fns)
598-
"Pretend FEATURE hasn't been loaded yet, until FEATURE-hook or FN runs.
598+
"Pretend FEATURE hasn't been loaded yet, until FEATURE-hook or FNS run.
599599
600600
Some packages (like `elisp-mode' and `lisp-mode') are loaded immediately at
601601
startup, which will prematurely trigger `after!' (and `with-eval-after-load')
602602
blocks. To get around this we make Emacs believe FEATURE hasn't been loaded yet,
603-
then wait until FEATURE-hook (or MODE-hook, if FN is provided) is triggered to
604-
reverse this and trigger `after!' blocks at a more reasonable time."
605-
(let ((advice-fn (intern (format "doom--defer-feature-%s-a" feature))))
603+
then wait until FEATURE-hook (or any of FNS, if FNS are provided) is triggered
604+
to reverse this and trigger `after!' blocks at a more reasonable time."
605+
(let ((advice-fn (intern (format "doom--defer-feature-%s-a" feature)))
606+
(fns (or fns (list feature))))
606607
`(progn
607608
(delq! ',feature features)
608609
(defadvice! ,advice-fn (&rest _)

0 commit comments

Comments
 (0)