From feeb4d0901c7b16958e8f02ffcdac83b605b0b43 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Tue, 5 Dec 2017 15:14:46 +0100 Subject: 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) --- src/os_win32.c | 15 ++++++++++++--- src/version.c | 2 ++ 2 files changed, 14 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/os_win32.c b/src/os_win32.c index 22a2abc8f..d356c7ed6 100644 --- a/src/os_win32.c +++ b/src/os_win32.c @@ -1816,9 +1816,18 @@ mch_inchar( typeahead[typeaheadlen] = c; if (ch2 != NUL) { - typeahead[typeaheadlen + n] = 3; - typeahead[typeaheadlen + n + 1] = (char_u)ch2; - n += 2; + 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 + 1] = (char_u)ch2; + n += 2; + } } /* Use the ALT key to set the 8th bit of the character diff --git a/src/version.c b/src/version.c index d7f22b062..73b71d6f8 100644 --- a/src/version.c +++ b/src/version.c @@ -771,6 +771,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 1371, /**/ 1370, /**/ -- cgit v1.2.1