GNU bug report logs -
#20538
24.4; Attempt to delete a surrogate minibuffer frame
Previous Next
Reported by: "Roland Winkler" <winkler <at> gnu.org>
Date: Sat, 9 May 2015 19:36:03 UTC
Severity: minor
Found in version 24.4
Done: martin rudalics <rudalics <at> gmx.at>
Bug is archived. No further changes may be made.
Full log
Message #23 received at 20538 <at> debbugs.gnu.org (full text, mbox):
>> 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
This bug report was last modified 10 years and 9 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.