* lisp/tab-bar.el: Don't use 'minibuffer-selected-window' (bug#62427).

(tab-bar-select-tab, tab-bar-new-tab-to):
Use 'window-minibuffer-p' instead of 'minibuffer-selected-window'.
And switch to 'get-mru-window' instead of 'minibuffer-selected-window'.
This commit is contained in:
Juri Linkov 2023-05-19 21:14:16 +03:00
parent 8e61d23f71
commit 42a28ffdc2

View file

@ -1319,8 +1319,8 @@ Negative TAB-NUMBER counts tabs from the end of the tab bar."
(ws
;; `window-state-put' fails when called in the minibuffer
(when (minibuffer-selected-window)
(select-window (minibuffer-selected-window)))
(when (window-minibuffer-p)
(select-window (get-mru-window)))
(window-state-put ws nil 'safe)))
;; Select the minibuffer when it was active before switching tabs
@ -1331,8 +1331,8 @@ Negative TAB-NUMBER counts tabs from the end of the tab bar."
;; another tab, then after going back to the first tab, it has
;; such inconsistent state that the current buffer is the minibuffer,
;; but its window is not active. So try to undo this mess.
(when (and (minibufferp) (not (active-minibuffer-window)))
(other-window 1))
(when (and (window-minibuffer-p) (not (active-minibuffer-window)))
(select-window (get-mru-window)))
(when tab-bar-history-mode
(setq tab-bar-history-omit t))
@ -1550,8 +1550,8 @@ After the tab is created, the hooks in
(when tab-bar-new-tab-choice
;; Handle the case when it's called in the active minibuffer.
(when (minibuffer-selected-window)
(select-window (minibuffer-selected-window)))
(when (window-minibuffer-p)
(select-window (get-mru-window)))
(let ((ignore-window-parameters t)
(window--sides-inhibit-check t))
(if (eq tab-bar-new-tab-choice 'clone)