On Sun, Nov 27, 2022 at 08:16:23AM +0100, to...@tuxteam.de wrote:
> On Sat, Nov 26, 2022 at 11:00:07PM +0100, email.list...@gmail.com wrote:
> 
> [...]
> 
> > select(1, [0], NULL, [0], {tv_sec=0, tv_usec=500000}) = 0
>              ^
> 
> This (nearly ;-) answers my question: it is waiting for half-a-second
> on stdin, i.e. on you.
> 
> You can probably speed things up by quickly hitting TAB again (no,
> no, I'm not seriously proposing that as a "solution" to your problem,
> but I've the hunch that this is intentional: something inserting that
> delay before annoying you with early completions, in case you are
> just in the middle of typing; I'd guess this "something" considers
> TAB a possible part of the regular input and is giving you a chance
> to type on: a classical misunderstanding between software and user).

My instinct says the same.

unicorn:/var/tmp/bash/bash-5.2/lib/readline$ grep 500 *.c
bind.c:  nval = 500;
parens.c:static int _paren_blink_usec = 500000;
readline.c:int _rl_keyseq_timeout = 500;

unicorn:/var/tmp/bash/bash-5.2/lib/readline$ grep -B2 500 readline.c
/* Timeout (specified in milliseconds) when reading characters making up an
   ambiguous multiple-key sequence */
int _rl_keyseq_timeout = 500;

If you type byte(s) that could be standalone characters, or which could
be the start of a bound sequence, readline will delay a little bit to
see if there are additional bytes to follow.

Normally this wouldn't happen on a tab, because you wouldn't have a bound
sequence that begins with a tab.  So, this makes me wonder what custom
bindings the OP has got in their ~/.inputrc or similar files.  (The fact
that it only happens on the regular user account, and not on root, points
toward it being configured in the HOME directory, not system-wide.)

Reply via email to