diff options
| author | Marc André Tanner <mat@brain-dump.org> | 2017-07-11 23:19:22 +0200 |
|---|---|---|
| committer | Marc André Tanner <mat@brain-dump.org> | 2017-07-11 23:19:22 +0200 |
| commit | 8d2de4beaf79ab2273e2121d3209dd6825efabe6 (patch) | |
| tree | f09c152140c44a7f6a4c8de42779c2c910b52e7e | |
| parent | 3ca61b3354c02e7f961e3cd6808a94fd9b740586 (diff) | |
| download | vis-8d2de4beaf79ab2273e2121d3209dd6825efabe6.tar.gz vis-8d2de4beaf79ab2273e2121d3209dd6825efabe6.tar.xz | |
Revert "vis: process aliased key sequences individually"
This reverts commit 54ca598fcccff8844bfbe494cd3b325b2fea487f.
The key handling functions are called too often. This for example
causes problems for `r` (replace char) in combination with :langmap.
| -rw-r--r-- | vis.c | 14 |
1 files changed, 2 insertions, 12 deletions
@@ -1159,22 +1159,12 @@ static void vis_keys_process(Vis *vis, size_t pos) { strcpy(vis->key_prev, vis->key_current); strncpy(vis->key_current, start, len); vis->key_current[len] = '\0'; - char *params_end = binding_end; - while (params_end) { - tmp = *params_end; - *params_end = '\0'; - end = (char*)binding->action->func(vis, binding_end, &binding->action->arg); - *params_end = tmp; - if (end) { - start = cur = end; - break; - } - params_end = (char*)vis_keys_next(vis, params_end); - } + end = (char*)binding->action->func(vis, binding_end, &binding->action->arg); if (!end) { end = start; break; } + start = cur = end; } else if (binding->alias) { buffer_remove(buf, start - buf->data, binding_end - start); buffer_insert0(buf, start - buf->data, binding->alias); |
