Refactor autoloads init & error handling

Also reduces byte-compiled forms in the backtrace of a
doom-autoload-error.
This commit is contained in:
Henrik Lissner 2018-06-19 17:19:11 +02:00
parent 279ee3cc8c
commit 0fefc43d39
No known key found for this signature in database
GPG key ID: 5F6C0EA160557395
3 changed files with 17 additions and 11 deletions

View file

@ -345,11 +345,17 @@ it exists."
(byte-compile-dynamic-docstrings t))
(condition-case e
(when (byte-compile-file file)
(load (byte-compile-dest-file file) nil t)
;; Give autoloads file a chance to report error
(load (if doom-debug-mode
file
(byte-compile-dest-file file))
nil t)
(unless noninteractive
(message "Finished compiling %s" short-name)))
((debug error)
(copy-file file (concat file ".bk") 'overwrite)
(let ((backup-file (concat file ".bk")))
(message "Copied backup to %s" backup-file)
(copy-file file backup-file 'overwrite))
(doom-delete-autoloads-file file)
(signal 'doom-autoload-error (list short-name e))))))

View file

@ -46,15 +46,6 @@ non-nil."
((debug error)
(signal 'doom-private-error (list 'init e)))))))
(defun doom-initialize-autoloads (file)
"Tries to load FILE (an autoloads file). Return t on success, nil otherwise."
(condition-case e
(load (file-name-sans-extension file) 'noerror 'nomessage)
((debug error)
(if noninteractive
(message "Autoload file warning: %s -> %s" (car e) (error-message-string e))
(signal 'doom-autoload-error e)))))
;;
;; Module API

View file

@ -373,6 +373,15 @@ to least)."
(require 'core-projects)
(require 'core-keybinds)))
(defun doom-initialize-autoloads (file)
"Tries to load FILE (an autoloads file). Return t on success, nil otherwise."
(condition-case e
(load (file-name-sans-extension file) 'noerror 'nomessage)
((debug error)
(if noninteractive
(message "Autoload file warning: %s -> %s" (car e) (error-message-string e))
(signal 'doom-autoload-error (list (file-name-nondirectory file) e))))))
;;
;; Bootstrap Doom