Mercurial > vim
changeset 16531:5c6bd4431d98 v8.1.1269
patch 8.1.1269: MS-Windows GUI: multibyte chars with a 0x80 byte do not work
commit https://github.com/vim/vim/commit/ed5ab2a95972b5ef588bdafab9f197e1dcf0c1df
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat May 4 20:00:00 2019 +0200
patch 8.1.1269: MS-Windows GUI: multibyte chars with a 0x80 byte do not work
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)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sat, 04 May 2019 20:15:04 +0200 |
parents | 9b8ed9cc40db |
children | 582612b67818 |
files | src/getchar.c src/version.c |
diffstat | 2 files changed, 9 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/src/getchar.c +++ b/src/getchar.c @@ -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; }