diff options
author | Bram Moolenaar <bram@vim.org> | 2015-01-20 19:39:35 +0100 |
---|---|---|
committer | Bram Moolenaar <bram@vim.org> | 2015-01-20 19:39:35 +0100 |
commit | b9c43fcd32c3cd2c1f2bc9d970636c9ebed68e8a (patch) | |
tree | e9828d60e1ccf795943c329d3d9849eea9c83db9 | |
parent | daff96950f2fd301c64fe8a8a61b8e91793f6779 (diff) | |
download | vim-b9c43fcd32c3cd2c1f2bc9d970636c9ebed68e8a.tar.gz |
Problem: In the MS-Windows console Vim can't handle greek characters when
encoding is utf-8.
Solution: Escape K_NUL. (Yasuhiro Matsumoto)
-rw-r--r-- | src/os_win32.c | 18 | ||||
-rw-r--r-- | src/version.c | 2 |
2 files changed, 13 insertions, 7 deletions
diff --git a/src/os_win32.c b/src/os_win32.c index 93956380..ac25d745 100644 --- a/src/os_win32.c +++ b/src/os_win32.c @@ -1814,18 +1814,22 @@ mch_inchar( if (conv) { char_u *p = typeahead + typeaheadlen; - char_u *e = typeahead + TYPEAHEADLEN; - while (*p && p < e) + if (*p != K_NUL) { - if (*p == K_NUL) + char_u *e = typeahead + TYPEAHEADLEN; + + while (*p && p < e) { + if (*p == K_NUL) + { + ++p; + mch_memmove(p + 1, p, ((size_t)(e - p)) - 1); + *p = 3; + ++n; + } ++p; - mch_memmove(p + 1, p, ((size_t)(e - p)) - 1); - *p = 3; - ++n; } - ++p; } } diff --git a/src/version.c b/src/version.c index 2f08c249..4e78e7f1 100644 --- a/src/version.c +++ b/src/version.c @@ -742,6 +742,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 589, +/**/ 588, /**/ 587, |