1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-06 14:30:50 -08:00

Always catch errors during configuration

This commit is contained in:
John Wiegley 2017-12-03 10:57:42 -08:00
parent e5aa510d48
commit 223c321a1d

View file

@ -1618,31 +1618,30 @@ no more than once."
(use-package-process-keywords name args
(and (plist-get args :demand)
(list :demand t))))))
(if (not (eq use-package-verbose 'debug))
(if use-package-expand-minimally
body
`(condition-case-unless-debug err
,body
(error
(let ((msg (format "%s: %s" ',name (error-message-string err))))
(with-current-buffer (get-buffer-create "*use-package*")
(goto-char (point-max))
(insert "-----\n" msg "\n\n"
(pp-to-string ',`(use-package ,name ,@orig-args))
"\n -->\n\n"
(pp-to-string ',`(use-package ,name ,@args))
"\n ==>\n\n"
(pp-to-string
',(let ((use-package-verbose 'errors)
(use-package-expand-minimally t))
(macroexp-progn
(use-package-process-keywords name args
(and (plist-get args :demand)
(list :demand t)))))))
(emacs-lisp-mode))
(ignore
(display-warning
'use-package (concat msg " (see the *use-package* buffer)")
:error)))))))))
(when (eq use-package-verbose 'debug)
(setq msg (concat msg " (see the *use-package* buffer)"))
(with-current-buffer (get-buffer-create "*use-package*")
(goto-char (point-max))
(insert "-----\n" msg "\n\n"
(pp-to-string ',`(use-package ,name ,@orig-args))
"\n -->\n\n"
(pp-to-string ',`(use-package ,name ,@args))
"\n ==>\n\n"
(pp-to-string
',(let ((use-package-verbose 'errors)
(use-package-expand-minimally t))
(macroexp-progn
(use-package-process-keywords name args
(and (plist-get args :demand)
(list :demand t)))))))
(emacs-lisp-mode)))
(ignore (display-warning 'use-package msg :error)))))))))
;;;###autoload
(defmacro use-package (name &rest args)