[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#36733: (no subject)

From: Ivan Kozlov
Subject: bug#36733: (no subject)
Date: Sat, 29 Feb 2020 12:40:15 +0300

29.02.2020, 04:30, "Ivan Kozlov" <address@hidden>:
>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.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]