Subject: bug#48472: [FR] A small suggestion for repeat-mode

From: Juri Linkov <[email-masked]>
Date: Tue, 18 May 2021 00:24:23 +0300

> I've just taken notice of the recently introduced `repeat-mode', in
> `repeat.el', and welcome it.
>
> I haven't yet tried it out, since I'm running on 27.2, but I understand
> what it does, and how.  I'll definitely use it when Emacs 28 comes, since
> I have some commands for which I use current `repeat.el' functionality to
> do something equivalent in my setup, and the new mode makes this much more
> convenient, so thank you (Juri) for adding it.
>
> But I write to give one small suggestion to the mode.  Namely that an
> option be added to make the transient keymap expire after a (configurable)
> timeout.  The idea is that the repeating last key press is very handy
> indeed, but if you happen to stop at a repeatable key, stop some "idle"
> time (thinking, reading, whatever) and then hit the key again, it might not
> be what was actually meant.  In other words, besides `repeat-exit-key',
> some idle time after the last repeatable key may serve as a good indicator
> for breaking the repetition chain.

Thanks for the suggestion, this is a very good idea.

> As far as I can see, this should not be particularly complicated, since
> `set-transient-map' returns an "exit function" which could be stored and
> ran on a timer, as appropriate.

An "exit function" returned by `set-transient-map' is a clever thing,
without such returned function it would be more complicated to implement.
I quickly tried it out, and it works indeed.

> And, of course, it can be optional.

A new user option could be named `repeat-exit-timeout'.