GNU bug report logs - #23006
25.0.92; Loading Tramp breaks pcomplete in eshell-mode

Previous Next

Package: emacs;

Reported by: Dmitry Gutov <dgutov <at> yandex.ru>

Date: Mon, 14 Mar 2016 02:02:01 UTC

Severity: normal

Found in version 25.0.92

Done: Dmitry Gutov <dgutov <at> yandex.ru>

Bug is archived. No further changes may be made.

Full log


Message #74 received at 23006 <at> debbugs.gnu.org (full text, mbox):

From: Michael Albinus <michael.albinus <at> gmx.de>
To: Stefan Monnier <monnier <at> IRO.UMontreal.CA>
Cc: 23006 <at> debbugs.gnu.org, Dmitry Gutov <dgutov <at> yandex.ru>
Subject: Re: bug#23006: 25.0.92; Loading Tramp breaks pcomplete in eshell-mode
Date: Sat, 19 Mar 2016 16:28:21 +0100
Stefan Monnier <monnier <at> IRO.UMontreal.CA> writes:

>> non-essential comes in play only when hostname completion hasn't been
>> finished.
>
> Could you expand on this?
>
> Do you mean when completing things like "/ssh:toto" ?
> In that case I agree that Tramp shouldn't open a connection, but I think
> this should be regardless of non-essential.

I'm not speaking about opening a connection. This is controlled
independent of non-essential settings.

I'm speaking about this error, that Tramp reports "/adb:" not being a
valid hostname. This does not happen if non-essential is bound to
non-nil, indicating to Tramp that the given filename is not complete yet.

> But do you also mean that completing "/ssh:host:tmp/ema" will open a new
> connection regardless of non-essential?  If so, as mentioned I think
> that would be a mistake.

I don't believe it is a mistake. The presence of a slash indicates to
Tramp, that the (Emacs) user has provided everything what's needed to
say about method, (remote) user, and hostname to Tramp. So it is safe to
open the connection. Otherwise, you would never be able to complete
local pathnames for remote hosts, if the connection hasn't been
established yet. Inconvenient.

It is my daily scenario to type

C-x C-f / / / s s h : h o s <TAB> / u s <TAB>

The leading slashes are needed because I work usually on other remote
machines in parallel. It's my typing style to start with three
consecutive slashes :-)

The first <TAB> completes to "/ssh:host:" The second <TAB> completes to
"/ssh:host:/usr". And so on.

I also perform very often "ediff" over machine boundaries. Usually, the
first filename is on the machine I'm working on, and the second filename
on another machine on a similar location. Once I have started ediff, I
want to complete the (slightliy) different pathname of the second file
while being asked from ediff for that filename. If I would need to open
a connection to the second host in advance, this workflow would be
impossible.

>> This is how Tramp behaves for years. I haven't heard complaints about
>> (except the cases non-essential isn't let-bound, like the one we're
>> discussing here).
>
> Sounds like we agree, then: this should not be affected by non-essential.

Yes, here we agree. Opening a new connection is not related to non-essential.

>         Stefan

Best regards, Michael.




This bug report was last modified 8 years and 69 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.