GNU bug report logs - #79151
31.0.50; eshell does not complete filename arguments with tramp

Previous Next

Package: emacs;

Reported by: Daniel Mendler <mail <at> daniel-mendler.de>

Date: Sat, 2 Aug 2025 11:00:02 UTC

Severity: normal

Found in version 31.0.50

Full log


Message #11 received at 79151 <at> debbugs.gnu.org (full text, mbox):

From: Daniel Mendler <mail <at> daniel-mendler.de>
To: Jim Porter <jporterbugs <at> gmail.com>
Cc: 79151 <at> debbugs.gnu.org, Michael Albinus <michael.albinus <at> gmx.de>
Subject: Re: bug#79151: 31.0.50; eshell does not complete filename arguments
 with tramp
Date: Sat, 02 Aug 2025 21:15:46 +0200
Jim Porter <jporterbugs <at> gmail.com> writes:

> CCing Michael, since I don't know much about the interaction between Pcomplete
> and Tramp here.

Thanks.

The problem was introduced by commit 26ca3e84e167f975afb4e9e9a838935bfe4a19a7.
I don't understand the reasoning given in the comment:

    ;; Determine, whether remote file names shall be completed.  They
    ;; shouldn't for external commands, or when in a pipe.  Respect
    ;; also `eshell-cmpl-remote-file-ignore', which could be set by
    ;; the user.

I often want to complete file names in when I am executing a command in
a remote directory, also for external commands, and maybe also as part
of a pipe.

> On 8/2/2025 3:59 AM, Daniel Mendler via Bug reports for GNU Emacs, the Swiss
> army knife of text editors wrote:
>> After an unknown command there is a discrepancy how file names are
>> completed depending on if the current directory is local or remote.
>> In Eshell I enter some command unknown to Pcomplete and then I try to
>> complete a filename:
>> ~/local $ mycommand fileprefix<TAB> --> Completion works
>> /ssh:user <at> host:~/ $ mycommand fileprefix<TAB> --> Completion does not work
>> /su::/ $ mycommand fileprefix<TAB> --> Completion does not work
>> I can fix the problem with the following advice which disables the
>> `pcomplete-remote-file-ignore' override:
>> (advice-add 'eshell-complete-parse-arguments
>>   :after (lambda () (kill-local-variable 'pcomplete-remote-file-ignore)))
>> Is this expected or is this a bug? What is the reasoning behind
>> disabling file name completion? I would like to always have the ability
>> to complete file names.




This bug report was last modified 2 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.