emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Emacs-diffs] master 37b88d7: Fix bug#23006


From: Michael Albinus
Subject: Re: [Emacs-diffs] master 37b88d7: Fix bug#23006
Date: Fri, 10 Mar 2017 11:32:18 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/26.0.50 (gnu/linux)

Stefan Monnier <address@hidden> writes:

>> The only meaning of `non-essential' is to give Tramp a hint that we're
>> in completion.
>
> No, the meaning of it is: we're running code which is not essential
> (basically, running in something equivalent to a background thread).
>
> It's been introduced mainly for Tramp, so that Tramp can decide whether
> it should try to open a new connection or not (e.g., it should open
> a new connection when the user does `C-x C-f /ssh:foo:bar TAB' but it
> shouldn't open a new connection when the user does
> `M-x icomplete-mode RET C-x C-f /ssh:foo:bar').

It is not only the password case. It is also the ambiguity of the remote
file name syntax, where "/abc:" could be already a hostname, or just a
method. Tramp must know whether it is in completion, and behave accordingly.
File name handlers are bound to the syntax of a file name; no semantics
included.

I hate this ambiguity since ever (I've entered Tramp maintenace in
2002). But we are much too late to change the syntax.

> The binding you added gets rid of this distinction, and indeed, now if
> I do `C-x C-f /ssh:foo:bar TAB' I don't get any completion any more.

A single "/" helps. Try `C-x C-f /ssh:foo:./bar TAB' for example.

>         Stefan

Best regards, Michael.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]