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

From: Visuwesh <[email-masked]>
Date: Thu, 27 Oct 2022 19:52:23 +0530

[வியாழன் அக்டோபர் 27, 2022] Juri Linkov wrote:

>>>     1. emacs -Q
>>>     2. C-x t 2
>>>     3. M-x
>>>     4. C-x t o
>>>     5. M-:
>>>     6. C-x t o
>>>
>>> what minibuffer should be displayed?  Probably the last.
>>
>> I think showing the most "recent" minibuffer should be shown.  If we go
>> by minibuffer-depth-indicate-mode, then the most "recent" minibuffer
>> would be the labelled 2.
>
> As soon as someone will point out to a function that does this,
> it could be immediately added to tab-bar.el.  What is needed is
> something to work in such situation:
>
>     1. emacs -Q
>     2. M-: (setq wc (current-window-configuration))
>     3. M-x
>     4. M-: (set-window-configuration wc)
>     5. ???
>     6. The minibuffer with its window is restored and reactivated.
>
> Maybe something like what frameset-to-register/jump-to-register does,
> that restores the minibuffer, but doesn't reactivate it.

Without putting much effort, I ended up with the following expression
after a quick C-h d for "minibuffer"

    (set-window-buffer (minibuffer-window) (get-buffer (format " *Minibuf-%d*" (minibuffer-depth))))

I am not sure how well this will work with minibuffer-only-frames and
such though.  We need to select the minibuffer when switching the tab if
the minibuffer was selected prior to the switch too, but that's a matter
of (select-window (minibuffer-window)) I think.