diff options
| author | Martin Rudalics | 2012-02-08 09:02:17 +0100 |
|---|---|---|
| committer | Martin Rudalics | 2012-02-08 09:02:17 +0100 |
| commit | ffb6157eccc8e08ae5c5ea3bb81136ad5bad4d29 (patch) | |
| tree | b96f911022aff2b30a778acfa9c5127ae63756bd /lisp | |
| parent | e74e58c91f18d5657c3a9df67ab3861eaec9d2d0 (diff) | |
| download | emacs-ffb6157eccc8e08ae5c5ea3bb81136ad5bad4d29.tar.gz emacs-ffb6157eccc8e08ae5c5ea3bb81136ad5bad4d29.zip | |
In server-unselect-display don't inadvertently kill current buffer. (Bug#10729)
* server.el (server-unselect-display): Don't inadvertently kill
the current buffer. (Bug#10729)
Diffstat (limited to 'lisp')
| -rw-r--r-- | lisp/ChangeLog | 5 | ||||
| -rw-r--r-- | lisp/server.el | 22 |
2 files changed, 17 insertions, 10 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 9cda0d38acb..06f55e23e24 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,3 +1,8 @@ | |||
| 1 | 2012-02-08 Martin Rudalics <rudalics@gmx.at> | ||
| 2 | |||
| 3 | * server.el (server-unselect-display): Don't inadvertently kill | ||
| 4 | the current buffer. (Bug#10729) | ||
| 5 | |||
| 1 | 2012-02-08 Glenn Morris <rgm@gnu.org> | 6 | 2012-02-08 Glenn Morris <rgm@gnu.org> |
| 2 | 7 | ||
| 3 | * progmodes/sql.el (sql-port, sql-connection-alist, sql-list-all) | 8 | * progmodes/sql.el (sql-port, sql-connection-alist, sql-list-all) |
diff --git a/lisp/server.el b/lisp/server.el index a08f971e88c..79858e6d83e 100644 --- a/lisp/server.el +++ b/lisp/server.el | |||
| @@ -399,16 +399,18 @@ If CLIENT is non-nil, add a description of it to the logged message." | |||
| 399 | ;; visible. If not (which can happen if the user's customizations call | 399 | ;; visible. If not (which can happen if the user's customizations call |
| 400 | ;; pop-to-buffer etc.), delete it to avoid preserving the connection after | 400 | ;; pop-to-buffer etc.), delete it to avoid preserving the connection after |
| 401 | ;; the last real frame is deleted. | 401 | ;; the last real frame is deleted. |
| 402 | (if (and (eq (frame-first-window frame) | 402 | |
| 403 | (next-window (frame-first-window frame) 'nomini)) | 403 | ;; Rewritten to avoid inadvertently killing the current buffer after |
| 404 | (eq (window-buffer (frame-first-window frame)) | 404 | ;; `delete-frame' removed FRAME (Bug#10729). |
| 405 | (frame-parameter frame 'server-dummy-buffer))) | 405 | (let ((buffer (frame-parameter frame 'server-dummy-buffer))) |
| 406 | ;; The temp frame still only shows one buffer, and that is the | 406 | (if (and (one-window-p 'nomini frame) |
| 407 | ;; internal temp buffer. | 407 | (eq (window-buffer (frame-first-window frame)) buffer)) |
| 408 | (delete-frame frame) | 408 | ;; The temp frame still only shows one buffer, and that is the |
| 409 | (set-frame-parameter frame 'visibility t)) | 409 | ;; internal temp buffer. |
| 410 | (kill-buffer (frame-parameter frame 'server-dummy-buffer)) | 410 | (delete-frame frame) |
| 411 | (set-frame-parameter frame 'server-dummy-buffer nil))) | 411 | (set-frame-parameter frame 'visibility t) |
| 412 | (set-frame-parameter frame 'server-dummy-buffer nil)) | ||
| 413 | (kill-buffer buffer)))) | ||
| 412 | 414 | ||
| 413 | (defun server-handle-delete-frame (frame) | 415 | (defun server-handle-delete-frame (frame) |
| 414 | "Delete the client connection when the emacsclient frame is deleted. | 416 | "Delete the client connection when the emacsclient frame is deleted. |