fix(lib): resolve relative paths in doom-load errors
And don't forward file-missing errors, as this would convolute them.
This commit is contained in:
parent
41051f4761
commit
d552dbc878
1 changed files with 12 additions and 19 deletions
|
@ -135,27 +135,20 @@ If NOERROR, don't throw an error if PATH doesn't exist."
|
||||||
(doom-log "load: %s %s" (abbreviate-file-name path) noerror)
|
(doom-log "load: %s %s" (abbreviate-file-name path) noerror)
|
||||||
(condition-case-unless-debug e
|
(condition-case-unless-debug e
|
||||||
(load path noerror 'nomessage)
|
(load path noerror 'nomessage)
|
||||||
((doom-error file-missing)
|
(doom-error
|
||||||
(signal (car e) (cdr e)))
|
(signal (car e) (cdr e)))
|
||||||
(error
|
(error
|
||||||
(unless (file-name-absolute-p path)
|
(setq path (locate-file path load-path (get-load-suffixes)))
|
||||||
(when-let (newpath (locate-file path load-path))
|
(signal (cond ((not (and path (featurep 'doom)))
|
||||||
(setq path newpath)))
|
'error)
|
||||||
(cl-destructuring-bind (err . dir)
|
((file-in-directory-p path (expand-file-name "cli" doom-core-dir))
|
||||||
(cond ((not path)
|
'doom-cli-error)
|
||||||
(cons 'error path))
|
((file-in-directory-p path doom-core-dir)
|
||||||
((not (featurep 'doom))
|
'doom-core-error)
|
||||||
(cons 'error (file-name-directory path)))
|
((file-in-directory-p path doom-user-dir)
|
||||||
((file-in-directory-p path (expand-file-name "cli" doom-core-dir))
|
'doom-user-error)
|
||||||
(cons 'doom-cli-error doom-emacs-dir))
|
('doom-module-error))
|
||||||
((file-in-directory-p path doom-core-dir)
|
(list path e)))))
|
||||||
(cons 'doom-core-error doom-emacs-dir))
|
|
||||||
((file-in-directory-p path doom-user-dir)
|
|
||||||
(cons 'doom-user-error doom-user-dir))
|
|
||||||
((cons 'doom-module-error doom-emacs-dir)))
|
|
||||||
(signal err (list (unless (equal path dir)
|
|
||||||
(file-relative-name (or path "") dir))
|
|
||||||
e))))))
|
|
||||||
|
|
||||||
(defun doom-require (feature &optional filename noerror)
|
(defun doom-require (feature &optional filename noerror)
|
||||||
"Like `require', but handles and enhances Doom errors.
|
"Like `require', but handles and enhances Doom errors.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue