Log & error-handle in :after-call hooks

A load error no longer leaves Emacs in a broken state, but will report
errors. These errors can still be investigated with debug-on-error on.
This commit is contained in:
Henrik Lissner 2018-06-19 20:54:09 +02:00
parent e069139b1c
commit adf9b7d26f
No known key found for this signature in database
GPG Key ID: 5F6C0EA160557395

View File

@ -194,7 +194,11 @@ non-nil, return paths of possible modules, activated or otherwise."
(use-package-concat
`((fset ',fn
(lambda (&rest _)
(require ',name)
(when doom-debug-mode
(message "Loading deferred package %s from %s" ',name ',fn))
(condition-case e (require ',name)
((debug error)
(message "Failed to load deferred package %s: %s" ',name e)))
(dolist (hook (cdr (assq ',name doom--deferred-packages-alist)))
(if (functionp hook)
(advice-remove hook #',fn)