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

From: Stefan Monnier <[email-masked]>
Date: Sun, 20 Mar 2016 11:23:11 -0400

>> Can you explain *your* understanding of `non-essential', then?
>> What does this var mean, for you?
> For Tramp, it is an indication that file name completion is in
> progress.

Huh?  Why would it need such a variable for that, instead of getting
this info from the fact that you're replying to
`file-name-all-completions' (or `file-name-completion') rather than to
some other request?

And why would it be called `non-essential' instead of `in-completion'?

>> And how do you relate that to its documented meaning in its docstring?
> "... it can be used to prevent Tramp from prompting the
> user for a password

That's an example.

> when we are simply scanning a set of files in the background or
> displaying possible completions before the user even asked for it."

That's the particular justification for not prompting the user.

> If the user has typed "/ssh:host:tmp/ema", and she requests for
> completion by typing TAB, the existence of the slash in the local file
> name part is an indication that "the user even asked for it" (completion
> on "host").

The fact that she hit TAB is enough indication.  But in icomplete and
company, we request completion data even though the user hasn't hit
anything like TAB.

        Stefan