* lisp/startup.el (command-line): Append displaying the warning about

the errors in the init file to the end of `after-init-hook'.

Fixes: debbugs:17927
This commit is contained in:
Juri Linkov 2014-07-08 12:17:09 +03:00
parent 6dc311adc3
commit 7acd41f38f
2 changed files with 22 additions and 9 deletions

View file

@ -1,3 +1,9 @@
2014-07-08 Juri Linkov <juri@jurta.org>
* startup.el (command-line): Append displaying the warning about
the errors in the init file to the end of `after-init-hook'.
(Bug#17927)
2014-07-08 Juri Linkov <juri@jurta.org>
* faces.el (face-name): Return input arg `face' as is

View file

@ -1183,18 +1183,25 @@ please check its value")
(funcall inner)
(setq init-file-had-error nil))
(error
(display-warning
'initialization
(format "An error occurred while loading `%s':\n\n%s%s%s\n\n\
;; Postpone displaying the warning until all hooks
;; in `after-init-hook' like `desktop-read' will finalize
;; possible changes in the window configuration.
(add-hook
'after-init-hook
(lambda ()
(display-warning
'initialization
(format "An error occurred while loading `%s':\n\n%s%s%s\n\n\
To ensure normal operation, you should investigate and remove the
cause of the error in your initialization file. Start Emacs with
the `--debug-init' option to view a complete error backtrace."
user-init-file
(get (car error) 'error-message)
(if (cdr error) ": " "")
(mapconcat (lambda (s) (prin1-to-string s t))
(cdr error) ", "))
:warning)
user-init-file
(get (car error) 'error-message)
(if (cdr error) ": " "")
(mapconcat (lambda (s) (prin1-to-string s t))
(cdr error) ", "))
:warning))
t)
(setq init-file-had-error t))))
(if (and deactivate-mark transient-mark-mode)