mirror of
https://github.com/neovim/neovim.git
synced 2025-09-27 13:38:34 +00:00
vim-patch:8.2.4400: MS-Windows: cannot use the mouse in the console with VIMDLL
Problem: MS-Windows: cannot use the mouse in the console with VIMDLL. Solution: use add_char2buf() instead of fix_input_buffer(). (closes vim/vim#9784, closes vim/vim#9769)646bb7247a
N/A patches for version.c: vim-patch:8.2.4392: MS-Windows with VIMDLL: Escaping CSI is wrong Problem: MS-Windows with VIMDLL: Escaping CSI is wrong. Solution: Put back #ifdef. (Ken Takata, closes vim/vim#9769)64d95cfc56
vim-patch:8.2.4394: UTF8 select mode test fails on MS-Windows Problem: UTF8 select mode test fails on MS-Windows. Solution: Revert the #ifdef change.9fdde7992a
This commit is contained in:
@@ -1004,20 +1004,9 @@ int ins_char_typebuf(int c, int modifier)
|
|||||||
buf[len + 2] = (char_u)K_THIRD(c);
|
buf[len + 2] = (char_u)K_THIRD(c);
|
||||||
buf[len + 3] = NUL;
|
buf[len + 3] = NUL;
|
||||||
} else {
|
} else {
|
||||||
char_u *p = buf + len;
|
char_u *end = add_char2buf(c, buf + len);
|
||||||
int char_len = utf_char2bytes(c, p);
|
*end = NUL;
|
||||||
len += char_len;
|
len = (int)(end - buf);
|
||||||
// If the character contains K_SPECIAL bytes they need escaping.
|
|
||||||
for (int i = char_len; --i >= 0; p++) {
|
|
||||||
if ((uint8_t)(*p) == K_SPECIAL) {
|
|
||||||
memmove(p + 3, p + 1, (size_t)i);
|
|
||||||
*p++ = K_SPECIAL;
|
|
||||||
*p++ = KS_SPECIAL;
|
|
||||||
*p = KE_FILLER;
|
|
||||||
len += 2;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
*p = NUL;
|
|
||||||
}
|
}
|
||||||
(void)ins_typebuf(buf, KeyNoremap, 0, !KeyTyped, cmd_silent);
|
(void)ins_typebuf(buf, KeyNoremap, 0, !KeyTyped, cmd_silent);
|
||||||
return len;
|
return len;
|
||||||
|
Reference in New Issue
Block a user