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

From: Michael Albinus <[email-masked]>
Date: Fri, 18 Mar 2016 21:21:46 +0100

Stefan Monnier <[email-masked]> writes:

>> However, before we start with such radical changes, why do you oppose
>> to use non-essential in pcomplete? According to my tests, this solves
>> the problem.
>
> non-essential means that what we're doing is a skippable/secondary (aka
> non-essential) side-effect of the main operation.  When the user hits
> TAB, performing completion is not a skippable side-effect of some other
> main operation.  It *is* the main operation.
>
> When the user types "cd /ssh:myhost:src/ema TAB" she *wants* Tramp to
> prompt her for a password to then give her the valid completions.

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.

>         Stefan

Best regards, Michael.