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

From: Stephen Berman <[email-masked]>
Date: Fri, 20 Jul 2018 23:46:58 +0200

On Fri, 20 Jul 2018 22:03:21 +0300 Eli Zaretskii <[email-masked]> wrote:

>> From: Stephen Berman <[email-masked]>
>> Cc: [email-masked],  [email-masked]
>> Date: Fri, 20 Jul 2018 19:30:52 +0200
>> 
>> > Try a subdirectory of your home directory.
>> 
>> Perhaps I'm misunderstanding what you're suggesting, but with the
>> following I still get the same behavior:
>> 
>> 0. emacs -Q
>> 1. M-x cd RET ~/Downloads/ RET
>> 2. C-x d /~s TAB
>> 
>> results in this minibuffer display:
>> 
>> Dired (directory): ~/Downloads//~s█[No match]
>
> The original recipe was different:
>
>   0. emacs -Q
>   1. M-x cd RET ~/Downloads/ RET
>   2. C-x d / ~ TAB s TAB

I did not give, nor have I seen, this recipe in this bug thread.  But I
see now that the recipe of my OP (which lacked the above step 1) could
be understood as consistent with the above.  There is indeed a
difference between

  Dired (directory): ~/~ TAB

or

  Dired (directory): ~/Downloads/~ TAB

on the one hand, and

  Dired (directory): ~//~ TAB

or

  Dired (directory): ~/Downloads//~ TAB

on the other.  But the bug I meant to report is about this:

  Dired (directory): ~//~s TAB

or

  Dired (directory): ~/Downloads//~s TAB

which both get '[No match]', whereas

  Dired (directory): ~//~steve TAB

or

  Dired (directory): ~/Downloads//~steve TAB

both complete, to '~//steve/' and '~/Downloads//steve/', respectively.  

One thing I just noticed: in the latter two case, when I type '/', that
changes the face on '~/' or '~/Downloads/' to shadow, and when I then
type '~', the changes the face of the just typed '/' to shadow, but when
I continue and type 's', then the face of the last '/' returns to
default (but the face of the preceding characters remains shadow), and
stays like that when I add 't', 'e', 'v'; but as soon as I add 'e'
(which make TAB complete successfully), the face of the last '/' changes
back to shadow (and '~steve' keeps default face).

Steve Berman