aboutsummaryrefslogtreecommitdiff
path: root/vis-operators.c
diff options
context:
space:
mode:
authorMarc André Tanner <mat@brain-dump.org>2016-08-23 16:38:43 +0200
committerMarc André Tanner <mat@brain-dump.org>2016-08-24 11:10:00 +0200
commit9091346d44f5b1e6f61249feede28846d22351f0 (patch)
treed61d9b774a805d1a651482f47a16d8d5d1d9940b /vis-operators.c
parente2d51321f7284d11d9344e22117db31372fbe7a0 (diff)
downloadvis-9091346d44f5b1e6f61249feede28846d22351f0.tar.gz
vis-9091346d44f5b1e6f61249feede28846d22351f0.tar.xz
vis: improve dot (repeat) command implmentation
Do not override implicit operator macro in command mode. Fix #334
Diffstat (limited to 'vis-operators.c')
-rw-r--r--vis-operators.c7
1 files changed, 1 insertions, 6 deletions
diff --git a/vis-operators.c b/vis-operators.c
index efc0dff..3954920 100644
--- a/vis-operators.c
+++ b/vis-operators.c
@@ -18,7 +18,6 @@ static size_t op_delete(Vis *vis, Text *txt, OperatorContext *c) {
static size_t op_change(Vis *vis, Text *txt, OperatorContext *c) {
op_delete(vis, txt, c);
- macro_operator_record(vis);
return c->range.start;
}
@@ -213,18 +212,14 @@ static size_t op_join(Vis *vis, Text *txt, OperatorContext *c) {
}
static size_t op_insert(Vis *vis, Text *txt, OperatorContext *c) {
- macro_operator_record(vis);
return c->newpos != EPOS ? c->newpos : c->pos;
}
static size_t op_replace(Vis *vis, Text *txt, OperatorContext *c) {
- macro_operator_record(vis);
return c->newpos != EPOS ? c->newpos : c->pos;
}
static size_t op_filter(Vis *vis, Text *txt, OperatorContext *c) {
- if (!c->arg->s)
- macro_operator_record(vis);
return text_size(txt) + 1; /* do not change cursor position, would destroy selection */
}
@@ -266,7 +261,7 @@ bool vis_operator(Vis *vis, enum VisOperator id, ...) {
const Operator *op = &vis_operators[id];
if (vis->mode->visual) {
vis->action.op = op;
- action_do(vis, &vis->action);
+ vis_do(vis);
goto out;
}