emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Stop frames stealing eachothers' minibuffers!


From: martin rudalics
Subject: Re: Stop frames stealing eachothers' minibuffers!
Date: Fri, 27 Nov 2020 10:34:01 +0100

> Note that this patch and discussion started with the following observation 
(on Oct 13):
>
>> (i) Have two frames open displaying buffers.
>> (ii) On frame F1 do C-x b.  This leaves a minibuffer open there.
>> (iii) Move to F2.
>> (iv) Do C-x 8 RET <enter some character>.
>> F1's minibuffer is now on F2.  This is bad.

But I see the same with Emacs 27.  After moving to F2, the minibuffer of
F1 appears there.  It's just that when I now confirm the prompt to switch
to *Messages*, that buffer appears in F2 with Emacs 28 whereas with
Emacs 27 it appeared in F1 (with 'minibuffer-follows-selected-frame' at
its default t).

> It is indeed not possible to replicate the behavior of Emacs 27 and earlier.  
What we have is, for example:
>
>   | Emacs 21-27 | Emacs 28 with (setq m-f-s-f t) | Emacs 28 with (setq 
m-f-s-f nil)
> A | MB1 on F1   | MB1 on F2                      | MB1 on F1
> B | MB1+2 on F2 | MB1+2 on F2                    | MB1 on F1, MB2 on F2 [1]
>
> A: type C-x C-f on frame F1, switch to frame F2
> B: type C-x C-f on frame F1, switch to frame F2, type M-:

Right.  Needs 'enable-recursive-minibuffers' non-nil to replicate.

> [1] There is also a severe regression in this case.  Type C-x C-f on
> frame F1, switch to frame F2, type M-:.  "Find file" is still visible
> in the miniwindow on frame F1; switch to frame F1.
>
> Experiment 1: Type the name of a file and RET.  You'll get the error
> message "End of file during parsing", and MB2 on frame F2 will be
> left. MB1 is now unuseable, and impossible to leave, it will stay on
> F1 whatever you do.

'keyboard-escape-quit' gets me out.  While this should be the last
resort only, it happened to me occasionally before Alan's changes.
Yet, your scenario must be fixed.

> Experiment 2: Type C-g.  MB2 on frame F2 will be left, and "Find file"
> will stay in MB1 on frame F1.  However you cannot use it anymore, the
> keymap of MB1 is now minibuffer-inactive-mode-map.  And like in
> experiment 1, you cannot leave it.

Bad indeed.  Must be fixed too.

martin



reply via email to

[Prev in Thread] Current Thread [Next in Thread]