[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] /srv/bzr/emacs/trunk r107181: In server-unselect-display d
From: |
martin rudalics |
Subject: |
[Emacs-diffs] /srv/bzr/emacs/trunk r107181: In server-unselect-display don't inadvertently kill current buffer. (Bug#10729) |
Date: |
Wed, 08 Feb 2012 09:02:17 +0100 |
User-agent: |
Bazaar (2.3.1) |
------------------------------------------------------------
revno: 107181
committer: martin rudalics <address@hidden>
branch nick: trunk
timestamp: Wed 2012-02-08 09:02:17 +0100
message:
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)
modified:
lisp/ChangeLog
lisp/server.el
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog 2012-02-08 07:54:09 +0000
+++ b/lisp/ChangeLog 2012-02-08 08:02:17 +0000
@@ -1,3 +1,8 @@
+2012-02-08 Martin Rudalics <address@hidden>
+
+ * server.el (server-unselect-display): Don't inadvertently kill
+ the current buffer. (Bug#10729)
+
2012-02-08 Glenn Morris <address@hidden>
* progmodes/sql.el (sql-port, sql-connection-alist, sql-list-all)
=== modified file 'lisp/server.el'
--- a/lisp/server.el 2012-02-02 07:48:39 +0000
+++ b/lisp/server.el 2012-02-08 08:02:17 +0000
@@ -399,16 +399,18 @@
;; visible. If not (which can happen if the user's customizations call
;; pop-to-buffer etc.), delete it to avoid preserving the connection after
;; the last real frame is deleted.
- (if (and (eq (frame-first-window frame)
- (next-window (frame-first-window frame) 'nomini))
- (eq (window-buffer (frame-first-window frame))
- (frame-parameter frame 'server-dummy-buffer)))
- ;; The temp frame still only shows one buffer, and that is the
- ;; internal temp buffer.
- (delete-frame frame)
- (set-frame-parameter frame 'visibility t))
- (kill-buffer (frame-parameter frame 'server-dummy-buffer))
- (set-frame-parameter frame 'server-dummy-buffer nil)))
+
+ ;; Rewritten to avoid inadvertently killing the current buffer after
+ ;; `delete-frame' removed FRAME (Bug#10729).
+ (let ((buffer (frame-parameter frame 'server-dummy-buffer)))
+ (if (and (one-window-p 'nomini frame)
+ (eq (window-buffer (frame-first-window frame)) buffer))
+ ;; The temp frame still only shows one buffer, and that is the
+ ;; internal temp buffer.
+ (delete-frame frame)
+ (set-frame-parameter frame 'visibility t)
+ (set-frame-parameter frame 'server-dummy-buffer nil))
+ (kill-buffer buffer))))
(defun server-handle-delete-frame (frame)
"Delete the client connection when the emacsclient frame is deleted.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] /srv/bzr/emacs/trunk r107181: In server-unselect-display don't inadvertently kill current buffer. (Bug#10729),
martin rudalics <=