Subject: bug#58728: 29.0.50; Minibuffer does not follow tabs

From: Juri Linkov <[email-masked]>
Date: Fri, 28 Oct 2022 10:20:12 +0300

> OTOH, window-state handles it correctly, because it just doesn't mess
> with minibuffers:

Actually, it's possible not to mess with minibiffers
with window-configurations as well:

    1. emacs -Q
    2. M-: (setq wc (current-window-configuration))
    3. C-x C-f
    4. M-x
    5. M-: (set-window-configuration wc nil 'DONT-SET-MINIWINDOW)
    6. C-g

Please try such a patch:

diff --git a/lisp/tab-bar.el b/lisp/tab-bar.el
index da1edf3084e..31009e8a7ec 100644
--- a/lisp/tab-bar.el
+++ b/lisp/tab-bar.el
@@ -1136,7 +1144,7 @@ tab-bar-select-tab
                 (wc-history-back (alist-get 'wc-history-back to-tab))
                 (wc-history-forward (alist-get 'wc-history-forward to-tab)))
 
-            (set-window-configuration wc)
+            (set-window-configuration wc nil 'DONT-SET-MINIWINDOW)
 
             ;; set-window-configuration does not restore the value of
             ;; point in the current buffer, so restore it separately.
@@ -1900,7 +1908,7 @@ tab-bar-history-back
                    (cons tab-bar-history-old
                          (gethash (selected-frame) tab-bar-history-forward))
                    tab-bar-history-forward)
-          (set-window-configuration wc)
+          (set-window-configuration wc nil 'DONT-SET-MINIWINDOW)
           (when (and (markerp wc-point) (marker-buffer wc-point))
             (goto-char wc-point)))
       (message "No more tab back history"))))
@@ -1919,7 +1927,7 @@ tab-bar-history-forward
                    (cons tab-bar-history-old
                          (gethash (selected-frame) tab-bar-history-back))
                    tab-bar-history-back)
-          (set-window-configuration wc)
+          (set-window-configuration wc nil 'DONT-SET-MINIWINDOW)
           (when (and (markerp wc-point) (marker-buffer wc-point))
             (goto-char wc-point)))
       (message "No more tab forward history"))))