GNU bug report logs - #20538
24.4; Attempt to delete a surrogate minibuffer frame

Previous Next

Package: emacs;

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):

From: martin rudalics <rudalics <at> gmx.at>
To: Roland Winkler <winkler <at> gnu.org>
Cc: 20538 <at> debbugs.gnu.org
Subject: Re: 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




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.