Subject: bug#57905: [PATCH] Fix eshell directory and executable completion on action t

From: Jim Porter <[email-masked]>
Date: Sun, 18 Sep 2022 17:31:01 -0700

On 9/18/2022 3:41 AM, Lars Ingebrigtsen wrote:
> Daniel Pettersson <[email-masked]> writes:
> 
>> This issue is not present with one completion as further down the call
>> stack `completion-file-name-table' is called with action t, which concates
>> completion string directory with completion candidate.
>>
>> Possible solution:
> 
> Hm...  I'm not that familiar with how this works in eshell myself;
> perhaps Jim has some comments -- added to the CCs.

With the caveats that I don't know much about pcomplete (maybe someone 
who does would have something interesting to say about this patch?) and 
that I haven't built Emacs with the patch, I think the logic here makes 
sense.

Some regression tests would be nice though. I've been trying to add 
tests as I go through various parts of Eshell, but I haven't looked much 
at the "interactive" bits like em-cmpl.el yet. 'eshell-test/forward-arg' 
in test/lisp/eshell/eshell-tests.el might make for an ok basis to adapt 
into some completion tests (which could probably then go into 
.../em-cmpl-tests.el).

That said, I wouldn't object to merging this without regression tests; 
it doesn't seem fair to me to expect patch authors to write tests when 
the component they're patching doesn't have tests in the first place. :)