Fix 'doom run' #1724

This commit is contained in:
Henrik Lissner 2019-08-28 20:13:45 -04:00
parent f90cf1f974
commit 081f09aac8
No known key found for this signature in database
GPG key ID: 5F6C0EA160557395

View file

@ -81,40 +81,42 @@
(error "%s does not exist" user-emacs-directory))
;; Bootstrap Doom
(load (expand-file-name "core/core.el" user-emacs-directory)
nil 'nomessage)
(if (not noninteractive)
(progn
(load (expand-file-name "init.el" user-emacs-directory)
nil 'nomessage)
(doom-run-all-startup-hooks-h))
(load (expand-file-name "core/core.el" user-emacs-directory)
nil 'nomessage)
(doom-initialize 'force-p)
(doom-initialize-modules)
(doom-initialize 'force-p)
(doom-initialize-modules)
(cond ((not noninteractive)
(doom-run-all-startup-hooks-h))
((and (not (cdr args))
(member (car args) '("help" "h")))
(usage))
((not args)
(print! (error "No command detected.\n"))
(usage))
((require 'core-cli)
(let ((default-directory user-emacs-directory))
(setq argv nil)
(condition-case e
(doom-dispatch (car args) (cdr args))
(user-error
(print! (error "%s\n") (error-message-string e))
(print! (yellow "See 'doom help %s' for documentation on this command.") (car args)))
((debug error)
(message "--------------------------------------------------\n")
(message "There was an unexpected error:")
(message " %s (%s)" (get (car e) 'error-message) (car e))
(dolist (item (cdr e))
(message " %s" item))
(unless debug-on-error
(message
(concat "\nRun the command again with the -d (or --debug) option to enable debug\n"
"mode and, hopefully, generate a stack trace. If you decide to file a bug\n"
"report, please include it!\n\n"
"Emacs outputs to standard error, so you'll need to redirect stderr to\n"
"stdout to pipe this to a file or clipboard!\n\n"
" e.g. doom -d install 2>&1 | clipboard-program"))
(signal 'doom-error e))))))))
(cond ((and (not (cdr args))
(member (car args) '("help" "h")))
(usage))
((not args)
(print! (error "No command detected.\n"))
(usage))
((require 'core-cli)
(let ((default-directory user-emacs-directory))
(setq argv nil)
(condition-case e
(doom-dispatch (car args) (cdr args))
(user-error
(print! (error "%s\n") (error-message-string e))
(print! (yellow "See 'doom help %s' for documentation on this command.") (car args)))
((debug error)
(message "--------------------------------------------------\n")
(message "There was an unexpected error:")
(message " %s (%s)" (get (car e) 'error-message) (car e))
(dolist (item (cdr e))
(message " %s" item))
(unless debug-on-error
(message
(concat "\nRun the command again with the -d (or --debug) option to enable debug\n"
"mode and, hopefully, generate a stack trace. If you decide to file a bug\n"
"report, please include it!\n\n"
"Emacs outputs to standard error, so you'll need to redirect stderr to\n"
"stdout to pipe this to a file or clipboard!\n\n"
" e.g. doom -d install 2>&1 | clipboard-program"))
(signal 'doom-error e)))))))))