aboutsummaryrefslogtreecommitdiffstats
path: root/lisp
diff options
context:
space:
mode:
authorKaroly Lorentey2003-12-30 17:42:02 +0000
committerKaroly Lorentey2003-12-30 17:42:02 +0000
commit22de1e79e7773ca95c6a6dddcdd408f3a3b7d5b2 (patch)
treebe0d75dec626a2c90029544d450adcbc3875c2ee /lisp
parent7c3a26158711d76ee77b0bd75fa9df56db5eb57d (diff)
downloademacs-22de1e79e7773ca95c6a6dddcdd408f3a3b7d5b2.tar.gz
emacs-22de1e79e7773ca95c6a6dddcdd408f3a3b7d5b2.zip
Delete server frames on server restart.
lisp/server.el (server-start): Delete any remaining opened frames of the previous server. (server-sentinel, server-process-filter): Force deleting the frame. (server-buffer-done): Ditto. git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-25
Diffstat (limited to 'lisp')
-rw-r--r--lisp/server.el11
1 files changed, 8 insertions, 3 deletions
diff --git a/lisp/server.el b/lisp/server.el
index 401668138c4..9c841071a99 100644
--- a/lisp/server.el
+++ b/lisp/server.el
@@ -187,7 +187,7 @@ are done with it in the server.")
187 (setq server-clients (delq client server-clients)) 187 (setq server-clients (delq client server-clients))
188 (let ((frame (assq (car client) server-frames))) 188 (let ((frame (assq (car client) server-frames)))
189 (setq server-frames (delq frame server-frames)) 189 (setq server-frames (delq frame server-frames))
190 (when (frame-live-p (cadr frame)) (delete-frame (cadr frame)))) 190 (when (frame-live-p (cadr frame)) (delete-frame (cadr frame) 'force)))
191 (dolist (buf (cdr client)) 191 (dolist (buf (cdr client))
192 (with-current-buffer buf 192 (with-current-buffer buf
193 ;; Remove PROC from the clients of each buffer. 193 ;; Remove PROC from the clients of each buffer.
@@ -267,6 +267,11 @@ Prefix arg means just kill any existing server communications subprocess."
267 (while server-clients 267 (while server-clients
268 (let ((buffer (nth 1 (car server-clients)))) 268 (let ((buffer (nth 1 (car server-clients))))
269 (server-buffer-done buffer))) 269 (server-buffer-done buffer)))
270 ;; Delete any remaining opened frames of the previous server.
271 (while server-frames
272 (let ((frame (cadar server-frames)))
273 (setq server-frames (cdr server-frames))
274 (when frame-live-p frame (delete-frame frame 'force))))
270 (unless leave-dead 275 (unless leave-dead
271 (if server-process 276 (if server-process
272 (server-log (message "Restarting server"))) 277 (server-log (message "Restarting server")))
@@ -382,7 +387,7 @@ PROC is the server process. Format of STRING is \"PATH PATH PATH... \\n\"."
382 (progn 387 (progn
383 (let ((frame (assq (car client) server-frames))) 388 (let ((frame (assq (car client) server-frames)))
384 (setq server-frames (delq frame server-frames)) 389 (setq server-frames (delq frame server-frames))
385 (when (frame-live-p (cadr frame)) (delete-frame (cadr frame)))) 390 (when (frame-live-p (cadr frame)) (delete-frame (cadr frame) 'force)))
386 (delete-process proc) 391 (delete-process proc)
387 (server-log "Close empty client" proc)) 392 (server-log "Close empty client" proc))
388 ;; We visited some buffer for this client. 393 ;; We visited some buffer for this client.
@@ -471,7 +476,7 @@ FOR-KILLING if non-nil indicates that we are called from `kill-buffer'."
471 (unless (cdr client) 476 (unless (cdr client)
472 (let ((frame (assq (car client) server-frames))) 477 (let ((frame (assq (car client) server-frames)))
473 (setq server-frames (delq frame server-frames)) 478 (setq server-frames (delq frame server-frames))
474 (when (frame-live-p (cadr frame)) (delete-frame (cadr frame)))) 479 (when (frame-live-p (cadr frame)) (delete-frame (cadr frame) 'force)))
475 (delete-process (car client)) 480 (delete-process (car client))
476 (server-log "Close" (car client)) 481 (server-log "Close" (car client))
477 (setq server-clients (delq client server-clients)))) 482 (setq server-clients (delq client server-clients))))