changeset 31219:42acbd0cb313 v9.0.0943

patch 9.0.0943: pretending to go out of Insert mode when Esc is received Commit: https://github.com/vim/vim/commit/d330e8422d1c4670a241ce8ebde4c37918538dce Author: Bram Moolenaar <Bram@vim.org> Date: Thu Nov 24 20:23:24 2022 +0000 patch 9.0.0943: pretending to go out of Insert mode when Esc is received Problem: Pretending to go out of Insert mode when Esc is received has side effects. Solution: When the kitty keyboard protocol is enabled expect Esc to always be the start of an escape sequence.
author Bram Moolenaar <Bram@vim.org>
date Thu, 24 Nov 2022 21:30:04 +0100
parents 74055e6215af
children f6ea17595824
files src/getchar.c src/version.c
diffstat 2 files changed, 7 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/getchar.c
+++ b/src/getchar.c
@@ -3263,12 +3263,14 @@ vgetorpeek(int advance)
  * get a character: 3. from the user - handle <Esc> in Insert mode
  */
 		/*
-		 * Special case: if we get an <ESC> in insert mode and there
+		 * Special case: if we get an <ESC> in Insert mode and there
 		 * are no more characters at once, we pretend to go out of
-		 * insert mode.  This prevents the one second delay after
+		 * Insert mode.  This prevents the one second delay after
 		 * typing an <ESC>.  If we get something after all, we may
 		 * have to redisplay the mode. That the cursor is in the wrong
 		 * place does not matter.
+		 * Do not do this if the kitty keyboard protocol is used, every
+		 * <ESC> is the start of an escape sequence then.
 		 */
 		c = 0;
 		new_wcol = curwin->w_wcol;
@@ -3277,6 +3279,7 @@ vgetorpeek(int advance)
 			&& typebuf.tb_len == 1
 			&& typebuf.tb_buf[typebuf.tb_off] == ESC
 			&& !no_mapping
+			&& kitty_protocol_state != KKPS_ENABLED
 			&& ex_normal_busy == 0
 			&& typebuf.tb_maplen == 0
 			&& (State & MODE_INSERT)
--- a/src/version.c
+++ b/src/version.c
@@ -696,6 +696,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    943,
+/**/
     942,
 /**/
     941,