aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Rudalics2015-04-22 11:17:27 +0200
committerMartin Rudalics2015-04-22 11:17:27 +0200
commitf974317897441f638808cbcfecb2c8fd1c0281ec (patch)
tree6fedf226c96eefe19246e93a9549e8a04418e686
parent9b5d3846bb5f6dade16676c0fe9362df956ad634 (diff)
downloademacs-f974317897441f638808cbcfecb2c8fd1c0281ec.tar.gz
emacs-f974317897441f638808cbcfecb2c8fd1c0281ec.zip
In display-buffer-record-window record selected window if necessary.
* lisp/window.el (display-buffer-record-window): Store selected window if it differs from 3rd element of 'quit-restore' parameter (Bug#20353).
-rw-r--r--lisp/window.el13
1 files changed, 9 insertions, 4 deletions
diff --git a/lisp/window.el b/lisp/window.el
index 46a7dd08275..07e477d7799 100644
--- a/lisp/window.el
+++ b/lisp/window.el
@@ -5474,10 +5474,15 @@ element is BUFFER."
5474 (cond 5474 (cond
5475 ((eq type 'reuse) 5475 ((eq type 'reuse)
5476 (if (eq (window-buffer window) buffer) 5476 (if (eq (window-buffer window) buffer)
5477 ;; WINDOW shows BUFFER already. 5477 ;; WINDOW shows BUFFER already. Update WINDOW's quit-restore
5478 (when (consp (window-parameter window 'quit-restore)) 5478 ;; parameter, if any.
5479 ;; If WINDOW has a quit-restore parameter, reset its car. 5479 (let ((quit-restore (window-parameter window 'quit-restore)))
5480 (setcar (window-parameter window 'quit-restore) 'same)) 5480 (when (consp quit-restore)
5481 (setcar quit-restore 'same)
5482 ;; The selected-window might have changed in
5483 ;; between (Bug#20353).
5484 (unless (memq (selected-window) '(window (nth 2 quit-restore)))
5485 (setcar (cddr quit-restore) (selected-window)))))
5481 ;; WINDOW shows another buffer. 5486 ;; WINDOW shows another buffer.
5482 (with-current-buffer (window-buffer window) 5487 (with-current-buffer (window-buffer window)
5483 (set-window-parameter 5488 (set-window-parameter