diff options
| author | Karoly Lorentey | 2003-12-30 17:42:02 +0000 |
|---|---|---|
| committer | Karoly Lorentey | 2003-12-30 17:42:02 +0000 |
| commit | 22de1e79e7773ca95c6a6dddcdd408f3a3b7d5b2 (patch) | |
| tree | be0d75dec626a2c90029544d450adcbc3875c2ee /lisp | |
| parent | 7c3a26158711d76ee77b0bd75fa9df56db5eb57d (diff) | |
| download | emacs-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.el | 11 |
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)))) |