changeset 98559:1543d4143479

(command-line): Use display-warning to warn about an init file error. (command-line-1): Remove init file error delay.
author Chong Yidong <cyd@stupidchicken.com>
date Tue, 07 Oct 2008 19:47:49 +0000
parents f0a18da65f51
children 7a2a452a3e7d
files lisp/startup.el
diffstat 1 files changed, 15 insertions(+), 28 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/startup.el	Tue Oct 07 19:47:36 2008 +0000
+++ b/lisp/startup.el	Tue Oct 07 19:47:49 2008 +0000
@@ -1069,28 +1069,20 @@
 		(funcall inner)
 		(setq init-file-had-error nil))
 	    (error
-	     (let ((message-log-max nil))
-	       (with-current-buffer (get-buffer-create "*Messages*")
-		 (insert "\n\n"
-			 (format "An error has occurred while loading `%s':\n\n"
-				 user-init-file)
-			 (format "%s%s%s"
-				 (get (car error) 'error-message)
-				 (if (cdr error) ": " "")
-				 (mapconcat (lambda (s) (prin1-to-string s t)) (cdr error) ", "))
-			 "\n\n"
-			 "To ensure normal operation, you should investigate and remove the\n"
-			 "cause of the error in your initialization file.  Start Emacs with\n"
-			 "the `--debug-init' option to view a complete error backtrace.\n\n"))
-	       (message "Error in init file: %s%s%s"
-			(get (car error) 'error-message)
-			(if (cdr error) ": " "")
-			(mapconcat 'prin1-to-string (cdr error) ", "))
-	       (let ((pop-up-windows nil))
-		 (pop-to-buffer "*Messages*"))
-	       (setq init-file-had-error t)))))
+	     (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)
+	     (setq init-file-had-error t))))
 
-	(if (and deactivate-mark transient-mark-mode)
+      (if (and deactivate-mark transient-mark-mode)
 	    (with-current-buffer (window-buffer)
 	      (deactivate-mark)))
 
@@ -2051,17 +2043,12 @@
 
 (defun command-line-1 (command-line-args-left)
   (display-startup-echo-area-message)
-
-  ;; Delay 2 seconds after an init file error message
-  ;; was displayed, so user can read it.
-  (when init-file-had-error
-    (sit-for 2))
-
   (when (and pure-space-overflow
 	     (not noninteractive))
     (display-warning
      'initialization
-     "Building Emacs overflowed pure space.  (See the node Pure Storage in the Lisp manual for details.)"
+     "Building Emacs overflowed pure space.\
+  (See the node Pure Storage in the Lisp manual for details.)"
      :warning))
 
   (let ((file-count 0)