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

From: Juri Linkov <[email-masked]>
Date: Mon, 16 Dec 2024 19:30:03 +0200

> Thanks Juri, I took a look at your implementation.  It has at least the
> following issue: the same command cannot be used to continue several
> repeat maps.  Consider for instance the following example:
>
> (defvar-keymap repeat-list-map
>   :doc "Keymap for repeating sequences."
>   :repeat ( :continue-only (yank undo))
>   "n" 'forward-list
>   "p" 'backward-list
>   "C-/" 'undo
>   "y" 'yank)
>
> (defvar-keymap repeat-paragraph-map
>   :doc "Keymap for repeating sequences."
>   :repeat ( :continue-only (yank undo))
>   "]" 'forward-paragraph
>   "}" 'forward-paragraph
>   "[" 'backward-paragraph
>   "{" 'backward-paragraph
>   "C-/" 'undo
>   "y" 'yank)
>
> This is why I think the repeat-continue-only property should be a list
> specifying which repeat maps the command should continue.

When I tried to evaluate your repeat-maps, I see that
the 'repeat-continue-only' property is already a list:

  (symbol-plist 'undo)
  => (repeat-map repeat-paragraph-map
      repeat-continue-only (repeat-paragraph-map repeat-list-map))

Maybe the problem is that currently the 'repeat-map' property
is not a list?