GNU bug report logs -
#50470
27.1; 'company-mode' 'eshell'
Previous Next
Reported by: Christophe <ch.bollard <at> laposte.net>
Date: Wed, 8 Sep 2021 06:25:02 UTC
Severity: normal
Found in version 27.1
Done: Dmitry Gutov <dgutov <at> yandex.ru>
Bug is archived. No further changes may be made.
Full log
Message #104 received at 50470 <at> debbugs.gnu.org (full text, mbox):
>> Ok, here we are.
>>> - (when (memq (char-after) eshell-glob-chars-list)
>>> + (when (and (not (bound-and-true-p eshell-parse-for-completion-p))
>>
>> Can we (cheaply) arrange so that the var is always defined at this
>> point (same for the other uses further down in the patch)?
>> Maybe by moving the `defvar` elsewhere (e.g. next to
>> `eshell-parse-argument-hook`)?
>
> It's a bit ugly, but I'm trying to follow the conventions in Eshell: since
> completion is an optional extension module for Eshell, other modules jump
> through hoops like this to allow the module to be not-loaded.
I definitely don't want to force preloading that module.
But maybe that var could have a meaning that's independent
from completion, thus justifying to move it out of the completion
extension module?
E.g. something like "keep parsing free of side effects"? This would also
have the benefit of clarifying the actual meaning of this var: defining
a var based on who uses it or how it's used is always a source of
trouble.
> Another way to do this (arguably more Eshell-y) would be:
>
> (when (and (eshell-using-module 'eshell-cmpl)
> eshell-parsing-for-completion)
`boundp` is definitely much better.
Stefan
This bug report was last modified 2 years and 54 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.