]> granicus.if.org Git - vim/commitdiff
patch 8.0.1371: Shift-Insert doesn't always work in MS-Windows console v8.0.1371
authorBram Moolenaar <Bram@vim.org>
Tue, 5 Dec 2017 14:14:46 +0000 (15:14 +0100)
committerBram Moolenaar <Bram@vim.org>
Tue, 5 Dec 2017 14:14:46 +0000 (15:14 +0100)
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
src/version.c

index 22a2abc8f92bb52209f91311d526fde6b26f0e55..d356c7ed6873c6de75833647e0af4f476e03a755 100644 (file)
@@ -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
index d7f22b062edde079a8827080bfe49d716c7809d4..73b71d6f8ce354270c570108fb694984f01e88fb 100644 (file)
@@ -771,6 +771,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    1371,
 /**/
     1370,
 /**/