Subject: bug#23092: 25.0.92; Minibuffer completion fails to resize completion window if reused during same command

From: martin rudalics <[email-masked]>
Date: Wed, 23 Mar 2016 19:53:59 +0100

>> Obviously, the second branch is based on the assumption that a user will
 >> "refine" her completions in the sense that she starts with a large
 >> number of possible completions and, by typing characters in the
 >> minibuffer, reduces the number of possible completions until she found
 >> the right one.
 >
 > This is a valid assumption and basis of design when the completion is of
 > something like a command or a function name, because then the completion
 > list is gradually narrowed.
 >
 > But in the case of completion of a file path, this assumption is not
 > valid. (And completing each directory name down a file path is a
 > perfectly normal use case.) The difference is that one is not doing a
 > single completion but several discrete completions.

I'm not sure whether we should by default change something in this case.
Juri has designed the present concept and I would rather leave it to him
how to proceed.

 > For example, I was doing a find-file to find something in my Emacs init.
 > I started with `~/.em TAB' expecting a single match of ~/.emacs.d/ but
 > instead (of course) I got the initial completions window with .emacs and
 > .emacs.d in it -- a very small completions window. Then I needed a
 > subdirectory in ~/.emacs.d/ but couldn't remember its name at all, so I
 > hit TAB again and got the entire contents of emacs.d/ which is a very
 > long list [it seems to be jammed up full of session files for some
 > reason] all displayed in a buffer sized to show one line of
 > completion candidates.

Does enabling ‘temp-buffer-resize-mode’ handle that case sufficiently
well?

 >> Apparently, the OP works in the opposite direction - he starts with
 >> few suggestions and removes characters from the minibuffer ending up
 >> with more and more suggestions.
 >
 > No, not normally. When I was trying to come up with a simple
 > reproducible recipe I wanted an example in the emacs tree, and the
 > example I was able to up with was a bit contrived. (Although I don't
 > think it's an unlikely use case.)

Let's wait for Juri to chime in.  Meanwhile please have a look at the
manual changes I proposed.  (I don't even know if the example works as
intended.)

martin