From: Stefan Monnier <monnier@IRO.UMontreal.CA>
To: Michael Albinus <michael.albinus@gmx.de>
Cc: 23006@debbugs.gnu.org, Dmitry Gutov <dgutov@yandex.ru>
Subject: bug#23006: 25.0.92; Loading Tramp breaks pcomplete in eshell-mode
Date: Sun, 20 Mar 2016 18:17:47 -0400 [thread overview]
Message-ID: <jwvfuvkyfim.fsf-monnier+emacsbugs@gnu.org> (raw)
In-Reply-To: <87zitsubm0.fsf@gmx.de> (Michael Albinus's message of "Sun, 20 Mar 2016 21:40:23 +0100")
>> But in that backtrace, it's OK for Tramp to open a new connection, since
>> the user hit TAB.
> Tramp does not know that the user hit TAB. It checks for `non-essential'.
Exactly: pcomplete tells Tramp that it's OK to prompt for a password by
*not* setting non-essential. That's how Tramp can know.
>>>> And why would it be called `non-essential' instead of `in-completion'?
>>> I wanted to introduce `completion-only'.
>> The crucial distinction to be made is not between "performing
>> completion" and "not performing completion", but between "any normal
>> operation, including completion in response to TAB" and "side-operations
>> like on-the-fly completion à la icomplete or company or background data
>> collection (like semantic might perform)".
> I don't understand. Tramp does not know where it has been called
> from. It operates stateless. `non-essential' provides some context,
> that's all.
That's right. What I'm pointing out is that the context that Tramp
needs is not "are we performing some kind of completion", but "are we
allowed to prompt the user for a password" (admittedly, `non-essential'
is not limited to "passwords" but more generally means that we should
stay discrete. E.g. it also means we shouldn't block Emacs for too
long).
> I do not care desktop.el just now, it is the case we were discussing 6
> years ago. As of today, there is no other use case for `non-essential'
> in the codebase but the Tramp case.
Admittedly, the fact that the two sides (let-binder and var-reader)
don't agree on what that variable means, reduces its
usefulness significantly.
In my view, Tramp should never prompt the user for a password (nor
signal an error, tho emitting some warning message might be OK in some
cases) when non-essential is non-nil.
BTW, to clarify:
- Someone reported a bug about company's interaction with Tramp
(presumably via pcomplete). I suspect this should be fixed by having
company bind non-essential and IIUC Dmitry did just that (don't know
if it does/did fix the problem).
- As part of that company bug, this bug#23006 was filed, which has
nothing to do with non-essential since it's about a user interaction
which is "essential". I've pointed out a few issues that have to do
with the interaction between file-name-all-completions and
file-name-directory which might lead to fixing this bug, but AFAIK
this part of the discussion has not been followed yet.
Could we get back to the interaction between file-name-all-completions
and file-name-directory?
Stefan
next prev parent reply other threads:[~2016-03-20 22:17 UTC|newest]
Thread overview: 82+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-03-14 2:01 bug#23006: 25.0.92; Loading Tramp breaks pcomplete in eshell-mode Dmitry Gutov
2016-03-14 2:22 ` Stefan Monnier
2016-03-14 7:34 ` Michael Albinus
2016-03-15 3:31 ` Stefan Monnier
2016-03-15 8:43 ` Michael Albinus
2016-03-15 11:09 ` Dmitry Gutov
2016-03-17 0:42 ` Stefan Monnier
2016-03-17 19:43 ` Michael Albinus
2016-03-17 19:44 ` Dmitry Gutov
2016-03-17 19:54 ` Michael Albinus
2016-03-17 22:55 ` Dmitry Gutov
2016-03-18 8:27 ` Michael Albinus
2016-03-18 16:13 ` Stefan Monnier
2016-03-18 17:01 ` Michael Albinus
2016-03-18 17:53 ` Stefan Monnier
2016-03-18 20:21 ` Michael Albinus
2016-03-18 22:41 ` Stefan Monnier
2016-03-19 8:28 ` Michael Albinus
2016-03-19 12:35 ` Stefan Monnier
2016-03-19 15:28 ` Michael Albinus
2016-03-19 20:04 ` Stefan Monnier
2016-03-20 15:08 ` Michael Albinus
2016-03-20 15:23 ` Stefan Monnier
2016-03-20 15:46 ` Michael Albinus
2016-03-20 16:10 ` Stefan Monnier
2016-03-20 20:40 ` Michael Albinus
2016-03-20 22:17 ` Stefan Monnier [this message]
2016-03-20 22:28 ` Dmitry Gutov
2016-03-21 15:57 ` Michael Albinus
2016-03-20 15:38 ` Drew Adams
2016-03-20 15:54 ` Michael Albinus
2016-03-20 15:59 ` Dmitry Gutov
2016-03-20 20:31 ` Michael Albinus
2016-03-20 20:44 ` Dmitry Gutov
2016-03-20 20:53 ` Michael Albinus
2016-03-20 21:05 ` Dmitry Gutov
2016-03-20 22:19 ` Stefan Monnier
2016-03-21 15:49 ` Michael Albinus
2016-03-21 19:26 ` Stefan Monnier
2016-03-22 9:27 ` Michael Albinus
2016-03-22 12:02 ` Stefan Monnier
2016-03-22 12:05 ` Michael Albinus
2016-03-22 13:19 ` Stefan Monnier
2016-03-21 15:46 ` Michael Albinus
2016-03-21 15:49 ` Dmitry Gutov
2016-03-21 16:03 ` Michael Albinus
2016-03-21 16:13 ` Dmitry Gutov
2016-03-21 16:25 ` Michael Albinus
2016-03-21 16:45 ` Dmitry Gutov
2016-03-21 16:55 ` Michael Albinus
2016-03-21 18:10 ` Dmitry Gutov
2016-03-21 18:36 ` Michael Albinus
2016-03-21 21:26 ` Dmitry Gutov
2016-03-22 9:47 ` Michael Albinus
2016-03-22 12:05 ` Stefan Monnier
2016-03-22 12:20 ` Michael Albinus
2016-03-22 13:37 ` Stefan Monnier
2016-03-22 13:50 ` Michael Albinus
2016-03-22 14:01 ` Stefan Monnier
2016-03-24 1:00 ` Dmitry Gutov
2016-03-21 19:23 ` Stefan Monnier
2016-03-22 9:25 ` Michael Albinus
2016-03-22 12:02 ` Stefan Monnier
2016-03-22 12:08 ` Michael Albinus
2016-03-22 13:18 ` Stefan Monnier
2016-03-22 13:35 ` Michael Albinus
2016-03-22 13:38 ` Stefan Monnier
2016-03-22 13:50 ` Michael Albinus
2016-03-24 0:54 ` Dmitry Gutov
2016-03-24 13:15 ` Stefan Monnier
2016-03-24 13:54 ` Dmitry Gutov
2016-03-24 15:56 ` Stefan Monnier
2016-03-20 16:38 ` Drew Adams
2016-03-20 19:48 ` Drew Adams
2016-03-20 20:42 ` Michael Albinus
2016-03-18 22:51 ` Dmitry Gutov
2016-03-17 0:50 ` Stefan Monnier
2016-03-17 19:49 ` Michael Albinus
2016-03-18 16:06 ` Stefan Monnier
2017-03-09 18:52 ` Michael Albinus
2017-03-15 12:42 ` Michael Albinus
2017-03-17 11:30 ` Dmitry Gutov
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=jwvfuvkyfim.fsf-monnier+emacsbugs@gnu.org \
--to=monnier@iro.umontreal.ca \
--cc=23006@debbugs.gnu.org \
--cc=dgutov@yandex.ru \
--cc=michael.albinus@gmx.de \
/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.