diff src/evalfunc.c @ 19730:fe8ba2f82f59 v8.2.0421

patch 8.2.0421: interrupting with CTRL-C does not always work Commit: https://github.com/vim/vim/commit/9645e2d9fc8a591f1db30383caccf71d40e0810c Author: Bram Moolenaar <Bram@vim.org> Date: Fri Mar 20 20:48:49 2020 +0100 patch 8.2.0421: interrupting with CTRL-C does not always work Problem: Interrupting with CTRL-C does not always work. Solution: Recognize CTRL-C while modifyOtherKeys is set.
author Bram Moolenaar <Bram@vim.org>
date Fri, 20 Mar 2020 21:00:05 +0100
parents ad60bc3a8087
children 810eee1b42e3
line wrap: on
line diff
--- a/src/evalfunc.c
+++ b/src/evalfunc.c
@@ -2472,7 +2472,17 @@ f_feedkeys(typval_T *argvars, typval_T *
 	    if (lowlevel)
 	    {
 #ifdef USE_INPUT_BUF
-		add_to_input_buf(keys, (int)STRLEN(keys));
+		int idx;
+		int len = (int)STRLEN(keys);
+
+		for (idx = 0; idx < len; ++idx)
+		{
+		    // if a CTRL-C was typed, set got_int, similar to what
+		    // happens in fill_input_buf()
+		    if (keys[idx] == 3 && ctrl_c_interrupts && typed)
+			got_int = TRUE;
+		    add_to_input_buf(keys + idx, 1);
+		}
 #else
 		emsg(_("E980: lowlevel input not supported"));
 #endif