Subject: bug#46368: Completion vs. "*" buffer names

From: Gregory Heytings <[email-masked]>
Date: Wed, 10 Feb 2021 12:16:25 +0000

>
> $ emacs -nw -Q --eval '(progn(switch-to-buffer "xbp")(switch-to-buffer "xbq")(switch-to-buffer "m"))'
> b                                     ;; self-insert-command
> TAB                                   ;; minibuffer-complete
>
> What is bugging me is that in the *completions* buffer, the x is added 
> to the front, properly. But in the minibuffer it is missing. Yes I 
> didn't type "x", but still, emacs should put it in the minibuffer for 
> me. Emacs will eventually, but it would be better sooner than later.
>

Yes, that's because "partial-completion" is a member of 
"completion-styles".  Try

$ emacs -nw -Q --eval '(progn(switch-to-buffer "xbp")(switch-to-buffer "ybq")(switch-to-buffer "m"))'
b
TAB

and you'll see that the two completion candidates are displayed in the 
*Completions* buffer, even though they have a different prefix ("x" and 
"y").

Perhaps that would be an enhancement request: when all completion 
candidates start with the same prefix, add it to the input string when 
minibuffer-complete is called.