summaryrefslogtreecommitdiff
path: root/lisp/server.el
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/server.el')
-rw-r--r--lisp/server.el10
1 files changed, 6 insertions, 4 deletions
diff --git a/lisp/server.el b/lisp/server.el
index cba3629b85f..bc6cb2522b0 100644
--- a/lisp/server.el
+++ b/lisp/server.el
@@ -248,6 +248,7 @@ or nil. KILLED is t if we killed BUFFER (because it was a temp file)."
(let ((running (eq (process-status server-process) 'run))
(next-buffer nil)
(killed nil)
+ (first t)
(old-clients server-clients))
(while old-clients
(let ((client (car old-clients)))
@@ -266,12 +267,13 @@ or nil. KILLED is t if we killed BUFFER (because it was a temp file)."
(if (cdr client) nil
(if running
(progn
- (send-string server-process
- (format "Close: %s Done\n" (car client)))
- (server-log (format "Close: %s Done\n" (car client)))
;; Don't send emacsserver two commands in close succession.
;; It cannot handle that.
- (sit-for 1)))
+ (or first (sit-for 1))
+ (setq first nil)
+ (send-string server-process
+ (format "Close: %s Done\n" (car client)))
+ (server-log (format "Close: %s Done\n" (car client)))))
(setq server-clients (delq client server-clients))))
(setq old-clients (cdr old-clients)))
(if (and (bufferp buffer) (buffer-name buffer))