aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMatthew Malcomson <hardenedapple@gmail.com>2017-09-02 14:12:32 +0100
committerJustin M. Keyes <justinkz@gmail.com>2017-09-04 08:20:04 +0200
commit541dde36e3302314e2646415dbfd2b79a6c2a1fc (patch)
tree75217e61fe9372b84b6ac28d7d23fef3b2eb95ff /src
parentfec6ca7511fdf30cee90d077dbe2ec4040c3d8df (diff)
downloadrneovim-541dde36e3302314e2646415dbfd2b79a6c2a1fc.tar.gz
rneovim-541dde36e3302314e2646415dbfd2b79a6c2a1fc.tar.bz2
rneovim-541dde36e3302314e2646415dbfd2b79a6c2a1fc.zip
eventloop: K_EVENT should not finish operator
normal_finish_command() and normal_prepare() assume that any pending operator needs to be finished after any subsequent key. Set `finish_op = false` in nv_event() to indicate that the pending operator shouldn't be finished in normal_execute(). This is how nv_visual() indicates that 'v' or 'V' in operator-pending mode should not finish the current pending operator. fixes #5398 fixes #6166 (partially; mappings are still interrupted)
Diffstat (limited to 'src')
-rw-r--r--src/nvim/normal.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/nvim/normal.c b/src/nvim/normal.c
index 238378c474..f9017164af 100644
--- a/src/nvim/normal.c
+++ b/src/nvim/normal.c
@@ -7958,6 +7958,7 @@ static void nv_event(cmdarg_T *cap)
may_garbage_collect = false;
multiqueue_process_events(main_loop.events);
cap->retval |= CA_COMMAND_BUSY; // don't call edit() now
+ finish_op = false;
}
/// Trigger FocusGained event.