changeset 12990:ec86ba548446 v8.0.1371

patch 8.0.1371: Shift-Insert doesn't always work in MS-Windows console commit https://github.com/vim/vim/commit/feeb4d0901c7b16958e8f02ffcdac83b605b0b43 Author: Bram Moolenaar <Bram@vim.org> Date: Tue Dec 5 15:14:46 2017 +0100 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)
author Christian Brabandt <cb@256bit.org>
date Tue, 05 Dec 2017 15:15:05 +0100
parents 0f88d30758ce
children 0d7aa7f7b0aa
files src/os_win32.c src/version.c
diffstat 2 files changed, 14 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- 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
--- a/src/version.c
+++ b/src/version.c
@@ -772,6 +772,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1371,
+/**/
     1370,
 /**/
     1369,