Subject: bug#23006: 25.0.92; Loading Tramp breaks pcomplete in eshell-mode

From: Michael Albinus <[email-masked]>
Date: Sat, 19 Mar 2016 09:28:10 +0100

Stefan Monnier <[email-masked]> writes:

>> non-essential is essential for Tramp only until the completion of method
>> and host is finished. As soon as the filename contains two colons, or a
>> slash, it completes. No problem with your example, therefore. You'll get 
>> "/ssh:myhost:src/emacs/" after hitting TAB, even if non-essential is
>> bound to t.
>
> If the connection was not yet established, I think it'd be risky for
> Tramp to provide the completion when non-essential is non-nil, because
> establishing a connection risks being too intrusive for a non-essential
> operation (it's probably OK to reuse an existing connection, OTOH).

When we have "/ssh:myhost:src/em" to complete, and the user indicates
she wants completion (pressing TAB or so), she expresses her wish to
open a connection to myhost. No reason to deny this.

non-essential comes in play only when hostname completion hasn't been
finished.

This is how Tramp behaves for years. I haven't heard complaints about
(except the cases non-essential isn't let-bound, like the one we're
discussing here).

Again, I still don't understand why it hurts to bind non-essential in
pcomplete.

>         Stefan

Best regards, Michael.