[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#47688: 28.0.50; repeat-mode: Make rectangle commands repeatable. Als
From: |
Juri Linkov |
Subject: |
bug#47688: 28.0.50; repeat-mode: Make rectangle commands repeatable. Also some misc. queries, comments |
Date: |
Mon, 12 Apr 2021 19:16:16 +0300 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (x86_64-pc-linux-gnu) |
> Could you please add rectangle commands to the repeatable set?
Could you please demonstrate an example of the real key sequences
where repeat-mode could help to greatly reduce the length of
such key sequences.
> This is what I have in my .emacs. It works reasonably well, except
> for the `x' (- `rectangle-exchange-point-and-mark') key below:
>
> Issue 1:
> --------
>
> In Non-repeat mode,
>
> 1. Press C-x SPC and make a rectangel.
>
> 2. Press C-x C-x 4 or more times. You will see the cursor jumping
> between the corners.
>
> With below snippet installed, in repeat-mode, repeat the above
> operations with single key strokes. I am seeing that the 3rd press of
> x gets me out of the repeat loop and inserts the char "x" in the
> buffer.
Thanks for reporting the issue, this is fixed now.
> Issue 2: A repeat map can provide a custom `:help'-er
> -----------------------------------------------------
>
> This is the message I see in the minibuffer.
>
> Repeat with c, ESC, w, r, d, k, o, b, C-b, x, C-x, f, C-f, <left>,
> SPC, <down>, C-n, N, <up>, C-p, <right>, t, y
>
> 1. `ESC' above correpsonds to `M-w' in the repeat map. The single
> character `ESC' confused me for some time. I wonder if the help
> text could be improved in this case.
I don't know if there is a function that extracts all key sequences
from the keymap.
There is describe-map-tree that prints the keybindings to the output buffer,
but what is needed is a function that just returns a list of key sequences
from the keymap.
> 2. The help text is really really big, and it clutters the echo area.
>
> It seems that .... Repeatable keys are essentially a poor-man's
> hydra,
>
> So, a repeat-map, like the rectangle one below, which has lots of
> keybindings can set a `:help' attribute on itself.
> `repeat-post-hook' can then rely on this `:help'-er to provide a
> help much similar to what the hydra package provides.
A new option is implemented now.
> Issue 3: A repeat map can take `:keep-pred' (or a `:exit-key') and other
> properties.
> ----------------------------------------------------------------------------
>
> When looked askance, `repeat-post-hook' is essentially a wrapper
> around `transient-map'.
>
> So, a `repeat-map' can take a `:keep-pred' and `:on-exit' attributes,
> in addition to a `:help' attribute.
We already tried to change the values of set-transient-map arguments,
but such arguments break repeat-map.
> This will obviate the need for the global `repeat-exit-key' i.e., the
> choice of how the map exits should itself be delegated to the repeat
> map. `
The purpose of repeat-exit-key is to avoid the need to add an exit key
to every keymap.
> Suggestion 1: Provide a macro(?) for creating repeatable commands.
> ------------------------------------------------------------------
>
> Suggestion 2:
> ------------
>
> Provide a defmacro for chained commands. I am making the suggestion
> here. I will provide details in a separate bug report.
Such convenience macros are better suitable for a separate package like hydra.
- bug#47688: 28.0.50; repeat-mode: Make rectangle commands repeatable. Also some misc. queries, comments, Ramesh Nedunchezian, 2021/04/10
- bug#47688: 28.0.50; repeat-mode: Make rectangle commands repeatable. Also some misc. queries, comments, Dmitry Gutov, 2021/04/10
- bug#47688: 28.0.50; repeat-mode: Make rectangle commands repeatable. Also some misc. queries, comments, Ramesh Nedunchezian, 2021/04/10
- bug#47688: 28.0.50; repeat-mode: Make rectangle commands repeatable. Also some misc. queries, comments,
Juri Linkov <=
- bug#47688: 28.0.50; repeat-mode: Make rectangle commands repeatable. Also some misc. queries, comments, Juri Linkov, 2021/04/14