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)))
(when-let* ((deferral-list (assq ',name doom--deferred-packages-alist)))
(dolist (hook (cdr deferral-list))
(if (functionp hook)
(advice-remove hook #',fn)
(remove-hook hook #',fn)))
(advice-remove hook #',fn)
(remove-hook hook #',fn))
(setq doom--deferred-packages-alist
(delq deferral-list doom--deferred-packages-alist))))))
(let (forms)
(dolist (hook hooks forms)
(push (if (functionp hook)
`(advice-add #',hook :before #',fn)
`(add-hook ',hook #',fn))
(push (if (string-match-p "-\\(?:functions\\|hook\\)$" (symbol-name hook))
`(add-hook ',hook #',fn)
`(advice-add #',hook :before #',fn))
forms)))
`((unless (assq ',name doom--deferred-packages-alist)
(push '(,name) doom--deferred-packages-alist))