diff lisp/server.el @ 82985:8d7be2534cbc

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
author Karoly Lorentey <lorentey@elte.hu>
date Tue, 30 Dec 2003 17:42:02 +0000
parents 56e4b7166995
children 1682917e56b4
line wrap: on
line diff
--- a/lisp/server.el	Tue Dec 30 17:05:05 2003 +0000
+++ b/lisp/server.el	Tue Dec 30 17:42:02 2003 +0000
@@ -187,7 +187,7 @@
       (setq server-clients (delq client server-clients))
       (let ((frame (assq (car client) server-frames)))
 	(setq server-frames (delq frame server-frames))
-	(when (frame-live-p (cadr frame)) (delete-frame (cadr frame))))
+	(when (frame-live-p (cadr frame)) (delete-frame (cadr frame) 'force)))
       (dolist (buf (cdr client))
 	(with-current-buffer buf
 	  ;; Remove PROC from the clients of each buffer.
@@ -267,6 +267,11 @@
   (while server-clients
     (let ((buffer (nth 1 (car server-clients))))
       (server-buffer-done buffer)))
+  ;; Delete any remaining opened frames of the previous server.
+  (while server-frames
+    (let ((frame (cadar server-frames)))
+      (setq server-frames (cdr server-frames))
+      (when frame-live-p frame (delete-frame frame 'force))))
   (unless leave-dead
     (if server-process
 	(server-log (message "Restarting server")))
@@ -382,7 +387,7 @@
 	  (progn
 	    (let ((frame (assq (car client) server-frames)))
 	      (setq server-frames (delq frame server-frames))
-	      (when (frame-live-p (cadr frame)) (delete-frame (cadr frame))))
+	      (when (frame-live-p (cadr frame)) (delete-frame (cadr frame) 'force)))
 	    (delete-process proc)
 	    (server-log "Close empty client" proc))
 	;; We visited some buffer for this client.
@@ -471,7 +476,7 @@
 	(unless (cdr client)
 	  (let ((frame (assq (car client) server-frames)))
 	    (setq server-frames (delq frame server-frames))
-	    (when (frame-live-p (cadr frame)) (delete-frame (cadr frame))))
+	    (when (frame-live-p (cadr frame)) (delete-frame (cadr frame) 'force)))
 	  (delete-process (car client))
 	  (server-log "Close" (car client))
 	  (setq server-clients (delq client server-clients))))