Change :after-call heuristic for detecting fn/hook

This commit is contained in:
Henrik Lissner 2019-04-30 15:12:07 -04:00
parent ed5d27eee7
commit a57d9d3a25
No known key found for this signature in database
GPG key ID: 5F6C0EA160557395

View file

@ -268,16 +268,15 @@ non-nil, return paths of possible modules, activated or otherwise."
(message "Failed to load deferred package %s: %s" ',name e))) (message "Failed to load deferred package %s: %s" ',name e)))
(when-let* ((deferral-list (assq ',name doom--deferred-packages-alist))) (when-let* ((deferral-list (assq ',name doom--deferred-packages-alist)))
(dolist (hook (cdr deferral-list)) (dolist (hook (cdr deferral-list))
(if (functionp hook) (advice-remove hook #',fn)
(advice-remove hook #',fn) (remove-hook hook #',fn))
(remove-hook hook #',fn)))
(setq doom--deferred-packages-alist (setq doom--deferred-packages-alist
(delq deferral-list doom--deferred-packages-alist)))))) (delq deferral-list doom--deferred-packages-alist))))))
(let (forms) (let (forms)
(dolist (hook hooks forms) (dolist (hook hooks forms)
(push (if (functionp hook) (push (if (string-match-p "-\\(?:functions\\|hook\\)$" (symbol-name hook))
`(advice-add #',hook :before #',fn) `(add-hook ',hook #',fn)
`(add-hook ',hook #',fn)) `(advice-add #',hook :before #',fn))
forms))) forms)))
`((unless (assq ',name doom--deferred-packages-alist) `((unless (assq ',name doom--deferred-packages-alist)
(push '(,name) doom--deferred-packages-alist)) (push '(,name) doom--deferred-packages-alist))