Refactor Doom use-package extensions

This commit is contained in:
Henrik Lissner 2019-03-09 14:14:40 -05:00
parent 8f98e441c0
commit 17714c2c63
No known key found for this signature in database
GPG key ID: 5F6C0EA160557395

View file

@ -241,13 +241,15 @@ non-nil, return paths of possible modules, activated or otherwise."
;; ...) ;; ...)
(defvar doom--deferred-packages-alist '(t)) (defvar doom--deferred-packages-alist '(t))
(after! use-package-core (after! use-package-core
(add-to-list 'use-package-deferring-keywords :defer-incrementally nil #'eq) ;; :ensure and :pin don't work well with Doom, so we forcibly remove them.
(add-to-list 'use-package-deferring-keywords :after-call nil #'eq) (dolist (keyword '(:ensure :pin))
(setq use-package-keywords (delq keyword use-package-keywords)))
(setq use-package-keywords ;; Insert new deferring keywords
(use-package-list-insert :defer-incrementally use-package-keywords :after)) (dolist (keyword '(:defer-incrementally :after-call))
(setq use-package-keywords (add-to-list 'use-package-deferring-keywords keyword nil #'eq)
(use-package-list-insert :after-call use-package-keywords :after)) (setq use-package-keywords
(use-package-list-insert keyword use-package-keywords :after)))
(defalias 'use-package-normalize/:defer-incrementally 'use-package-normalize-symlist) (defalias 'use-package-normalize/:defer-incrementally 'use-package-normalize-symlist)
(defun use-package-handler/:defer-incrementally (name _keyword targets rest state) (defun use-package-handler/:defer-incrementally (name _keyword targets rest state)
@ -274,8 +276,9 @@ non-nil, return paths of possible modules, activated or otherwise."
(if (functionp hook) (if (functionp hook)
(advice-remove hook #',fn) (advice-remove hook #',fn)
(remove-hook hook #',fn))) (remove-hook hook #',fn)))
(delq (assq ',name doom--deferred-packages-alist) (setq doom--deferred-packages-alist
doom--deferred-packages-alist) (delq (assq ',name doom--deferred-packages-alist)
doom--deferred-packages-alist))
(fmakunbound ',fn)))) (fmakunbound ',fn))))
(let (forms) (let (forms)
(dolist (hook hooks forms) (dolist (hook hooks forms)