diff options
| author | Marc André Tanner <mat@brain-dump.org> | 2016-04-30 16:45:49 +0200 |
|---|---|---|
| committer | Marc André Tanner <mat@brain-dump.org> | 2016-05-01 12:37:19 +0200 |
| commit | 1724f24a0c8795e461f7acf8ca94ecae145da96b (patch) | |
| tree | f62e953270886eba21800ba6a9349096142763c3 /main.c | |
| parent | c8d1e2296688a77d7b0024cc572164dae694cd87 (diff) | |
| download | vis-1724f24a0c8795e461f7acf8ca94ecae145da96b.tar.gz vis-1724f24a0c8795e461f7acf8ca94ecae145da96b.tar.xz | |
vis: cleanup input handling, improve macro replay
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; } |
