emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] emacs/lisp server.el


From: Chong Yidong
Subject: [Emacs-diffs] emacs/lisp server.el
Date: Wed, 21 Jan 2009 20:33:18 +0000

CVSROOT:        /sources/emacs
Module name:    emacs
Changes by:     Chong Yidong <cyd>      09/01/21 20:33:18

Modified files:
        lisp           : server.el 

Log message:
        (server-start): Allow server to shut down when no frames are available
        in daemon-mode.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/emacs/lisp/server.el?cvsroot=emacs&r1=1.183&r2=1.184

Patches:
Index: server.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/server.el,v
retrieving revision 1.183
retrieving revision 1.184
diff -u -b -r1.183 -r1.184
--- server.el   11 Jan 2009 16:45:36 -0000      1.183
+++ server.el   21 Jan 2009 20:33:17 -0000      1.184
@@ -465,10 +465,16 @@
 To force-start a server, do \\[server-force-delete] and then
 \\[server-start]."
   (interactive "P")
-  (when (or
-        (not server-clients)
+  (when (or (not server-clients)
+           ;; Ask the user before deleting existing clients---except
+           ;; when we can't get user input, which may happen when
+           ;; doing emacsclient --eval "(kill-emacs)" in daemon mode.
+           (if (and (daemonp)
+                    (null (cdr (frame-list)))
+                    (eq (selected-frame) terminal-frame))
+               leave-dead
         (yes-or-no-p
-         "The current server still has clients; delete them? "))
+              "The current server still has clients; delete them? ")))
     (let* ((server-dir (if server-use-tcp server-auth-dir server-socket-dir))
           (server-file (expand-file-name server-name server-dir)))
       (when server-process
@@ -979,7 +985,7 @@
                             ;; We can't use the Emacs daemon's
                             ;; terminal frame.
                             (not (and (daemonp)
-                                      (= (length (frame-list)) 1)
+                                      (null (cdr (frame-list)))
                                       (eq (selected-frame)
                                           terminal-frame)))))
                    (setq tty-name nil tty-type nil)




reply via email to

[Prev in Thread] Current Thread [Next in Thread]