Subject: Re: bug#50470: 27.1; 'company-mode' 'eshell'

From: Dmitry Gutov <[email-masked]>
Date: Mon, 6 Jun 2022 02:45:22 +0300

On 05.06.2022 03:53, Stefan Monnier via Bug reports for GNU Emacs, the 
Swiss army knife of text editors wrote:
>> Erm, I missed the time when you installed yours: you never wrote about
>> it here,
> 
> Indeed, I had lost track of this bug (and couldn't find your patch when
> I looked for it, probably for the same reason).
> 
>> and my "Emacs Diffs" folder still has 738 unread messages.
> 
> And you're still here chatting?
> Kids these days!

Aye-aye, cap'n!

>> My patch doesn't help with the 'cd ~/Down*' behavior, though: when I worked
>> on it, pressing C-M-i did expand it as expected, it was mostly problematic
>> with company-mode (and other similar frontends).
>>
>> But now C-M-i results in "No match" as well, with or without my patch.
> 
> Hmm... looks like my lack of understanding of this pcomplete code
> strikes again.

Debugging shows that COMPLETIONS just before the bit of code I added 
gets set to absolute file names. E.g. if I'm typing

   cd ~/Do*

COMPLETIONS is '("/home/dgutov/Documents" "/home/dgutov/Downloads"), 
which fails to match "~/Do" because we do prefix-matching by default.

I suppose whatever code does the expansion here, shouldn't 
dis-abbreviate the file name (or resolve symlinks, etc). I could find 
where that logic resides, though.

Another issue which made investigating this harder, is that eshell-mode 
(and only it) has 'C-M-i' bound to eshell-complete-lisp-symbol.