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

From: Thierry Volpiatto <[email-masked]>
Date: Mon, 17 Oct 2011 08:16:44 +0200

Thierry Volpiatto <[email-masked]> writes:

> Michael Albinus <[email-masked]> writes:
>
>> Thierry Volpiatto <[email-masked]> writes:
>>
>>> The problem, I guess is tramp start immediately when you enter the first
>>> ":" due to `tramp-file-name-regexp'.  This is a common problem for all
>>> incremental UI with tramp.
>>> In anything i let bound `tramp-file-name-regexp' to another value that
>>> wait you type in the second ":".
>>> I don't know for ido but due to it's nature, i guess it's the same.>
>>> See `anything-ff-set-pattern' in anything-config.el.
>>> http://repo.or.cz/w/anything-config.git
>>>
>>>   (let ((methods (mapcar 'car tramp-methods))
>>>         (reg "\\`/\\([^[/:]+\\|[^/]+]\\):.*:")
>>>         cur-method tramp-name)
>>>
>>> Where reg replace the tramp regexp.
>>
>> You disable then method / user name / host name completion. If you want
>> so, you shall make it configurable, at least.
> Actually yes, this completion is disabled, but why do you have to start 
> tramp to have such completion?
> i.e There is no need to start tramp to make a completion based on the
> content of ~/.ssh/config
>
> Maybe tramp should have other regexp(s) that (try to) complete this without
> starting tramp.
Not needed i think.

example1:

1a)prompt: /t! => complete on all hostname/method/directories starting by t
                  without starting tramp

now i choose thievol in list completion, i have now:
1b)prompt: /thievol:! => enter the ":" if thievol is member of hostname completion
                         list and not a directory and start tramp.

example2:

prompt: /s! => same as in 1a 

now i choose scpc in list completion, i have now:
prompt: /scpc: => same as in 1b and now i complete on only hostname list

now i choose thievol in list, i have now:
prompt: /scpc:thievol => i do not start tramp, waiting user enter the
                         last ":", when it's done start tramp only now.                                 

> Note that this kind of completion lead to bugs in other places in Emacs.
> e.g create an ssh hostname in ~/.ssh/config that start by "t", and in
> eshell, write /t and <tab> to complete to "/tmp"; tramp will start and 
> fail. 
I will submit a bug report for this.

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