mirror of
https://github.com/vim/vim.git
synced 2025-09-25 03:54:15 -04:00
patch 8.2.3892: when modifyOtherKeys is used CTRL-C is not recognized
Problem: When modifyOtherKeys is used CTRL-C is not recognized. Solution: Check for uppercase C as well, fix minimum length.
This commit is contained in:
15
src/ui.c
15
src/ui.c
@@ -1028,22 +1028,27 @@ fill_input_buf(int exit_on_error UNUSED)
|
|||||||
len + unconverted, INBUFLEN - inbufcount,
|
len + unconverted, INBUFLEN - inbufcount,
|
||||||
rest == NULL ? &rest : NULL, &restlen);
|
rest == NULL ? &rest : NULL, &restlen);
|
||||||
}
|
}
|
||||||
while (len-- > 0)
|
while (len > 0)
|
||||||
{
|
{
|
||||||
// If a CTRL-C was typed, remove it from the buffer and set
|
// If a CTRL-C was typed, remove it from the buffer and set
|
||||||
// got_int. Also recognize CTRL-C with modifyOtherKeys set, in two
|
// got_int. Also recognize CTRL-C with modifyOtherKeys set, lower
|
||||||
// forms.
|
// and upper case, in two forms.
|
||||||
if (ctrl_c_interrupts && (inbuf[inbufcount] == 3
|
if (ctrl_c_interrupts && (inbuf[inbufcount] == 3
|
||||||
|| (len >= 10 && STRNCMP(inbuf + inbufcount,
|
|| (len >= 10 && STRNCMP(inbuf + inbufcount,
|
||||||
"\033[27;5;99~", 10) == 0)
|
"\033[27;5;99~", 10) == 0)
|
||||||
|
|| (len >= 10 && STRNCMP(inbuf + inbufcount,
|
||||||
|
"\033[27;5;67~", 10) == 0)
|
||||||
|| (len >= 7 && STRNCMP(inbuf + inbufcount,
|
|| (len >= 7 && STRNCMP(inbuf + inbufcount,
|
||||||
"\033[99;5u", 7) == 0)))
|
"\033[99;5u", 7) == 0)
|
||||||
|
|| (len >= 7 && STRNCMP(inbuf + inbufcount,
|
||||||
|
"\033[67;5u", 7) == 0)))
|
||||||
{
|
{
|
||||||
// remove everything typed before the CTRL-C
|
// remove everything typed before the CTRL-C
|
||||||
mch_memmove(inbuf, inbuf + inbufcount, (size_t)(len + 1));
|
mch_memmove(inbuf, inbuf + inbufcount, (size_t)(len));
|
||||||
inbufcount = 0;
|
inbufcount = 0;
|
||||||
got_int = TRUE;
|
got_int = TRUE;
|
||||||
}
|
}
|
||||||
|
--len;
|
||||||
++inbufcount;
|
++inbufcount;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -749,6 +749,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 */
|
||||||
|
/**/
|
||||||
|
3892,
|
||||||
/**/
|
/**/
|
||||||
3891,
|
3891,
|
||||||
/**/
|
/**/
|
||||||
|
Reference in New Issue
Block a user