mirror of
https://github.com/vim/vim.git
synced 2025-09-05 21:43:39 -04:00
patch 7.4.1488
Problem: Not using key when result from hangul_string_convert() is NULL. Solution: Fall back to not converted string.
This commit is contained in:
parent
328da0dcb7
commit
179f1b9a7d
22
src/ui.c
22
src/ui.c
@ -1686,24 +1686,24 @@ add_to_input_buf_csi(char_u *str, int len)
|
|||||||
push_raw_key(char_u *s, int len)
|
push_raw_key(char_u *s, int len)
|
||||||
{
|
{
|
||||||
char_u *tmpbuf;
|
char_u *tmpbuf;
|
||||||
|
char_u *inp = s;
|
||||||
|
|
||||||
|
/* use the conversion result if possible */
|
||||||
tmpbuf = hangul_string_convert(s, &len);
|
tmpbuf = hangul_string_convert(s, &len);
|
||||||
if (tmpbuf != NULL)
|
if (tmpbuf != NULL)
|
||||||
{
|
inp = tmpbuf;
|
||||||
s = tmpbuf;
|
|
||||||
|
|
||||||
for (; len--; s++)
|
for (; len--; inp++)
|
||||||
|
{
|
||||||
|
inbuf[inbufcount++] = *inp;
|
||||||
|
if (*inp == CSI)
|
||||||
{
|
{
|
||||||
inbuf[inbufcount++] = *s;
|
/* Turn CSI into K_CSI. */
|
||||||
if (*s == CSI)
|
inbuf[inbufcount++] = KS_EXTRA;
|
||||||
{
|
inbuf[inbufcount++] = (int)KE_CSI;
|
||||||
/* Turn CSI into K_CSI. */
|
|
||||||
inbuf[inbufcount++] = KS_EXTRA;
|
|
||||||
inbuf[inbufcount++] = (int)KE_CSI;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
vim_free(tmpbuf);
|
|
||||||
}
|
}
|
||||||
|
vim_free(tmpbuf);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -743,6 +743,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 */
|
||||||
|
/**/
|
||||||
|
1488,
|
||||||
/**/
|
/**/
|
||||||
1487,
|
1487,
|
||||||
/**/
|
/**/
|
||||||
|
Loading…
x
Reference in New Issue
Block a user