Subject: Re: bug#51390: 29.0.50; repeat-mode: Fails to repeat keys in global-map(?)

From: Visuwesh <[email-masked]>
Date: Mon, 22 Nov 2021 04:44:37 +0100 (CET)

22 Nov 2021, 02:19 by [email-masked]:

>>         (defvar teest
>>           (let ((map (make-sparse-keymap)))
>>             (define-key map "n" #'next-line)
>>             (define-key map "p" #'previous-line)
>>             map))
>>
>>         (put 'next-line 'repeat-map 'teest)
>>         (put 'previous-line 'repeat-map 'teest)
>>
> >...
>
>> 4. Type C-n.  Notice that it does not trigger the repeat map.
>>
>
> I tried to implement what you asked to do, but got horrible results
> caused too much damage.  Here is the lossage explaining the problem:
>
>  C-<tab>           ;; tab-next
>  o                 ;; tab-next
>  n                 ;; gnus-group-next-unread-group
>
> i.e. I typed C-<tab> to switch to the next tab with the text buffer
> where I started to type text that begins with the letters "on..."
>
> But instead of inserting letters to the buffer, the letter "o"
> switched to the second next tab.  This tab contained the Gnus buffer
> where typing the second letter "n" called the bound command
> gnus-group-next-unread-group, and I lost all unread messages.
>
> But I never had such a problem when the repeating sequence was
> activated only by 'C-x t o ... o o ...' instead of 'C-<tab> o o o ...'
> because 'C-<tab>' is a single key, there is no need to activate
> other keys doing the same.
>
> This means that by default this behavior should be disabled.
> But maybe a new variable should allow to skip this check:
>

Hi Juri,

I am currently in the middle of exams, I will try out the patch in a couple