vis

a vi-like editor based on Plan 9's structural regular expressions

git clone https://9o.is/git/vis.git

commit 8f4af48322f3a56ec0abc2a9605b4699fec9763f
parent e72b03a975fd2d6835a026aa15d0282b9539cf54
Author: Marc André Tanner <mat@brain-dump.org>
Date:   Mon,  2 Nov 2015 13:32:04 +0100

vis: improve count handling for dot command

Diffstat:
Mvis.c | 14++++++++++++--
1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/vis.c b/vis.c @@ -3114,8 +3114,18 @@ void vis_repeat(Vis *vis) { if (count) vis->action_prev.count = count; action_do(vis, &vis->action_prev); - if (macro) - macro_replay(vis, macro); + if (macro) { + Mode *mode = vis->mode; + Action action_prev = vis->action_prev; + count = action_prev.count; + if (count < 1 || action_prev.op == &ops[OP_CHANGE]) + count = 1; + for (int i = 0; i < count; i++) { + mode_set(vis, mode); + macro_replay(vis, macro); + } + vis->action_prev = action_prev; + } action_reset(vis, &vis->action); }