diff --git a/lisp/cli/doctor.el b/lisp/cli/doctor.el index 2a90c470d..2fd367c6a 100644 --- a/lisp/cli/doctor.el +++ b/lisp/cli/doctor.el @@ -246,21 +246,23 @@ in." (doom-module-context-with (cons group name) (let ((doctor-file (doom-module-expand-path group name "doctor.el")) (packages-file (doom-module-expand-path group name doom-module-packages-file))) - (cl-loop with doom-output-indent = 6 - for name in (doom-context-with 'packages - (let* (doom-packages - doom-disabled-packages) - (load packages-file 'noerror 'nomessage) - (mapcar #'car doom-packages))) - unless (or (doom-package-get name :disable) - (eval (doom-package-get name :ignore)) - (plist-member (doom-package-get name :recipe) :local-repo) - (locate-library (symbol-name name)) - (doom-package-built-in-p name) - (doom-package-installed-p name)) - do (print! (error "Missing emacs package: %S") name)) - (let ((inhibit-message t)) - (load doctor-file 'noerror 'nomessage)))) + (when packages-file + (cl-loop with doom-output-indent = 6 + for name in (doom-context-with 'packages + (let* (doom-packages + doom-disabled-packages) + (load packages-file 'noerror 'nomessage) + (mapcar #'car doom-packages))) + unless (or (doom-package-get name :disable) + (eval (doom-package-get name :ignore)) + (plist-member (doom-package-get name :recipe) :local-repo) + (locate-library (symbol-name name)) + (doom-package-built-in-p name) + (doom-package-installed-p name)) + do (print! (error "Missing emacs package: %S") name))) + (when doctor-file + (let ((inhibit-message t)) + (load doctor-file 'noerror 'nomessage))))) (file-missing (error! "%s" (error-message-string ex))) (error (error! "Syntax error: %s" ex))) (when (or doom-doctor--errors doom-doctor--warnings)