Subject: bug#65356: 30.0.50; [wishlist] Support Tramp method, user name and host name completion in eshell

From: Michael Albinus <[email-masked]>
Date: Fri, 18 Aug 2023 19:50:16 +0200

Stefan Monnier <[email-masked]> writes:

>> --8<---------------cut here---------------start------------->8---
>> (defun pcomplete/cd ()
>>   "Completion for `cd'."
>>   (while (pcomplete-here (completion-table-in-turn
>> 			  (pcomplete-tramp)
>> 			  (pcomplete-dirs)))))
>> --8<---------------cut here---------------end--------------->8---
>
> AFIK this applies to `M-x shell` as well, so it doesn't seem
> quite right.

We might use a flag which determines, whether remote file name completion
is appropriate. In shell-mode remote file names shall be suppressed, and in
eshell-mode it should be set depending on the command. "cd" should
support remote file names, "*cd" should suppress them. Other packages
use pcomplete as well, like erc and org. Whether they need to handle
remote file names I don't know.

This flag should be checked in pcomplete-tramp, pcomplete-dirs and
whatever other pcomplete completion tables are concerned. This would fix
also the other (minor) bug I've uncovered in shell-mode in my last message.

There are already such flags, which control this kind of completion,
like pcomplete-file-ignore, pcomplete-dir-ignore, pcomplete-autolist,
you name it. What about a new boolean flag pcomplete-remote-ignore?

WDYT?

>         Stefan

Best regards, Michael.