Mercurial > vim
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