Mercurial > emacs
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))))
