]> granicus.if.org Git - vim/commitdiff
patch 8.1.1269: MS-Windows GUI: multibyte chars with a 0x80 byte do not work v8.1.1269
authorBram Moolenaar <Bram@vim.org>
Sat, 4 May 2019 18:00:00 +0000 (20:00 +0200)
committerBram Moolenaar <Bram@vim.org>
Sat, 4 May 2019 18:00:00 +0000 (20:00 +0200)
Problem:    MS-Windows GUI: multibyte chars with a 0x80 byte do not work when
            compiled with VIMDLL.
Solution:   Adjust the condition for fixing the input buffer. (Ken Takata,
            closes #4330)

src/getchar.c
src/version.c

index 776e4e68416366a9cb09532992e3a956748423dc..6a4c60f0676398f53b5c0fcc222694d0e262e509 100644 (file)
@@ -3095,7 +3095,7 @@ inchar(
 
 /*
  * Fix typed characters for use by vgetc() and check_termcode().
- * buf[] must have room to triple the number of bytes!
+ * "buf[]" must have room to triple the number of bytes!
  * Returns the new length.
  */
     int
@@ -3135,14 +3135,15 @@ fix_input_buffer(char_u *buf, int len)
        else
 #endif
        if (p[0] == NUL || (p[0] == K_SPECIAL
-                   /* timeout may generate K_CURSORHOLD */
+                   // timeout may generate K_CURSORHOLD
                    && (i < 2 || p[1] != KS_EXTRA || p[2] != (int)KE_CURSORHOLD)
 #if defined(MSWIN) && (!defined(FEAT_GUI) || defined(VIMDLL))
+                   // Win32 console passes modifiers
+                   && (
 # ifdef VIMDLL
-                   && !gui.in_use
+                       gui.in_use ||
 # endif
-                   /* Win32 console passes modifiers */
-                   && (i < 2 || p[1] != KS_MODIFIER)
+                       (i < 2 || p[1] != KS_MODIFIER))
 #endif
                    ))
        {
@@ -3154,7 +3155,7 @@ fix_input_buffer(char_u *buf, int len)
            len += 2;
        }
     }
-    *p = NUL;          /* add trailing NUL */
+    *p = NUL;          // add trailing NUL
     return len;
 }
 
index 98c557363e48b53d99011b139e2733681fbde29c..a32d27cf20ac3c02d960d184898eb5ca5db9a57c 100644 (file)
@@ -767,6 +767,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    1269,
 /**/
     1268,
 /**/