Subject: bug#9639: 24.0.90; Problem with bury-buffer in minibuffer-hide-completions

From: "Drew Adams" <[email-masked]>
Date: Sat, 1 Oct 2011 07:38:33 -0700

> Presumably `minibuffer-hide-completions' should iconify a standalone
> completions frame

I have not been following this thread, but NO, it should *delete* a standalone
completions frame, not iconify it.

Better yet, the behavior should be customizable (delete, make invisible,
iconify, put on a different tab,...), but the _default_ behavior should simply
be to *delete* the frame.

1. The analogy to `delete-window' is `delete-frame', and that is just what the
behavior here (at least the default behavior) should be: delete the frame.

2. There is no _need_ to iconify a frame that we no longer need (!).

3. Iconifying, at least on Windows, takes longer and distracts the user,
sweeping an animation across the screen.

4. If someone binds the window-manager `iconify-frame' event to do something
slightly different then things can be even worse:
(define-key special-event-map [iconify-frame] 'foobar)

5. Iconifying puts icons (of one form or another) on the desktop.  There is no
general need for a *Completions* buffer icon.  Occam's razor.  Anyone really
needing to access buffer *Completions* to see the candidate completions from the
_last_ command can just use C-x C-b.

6. If *Completions* is always created as a standalone frame, then there is no
need to save an icon for it.  The buffer is one thing, the frame/icon is
another.  If you want the frame always created in the same position with the
same size or something (the only argument Stefan has ever given for iconifying,
AFAIK), then just _create_ it that way each time.

7. Just because Stefan's own use case prefers iconifying is _no reason_ to
hard-code iconifying as the behavior.  

That's several reasons why iconifying is a bad idea.  What's the argument _for_
iconifying?  Only this: Stefan likes it.  He likes it because it saves the frame
position and size.  That's the only reason that's ever been given, AFAIK.
Position, shape, and size of a standalone frame can be handled at its creation,
as is usual in Emacs.  There is no need to  create an icon just to save that
info here.