diff options
| author | Marc André Tanner <mat@brain-dump.org> | 2015-11-02 13:32:04 +0100 |
|---|---|---|
| committer | Marc André Tanner <mat@brain-dump.org> | 2015-11-02 16:10:29 +0100 |
| commit | 3840fe853ae3d904d05b583266827786923d8f9b (patch) | |
| tree | 0ef7f599bb1dfdbfc4fb2c55f71512689bdfac65 /vis.c | |
| parent | d395687b586bb7505792e9298b069344d5578194 (diff) | |
| download | vis-3840fe853ae3d904d05b583266827786923d8f9b.tar.gz vis-3840fe853ae3d904d05b583266827786923d8f9b.tar.xz | |
vis: improve count handling for dot command
Diffstat (limited to 'vis.c')
| -rw-r--r-- | vis.c | 14 |
1 files changed, 12 insertions, 2 deletions
@@ -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); } |
