diff options
Diffstat (limited to 'main.c')
| -rw-r--r-- | main.c | 12 |
1 files changed, 4 insertions, 8 deletions
@@ -1619,14 +1619,10 @@ static const char *replace(Vis *vis, const char *keys, const Arg *arg) { const char *next = vis_keys_next(vis, keys); if (!next) return NULL; - size_t len = next - keys; - char key[len+1]; - memcpy(key, keys, len); - key[len] = '\0'; vis_operator(vis, VIS_OP_REPLACE); vis_motion(vis, VIS_MOVE_NOP); - vis_keys_inject(vis, next, key); - vis_keys_inject(vis, next+len, "<Escape>"); + vis_keys_push(vis, keys); + vis_keys_push(vis, "<Escape>"); return next; } @@ -1948,10 +1944,10 @@ static const char *openline(Vis *vis, const char *keys, const Arg *arg) { vis_operator(vis, VIS_OP_INSERT); if (arg->i > 0) { vis_motion(vis, VIS_MOVE_LINE_END); - vis_keys_inject(vis, keys, "<insert-newline>"); + vis_keys_push(vis, "<insert-newline>"); } else { vis_motion(vis, VIS_MOVE_LINE_BEGIN); - vis_keys_inject(vis, keys, "<insert-newline><Up>"); + vis_keys_push(vis, "<insert-newline><Up>"); } return keys; } |
