aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarc André Tanner <mat@brain-dump.org>2017-04-21 09:13:25 +0200
committerMarc André Tanner <mat@brain-dump.org>2017-04-21 09:13:25 +0200
commit75ab2ed57732cb4f034c6a961e7561a91a8a6160 (patch)
tree37ad4b7440a905d9794f2a0934720aee14d758ff
parent04fdfe6e0720cf815d0d61189fdd36872ad816f7 (diff)
downloadvis-75ab2ed57732cb4f034c6a961e7561a91a8a6160.tar.gz
vis-75ab2ed57732cb4f034c6a961e7561a91a8a6160.tar.xz
vis: implement <C-r> in terms of gP
This simplifies the code and ensures consistent behavior.
-rw-r--r--main.c12
1 files changed, 3 insertions, 9 deletions
diff --git a/main.c b/main.c
index bbb1e3c..b59dea3 100644
--- a/main.c
+++ b/main.c
@@ -1777,17 +1777,11 @@ static const char *insert_register(Vis *vis, const char *keys, const Arg *arg) {
return NULL;
if (keys[1])
return vis_keys_next(vis, keys);
- View *view = vis_view(vis);
- Text *txt = vis_text(vis);
enum VisRegister reg = vis_register_from(vis, keys[0]);
- for (Cursor *c = view_cursors(view); c; c = view_cursors_next(c)) {
- size_t len;
- size_t slot = view_cursors_number(c);
- const char *data = vis_register_slot_get(vis, reg, slot, &len);
- size_t pos = view_cursors_pos(c);
- text_insert(txt, pos, data, len);
+ if (reg != VIS_REG_INVALID) {
+ vis_register(vis, reg);
+ vis_operator(vis, VIS_OP_PUT_BEFORE_END);
}
- vis_draw(vis);
return keys+1;
}