Subject: bug#32215: 27.0.50; Minibuffer completion fails with /~<partial-name>

From: Stephen Berman <[email-masked]>
Date: Fri, 20 Jul 2018 10:31:06 +0200

On Thu, 19 Jul 2018 21:02:11 -0400 Noam Postavsky <[email-masked]> wrote:

> Stephen Berman <[email-masked]> writes:
>
>> On Thu, 19 Jul 2018 21:19:36 +0300 Eli Zaretskii <[email-masked]> wrote:
>>
>>>> From: Stephen Berman <[email-masked]>
>>>> Date: Thu, 19 Jul 2018 19:55:18 +0200
>>>> 
>>>> 0. emacs -Q
>>>> 1. C-x d / ~ TAB
>>>>    This pops up a *Completions* buffer showing directory names of all
>>>>    members of (system-users), e.g. steve/
>>>> 2. Continuing from step 1, when I type any of 's TAB', 'st TAB', 'ste
>>>>    TAB' or 'stev TAB', Emacs responds with [No match], but 'steve TAB'
>>>>    completes to steve/
>>>> 
>>>> The failure only happens with '/~<partial-name>', typing e.g. '~/Downl
>>>> TAB' here completes to ~/Downloads/
>>>
>>> Doesn't happen here, FWIW.  Strange.
>>
>> Strange indeed, assuming you tested on GNU/Linux or another POSIX
>> system, since IIUC on MS-Windows system-users returns only
>> user-real-login-name (at least it does here on Emacs 25.3 under Windows
>> 8).  I also tested on another GNU/Linux system I have with Emacs 24.3
>> and see exactly the same behavior I described above.
>
> I see it on both Windows and GNU/Linux.  

Like Eli, I'm surprised you see it on Windows.

>                                          I notice that the after typing
> the first letter of the user name, the leading "/" is no longer in
> shadow face, 

Yes, I didn't notice that when I tested before but I do now.

>              i.e., Emacs is looking for a directory starting with "~"
> under the root directory.

I suppose so, though it's still surprising that it only completes to
/~steve/ when typing /~steve, not /~stev.  Note that (at least here)
'/home/stev TAB' also completes to /home/steve/.

Steve Berman