all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Stefan Monnier <monnier@iro.umontreal.ca>
To: Michael Albinus <michael.albinus@gmx.de>
Cc: 9793@debbugs.gnu.org, Thierry Volpiatto <thierry.volpiatto@gmail.com>
Subject: bug#9793: 24.0.90; Unwanted tramp connection on eshell completion.
Date: Tue, 25 Oct 2011 08:16:31 -0400	[thread overview]
Message-ID: <jwvr521z30o.fsf-monnier+emacs@gnu.org> (raw)
In-Reply-To: <87fwihgxqa.fsf@gmx.de> (Michael Albinus's message of "Tue, 25 Oct 2011 12:41:01 +0200")

> Tramp has some code to guess whether it is in completion mode.

Yuck!

> Check of `non-essential' is one proof,

Actually, no.  non-essential could be used for other things than completion.

> checking the last keyboard input (being TAB, or not) is another one.

Yuck!

> If Tramp finds out that it is in completion mode, it suppresses some
> remote actions, like expand-file-name. Since your code 
> (let ((default-directory "/")) (file-directory-p "tequila:"))
> does not show an evidence of the completion mode, all remote actions are
> performed.

OK, so now I know why the two behaved differently.

> The actions for `file-directory-p' are never been suppressed, that's why
> Tramp performs them also when being in completion mode.

Good.

>> In shell-mode completion also understands Tramp file names (yup, that's
>> a bug, we should probably default comint-file-name-prefix to "/:/"), so
>> that's not the problem.
> Better not. There are still needed checks in shell.el, which are applied
> to remote files. `comint-file-name-prefix keeps the remote part of those
> files.

I do not propose to remove the variable.  Only to make it default to
"/:/" (instead of just "").

>>> But this makes the trouble with the completion predicate
>>> `file-directory-p'.
>> Yup, I think we should somehow make it so Tramp can say
>> (file-directory-p "/tequila:") => t
>> without trying to connect to tequila (after all, even if we can't
>> connect to tequila, this is still a "directory", just one we currently
>> can't access).
> That was the intention of my patch :-)
> Return t in case of remote files.

But that's not what I suggest.  I suggest to "blindly" return t for
/<host>: only (as well as things like /ssh:<host>: I guess), but not for
/<host>:<path> where we'd still connect and test whether it's indeed
a directory.

> Inside Tramp it could be behave such a way when it detects it is in
> completion mode. That means, when `non-essential' is set to t. Shall I
> do it this way?

I suggest to do that regardless of whether we're in completion mode
or not.


        Stefan





  reply	other threads:[~2011-10-25 12:16 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-10-19  4:53 bug#9793: 24.0.90; Unwanted tramp connection on eshell completion Thierry Volpiatto
2011-10-20  2:31 ` Stefan Monnier
2011-10-20 18:46   ` Thierry Volpiatto
2011-10-20 20:43     ` Stefan Monnier
2011-10-20 21:17       ` Thierry Volpiatto
2011-10-22  9:39       ` Michael Albinus
2011-10-22 10:39         ` Thierry Volpiatto
2011-10-23 17:47         ` Stefan Monnier
2011-10-24 12:25           ` Michael Albinus
2011-10-24 14:20             ` Stefan Monnier
2011-10-25 10:41               ` Michael Albinus
2011-10-25 12:16                 ` Stefan Monnier [this message]
2011-10-25 12:56                   ` Michael Albinus

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=jwvr521z30o.fsf-monnier+emacs@gnu.org \
    --to=monnier@iro.umontreal.ca \
    --cc=9793@debbugs.gnu.org \
    --cc=michael.albinus@gmx.de \
    --cc=thierry.volpiatto@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.