0
0
mirror of https://github.com/vim/vim.git synced 2025-09-24 03:44:06 -04:00

patch 8.0.1371: Shift-Insert doesn't always work in MS-Windows console

Problem:    Shift-Insert doesn't always work in MS-Windows console.
Solution:   Handle K_NUL differently if the second character is more than one
            byte. (Yasuhiro Matsumoto, closes #2381)
This commit is contained in:
Bram Moolenaar
2017-12-05 15:14:46 +01:00
parent 1eca6f13d6
commit feeb4d0901
2 changed files with 14 additions and 3 deletions

View File

@@ -1815,11 +1815,20 @@ mch_inchar(
#endif #endif
typeahead[typeaheadlen] = c; typeahead[typeaheadlen] = c;
if (ch2 != NUL) if (ch2 != NUL)
{
if (c == K_NUL && (ch2 & 0xff00) != 0)
{
/* fAnsiKey with modifier keys */
typeahead[typeaheadlen + n] = (char_u)ch2;
n++;
}
else
{ {
typeahead[typeaheadlen + n] = 3; typeahead[typeaheadlen + n] = 3;
typeahead[typeaheadlen + n + 1] = (char_u)ch2; typeahead[typeaheadlen + n + 1] = (char_u)ch2;
n += 2; n += 2;
} }
}
/* Use the ALT key to set the 8th bit of the character /* Use the ALT key to set the 8th bit of the character
* when it's one byte, the 8th bit isn't set yet and not * when it's one byte, the 8th bit isn't set yet and not

View File

@@ -771,6 +771,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 */
/**/
1371,
/**/ /**/
1370, 1370,
/**/ /**/