]> git.eshelyaron.com Git - emacs.git/commitdiff
* server.el (server-start): If unable to start the server,
authorJuanma Barranquero <lekktu@gmail.com>
Tue, 16 Dec 2008 21:23:03 +0000 (21:23 +0000)
committerJuanma Barranquero <lekktu@gmail.com>
Tue, 16 Dec 2008 21:23:03 +0000 (21:23 +0000)
  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.

lisp/ChangeLog
lisp/server.el
lisp/startup.el

index 5d96307e73faea86350cdce1176dae08af389874..38514d0b0a33f286ddbefaf96eb3ad5657d2ceed 100644 (file)
@@ -1,3 +1,12 @@
+2008-12-16  Juanma Barranquero  <lekktu@gmail.com>
+
+       * 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.
+
 2008-12-15  Sam Steingold  <sds@gnu.org>
 
        * progmodes/cc-cmds.el (c-defun-name): Handle DEFFOO(name,...),
index 627805da66c72e6c4a1c869a69d36f63c38f55ba..f8c405b13058243b3a97097ae942ff9e43513cad 100644 (file)
@@ -479,14 +479,17 @@ To force-start a server, do \\[server-force-delete] and then
          ;; 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)
index f328a9145848554130a1a95b1f92e905c14e130c..2fa1a6c15cdf89402d030cf9172be02e3b678dbb 100644 (file)
@@ -694,6 +694,7 @@ opening the first frame (e.g. open a connection to an X server).")
 (declare-function tool-bar-setup "tool-bar")
 
 (defvar server-name)
+(defvar server-process)
 
 (defun command-line ()
   (setq before-init-time (current-time)
@@ -1220,7 +1221,10 @@ the `--debug-init' option to view a complete error backtrace."
     (when dn
       (when (stringp dn) (setq server-name dn))
       (server-start)
-      (daemon-initialized)))
+      (if server-process
+         (daemon-initialized)
+       (message "Unable to start daemon: Emacs server named %S already running" server-name)
+       (kill-emacs 1))))
 
   ;; Run emacs-session-restore (session management) if started by
   ;; the session manager and we have a session manager connection.