GNU bug report logs - #36733
27.0.50; Eshell taking long time to enter directory after TAB completion

Previous Next

Package: emacs;

Reported by: Jean Louis <bugs <at> gnu.support>

Date: Fri, 19 Jul 2019 21:24:02 UTC

Severity: minor

Found in version 27.0.50

Full log


View this message in rfc822 format

From: Ivan Kozlov <kanichos <at> yandex.ru>
To: "36733 <at> debbugs.gnu.org" <36733 <at> debbugs.gnu.org>
Subject: bug#36733: (no subject)
Date: Sat, 29 Feb 2020 12:40:15 +0300
29.02.2020, 04:30, "Ivan Kozlov" <kanichos <at> yandex.ru>:
>One further example: when complete-in-region-mode is active (again, _apparently_) and there is some text before the point, typing * (the asterisk character) runs some undocumented command which completes the argument if there is exactly one possible completion and doesn’t do anything otherwise, so it’s like TAB without the *Completions* buffer.
>
>So typing ls a<TAB>/* will produce ls a/b if b is the only file in a/, and ls a/ otherwise.
>
>This makes entering glob patterns (one of the most common tasks in shell) a *giant pain* with constantly hitting C-g and what not to make the completion stuff go away. I have no idea whether using * for the command was a deliberate decision, but it is really bad.
>
>Moreover, typing \ inserts \<TAB>! This one is inexplicable. It makes quoting characters a giant pain with constantly erasing the tab or cancelling the completion garbage as above.

I now realise what is actually going on here. Typing * and \ when completion-in-region-mode is active is exactly equivalent to activating this mode from a pattern ending in these characters.

In other words, a<TAB>* is equivalent to a*<TAB>, and a<TAB>\ is equivalent to a\<TAB>, which is actually supposed to allow escaping TAB.

Awful. The two cases should be treated completely differently.




This bug report was last modified 319 days ago.

Previous Next


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