From a6661178aa5dc2f1687131685423cb72f28e141a Mon Sep 17 00:00:00 2001 From: Jan Edmund Lazo Date: Sat, 3 Nov 2018 07:04:33 -0400 Subject: vim-patch:8.1.0504: when CTRL-C is mapped it triggers InsertLeave (#9192) Problem: When CTRL-C is mapped it triggers InsertLeave. Solution: Make CTRL-C behave the same way when typed or used in a mapping. https://github.com/vim/vim/commit/4dbc2627641a6b950c30c31cbf7b7e6c36da1927 --- src/nvim/edit.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src/nvim/edit.c') diff --git a/src/nvim/edit.c b/src/nvim/edit.c index 7a0487bb64..d20660bfb9 100644 --- a/src/nvim/edit.c +++ b/src/nvim/edit.c @@ -468,7 +468,10 @@ static void insert_enter(InsertState *s) } foldUpdateAfterInsert(); - if (s->cmdchar != 'r' && s->cmdchar != 'v') { + // When CTRL-C was typed got_int will be set, with the result + // that the autocommands won't be executed. When mapped got_int + // is not set, but let's keep the behavior the same. + if (s->cmdchar != 'r' && s->cmdchar != 'v' && s->c != Ctrl_C) { ins_apply_autocmds(EVENT_INSERTLEAVE); } did_cursorhold = false; -- cgit