summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJuri Linkov <juri@linkov.net>2021-12-21 21:11:30 +0200
committerJuri Linkov <juri@linkov.net>2021-12-21 21:11:30 +0200
commit9bcb7326860ed8b234f8ffd8bceae866b968ff39 (patch)
tree2f56c825a6b08ff164f79566a80b09c59bce26ec
parentb7d31d619247d1299d8a361945dddac8659811ee (diff)
downloademacs-9bcb7326860ed8b234f8ffd8bceae866b968ff39.tar.gz
* lisp/window.el (quit-restore-window): Select previously selected window.
After deleting the dedicated window, such as a window with *Completions* buffer, select the previously selected window, like most of other 'cond' branches do in this function (bug#52491).
-rw-r--r--lisp/window.el5
1 files changed, 4 insertions, 1 deletions
diff --git a/lisp/window.el b/lisp/window.el
index d12232641e3..ce1e6098748 100644
--- a/lisp/window.el
+++ b/lisp/window.el
@@ -5167,7 +5167,10 @@ nil means to not handle the buffer in a particular way. This
(cond
;; First try to delete dedicated windows that are not side windows.
((and dedicated (not (eq dedicated 'side))
- (window--delete window 'dedicated (eq bury-or-kill 'kill))))
+ (window--delete window 'dedicated (eq bury-or-kill 'kill)))
+ ;; If the previously selected window is still alive, select it.
+ (when (window-live-p (nth 2 quit-restore))
+ (select-window (nth 2 quit-restore))))
((and (not prev-buffer)
(eq (nth 1 quit-restore) 'tab)
(eq (nth 3 quit-restore) buffer))