aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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