Subject: bug#7583: 23.2; ido loads tramp too eagerly

From: Thierry Volpiatto <[email-masked]>
Date: Tue, 18 Oct 2011 19:01:37 +0200

Stefan Monnier <[email-masked]> writes:

>>>> /sudo: ==> tramp try to connect
>>> Again, where does Tramp try to connect in this case?
>> No where, that's the problem.
>
> I don't understand.  Please be specific:
> 1- does it try to start a Tramp session?
Yes.
> 2- do you want it to try to start a Tramp session?
No
> 3- where does it try to connect?
To e.g "/ssh:" which is an incomplete address 
and hang indefinitely.
Just like when you do C-x C-f and enter in prompt /ssh: and press RET.

> From what I understand you're saying that (1) is true, and that (2) is
> false, whereas in my experience (1) is false.
> Also I don't know what it means for Tramp to "try to connect to nowhere".
>
>>>> we expect tramp to connect only when we have:
>>>> /sudo:: and not before (i.e before entering the second ":").
>>> When I do C-x C-f /ssh: TAB Tramp does not try to connect to anything,
>>> it just shows me some hostname completion.
>> Because this implementation works for vanilla Emacs completion, but is
>> unusable elsewhere. (like try-completion)
>
> "vanilla Emacs completion" uses try-completion, so you must thinking of
> some other "elsewhere".  What is that other "elsewhere"?
External libraries like anything create completion modes that replace
most completing-read's.
So the completing-read that use all-completions are ok, but the one that
use try-completion are usable only in a Vanilla emacs environment.

>>>> But I have no problem here with my code (anything), 
>>>> it seem the problem is in ido and/or icomplete.
>>> I get the same behavior with or without icomplete-mode.  I think we need
>>> you to give us a more specific recipe.
>> So it's ok if it works, just forget it.
>
> Are you saying that the problem you reported only affects older Emacsen
> and has been fixed in the trunk?
No i say completion in Emacs is made differently so it is acceptable,
though it should not hang like described above.
(Here i display in buffer "Invalid tramp file name" and wait user enter
something correct before trying to connect with tramp to this invalid
name).

What i was suggesting is just a different implementation that would
work more safely in all case.
It's what i did in anything except for hostname completion which is not
done yet. (see precedents posts).

-- 
  Thierry
Get my Gnupg key:
gpg --keyserver pgp.mit.edu --recv-keys 59F29997