Subject: bug#74140: [PATCH] Add :continue-only directive for repeat maps in bind-keys, use-package

From: Paul Nelson <[email-masked]>
Date: Fri, 1 Nov 2024 09:58:07 +0100

On Fri, Nov 1, 2024 at 9:29 AM Paul Nelson <[email-masked]> wrote:
>
> On Fri, Nov 1, 2024 at 9:15 AM Juri Linkov <[email-masked]> wrote:
> >
> > > For a command and its key in a repeat map:
> > > - "activate" means the command makes the repeat map active
> > > - "continue" means pressing the key keeps the repeat map active
> > >
> > > With this patch, the available directives are:
> > > :continue (default) - activates and continues
> > > :exit - neither activates nor continues
> > > :continue-only (new) - continues, but does not activate
> >
> > How does this map to the properties ':enter' and ':exit' of 'defvar-keymap'?
>
> :exit has the same meaning in both.
>
> In defvar-keymap, :enter means "activate, but do not continue".

Another difference is that :enter from defvar-keymap does not actually
bind a key in the keymap, thus:

                  activate    continue     bind
:continue         yes         yes          yes
:continue-only    no          yes          yes
:exit             no          no           yes
:enter            yes         no           no

The ergonomics between the two macros are also quite different.