diff lisp/server.el @ 100453:40eb1f585dc7

* server.el (server-start): If unable to start the server, display a warning instead of raising an error. * startup.el (server-process): Add defvar. (command-line): If the daemon is unable to start the server, display a message and exit Emacs.
author Juanma Barranquero <lekktu@gmail.com>
date Tue, 16 Dec 2008 21:23:03 +0000
parents 4647905e3ad9
children c2a05360a02f
line wrap: on
line diff
--- a/lisp/server.el	Tue Dec 16 13:32:31 2008 +0000
+++ b/lisp/server.el	Tue Dec 16 21:23:03 2008 +0000
@@ -479,14 +479,17 @@
 	  ;; Remove any leftover socket or authentication file
 	  (ignore-errors (delete-file server-file))
 	(setq server-mode nil) ;; already set by the minor mode code
-	(error "Server %S is already running" server-name))
+	(display-warning 'server
+			 (format "Emacs server named %S already running" server-name)
+			 :warning)
+	(setq leave-dead t))
       ;; If this Emacs already had a server, clear out associated status.
       (while server-clients
 	(server-delete-client (car server-clients)))
       ;; Now any previous server is properly stopped.
       (if leave-dead
 	  (progn
-	    (server-log (message "Server stopped"))
+	    (unless (eq t leave-dead) (server-log (message "Server stopped")))
 	    (setq server-process nil))
 	;; Make sure there is a safe directory in which to place the socket.
 	(server-ensure-safe-dir server-dir)