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 #236 received at 23006 <at> debbugs.gnu.org (full text, mbox):

From: Dmitry Gutov <dgutov <at> yandex.ru>
To: Stefan Monnier <monnier <at> iro.umontreal.ca>
Cc: Michael Albinus <michael.albinus <at> gmx.de>, 23006 <at> debbugs.gnu.org
Subject: Re: bug#23006: 25.0.92; Loading Tramp breaks pcomplete in eshell-mode
Date: Thu, 24 Mar 2016 15:54:05 +0200
On 03/24/2016 03:15 PM, Stefan Monnier wrote:

> That's exactly Michael's point: that Tramp can't know that the current
> operation is part of some kind of completion, just by looking at which
> Tramp functions are called.

That seems to be everybody's point.

> The question is: does Tramp need to know whether or not this
> `directory-files', or `file-directory-p' (or
> `file-name-all-completions', which may also be called in non-completion
> contexts) is called as part of a completion operation?

A general purpose function cannot know.

file-name-all-completions cannot know either, because it can be called 
outside of completion context.

A completion UI cannot know, in general, because it can be used to 
complete just about anything, and it doesn't always know what it's 
completing.

Can completion-file-name-table know?

Maybe a niche completion backend like company-files is the only kind of 
code that *can* know because it's not used for anything else, for now. 
But it's third-party code anyway.

Maybe "we're in a completion operation" is not something that's reliably 
knowable, in a loosely coupled system like Emacs.




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.