mirror of
https://github.com/vim/vim.git
synced 2025-07-26 11:04:33 -04:00
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.
This commit is contained in:
parent
f60bdc3417
commit
d330e8422d
@ -3263,12 +3263,14 @@ vgetorpeek(int advance)
|
|||||||
* get a character: 3. from the user - handle <Esc> in Insert mode
|
* 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
|
* 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
|
* typing an <ESC>. If we get something after all, we may
|
||||||
* have to redisplay the mode. That the cursor is in the wrong
|
* have to redisplay the mode. That the cursor is in the wrong
|
||||||
* place does not matter.
|
* 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;
|
c = 0;
|
||||||
new_wcol = curwin->w_wcol;
|
new_wcol = curwin->w_wcol;
|
||||||
@ -3277,6 +3279,7 @@ vgetorpeek(int advance)
|
|||||||
&& typebuf.tb_len == 1
|
&& typebuf.tb_len == 1
|
||||||
&& typebuf.tb_buf[typebuf.tb_off] == ESC
|
&& typebuf.tb_buf[typebuf.tb_off] == ESC
|
||||||
&& !no_mapping
|
&& !no_mapping
|
||||||
|
&& kitty_protocol_state != KKPS_ENABLED
|
||||||
&& ex_normal_busy == 0
|
&& ex_normal_busy == 0
|
||||||
&& typebuf.tb_maplen == 0
|
&& typebuf.tb_maplen == 0
|
||||||
&& (State & MODE_INSERT)
|
&& (State & MODE_INSERT)
|
||||||
|
@ -695,6 +695,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
943,
|
||||||
/**/
|
/**/
|
||||||
942,
|
942,
|
||||||
/**/
|
/**/
|
||||||
|
Loading…
x
Reference in New Issue
Block a user