bug-gnu-emacs
[Top][All Lists]
Advanced

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

bug#20538: 24.4; Attempt to delete a surrogate minibuffer frame


From: martin rudalics
Subject: bug#20538: 24.4; Attempt to delete a surrogate minibuffer frame
Date: Mon, 11 May 2015 12:08:39 +0200

>> It probably happens because ediff (by default) display the "control
>> panel" in a frame without minibuffer and Emacs doesn't allow to make
>> such a frame the last remaining one.
>
> Not exactly.
>
> In the meanwhile, I noticed that the bug can be reproduced as
> follows:
>
> emacs -Q foo bar
>
> M-x ediff-buffers ; to compare buffers foo and bar
>
> ; select buffer foo
>
> C-x 5 2 ; display buffer foo in a 2nd window in new frame
>
> ; in the frame displaying buffers foo and bar
>
> M-x delete-frame
>
> Error: Attempt to delete a surrogate minibuffer frame

Because the "frame displaying buffers foo and bar" is the frame that has
the minibuffer for the minibuffer-less "frame displaying the Ediff
control panel".  As I said above you are not allowed to delete the frame
with the minibuffer because that would make the minibuffer-less frame
the last remaining one.

> ; select the frame displaying the Ediff control panel
>
> M-x delete-frame
>
> Success!

That frame has no minibuffer.  Hence it cannot possibly serve as
surrogate minibuffer frame and you can delete it without any problems.

> It seems this should be the other way round: the "surrogate
> minibuffer attribute" should be given to the frame displaying the
> Ediff control panel instead of the frame displaying buffers foo and bar.

The surrogate minibuffer frame is the one whose minibuffer substitutes
the non-existing minibuffer of the control panel frame.  This is how
ediff sets things up.

martin





reply via email to

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