doctor: don't regard disabled/ignored packages
And refactor error handling.
This commit is contained in:
parent
79e155a2a8
commit
81753150a7
1 changed files with 20 additions and 17 deletions
|
@ -282,7 +282,7 @@
|
||||||
(require 'core-packages)
|
(require 'core-packages)
|
||||||
(doom-initialize-packages)
|
(doom-initialize-packages)
|
||||||
(success! "Attempt to load DOOM: success! Loaded v%s" doom-version))
|
(success! "Attempt to load DOOM: success! Loaded v%s" doom-version))
|
||||||
('error
|
(error
|
||||||
(warn! "Attempt to load DOOM: failed\n %s\n"
|
(warn! "Attempt to load DOOM: failed\n %s\n"
|
||||||
(or (cdr-safe ex) (car ex)))
|
(or (cdr-safe ex) (car ex)))
|
||||||
(setq doom-modules nil)))
|
(setq doom-modules nil)))
|
||||||
|
@ -293,22 +293,25 @@
|
||||||
(advice-add #'require :around #'doom*shut-up)
|
(advice-add #'require :around #'doom*shut-up)
|
||||||
(maphash
|
(maphash
|
||||||
(lambda (key plist)
|
(lambda (key plist)
|
||||||
|
(let ((prefix (format "%s" (color 1 "(%s %s) " (car key) (cdr key)))))
|
||||||
(condition-case ex
|
(condition-case ex
|
||||||
(let ((doctor-file (doom-module-path (car key) (cdr key) "doctor.el"))
|
(let ((doctor-file (doom-module-path (car key) (cdr key) "doctor.el"))
|
||||||
(packages-file (doom-module-path (car key) (cdr key) "packages.el"))
|
(packages-file (doom-module-path (car key) (cdr key) "packages.el"))
|
||||||
doom-packages)
|
doom-packages)
|
||||||
(when (or (file-exists-p doctor-file)
|
(when (or (file-exists-p doctor-file)
|
||||||
(file-exists-p packages-file))
|
(file-exists-p packages-file))
|
||||||
(let ((prefix (format "%s" (color 1 "(%s %s) " (car key) (cdr key))))
|
(let ((doom--stage 'packages))
|
||||||
(doom--stage 'packages))
|
|
||||||
(when (load packages-file t t)
|
(when (load packages-file t t)
|
||||||
(dolist (package (cl-remove-if #'package-installed-p doom-packages :key #'car))
|
(cl-loop for (name . plist) in doom-packages
|
||||||
(unless (package-built-in-p (car package))
|
unless (or (doom-package-prop name :disable)
|
||||||
(error! "%s is not installed" (car package)))))
|
(doom-package-prop name :ignore t)
|
||||||
|
(package-built-in-p name)
|
||||||
|
(package-installed-p name))
|
||||||
|
do (error! "%s is not installed" (car package))))
|
||||||
(let ((doom--stage 'doctor))
|
(let ((doom--stage 'doctor))
|
||||||
(load doctor-file t t)))))
|
(load doctor-file t t)))))
|
||||||
('error
|
(file-missing (error! "%s" (error-message-string ex)))
|
||||||
(error! "(%s %s) Syntax error: %s" (car key) (cdr key) ex))))
|
(error (error! "Syntax error: %s" ex)))))
|
||||||
doom-modules)))
|
doom-modules)))
|
||||||
|
|
||||||
;;
|
;;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue