diff options
author | Bram Moolenaar <bram@vim.org> | 2014-07-23 12:31:20 +0200 |
---|---|---|
committer | Bram Moolenaar <bram@vim.org> | 2014-07-23 12:31:20 +0200 |
commit | 80c0367c315fda8c8b4b54530f5d363a599061b9 (patch) | |
tree | d610eb6d49fa30c77ce3ac8f4814347d2672d36a | |
parent | 3f7e14835f3b5cf2ac00827f5bd7bad56468e0d2 (diff) | |
download | vim-80c0367c315fda8c8b4b54530f5d363a599061b9.tar.gz |
Problem: Character after "fb" command not mapped if it might be a composing
character.
Solution: Don't disable mapping when looking for a composing character.
(Jacob Niehus)
-rw-r--r-- | src/normal.c | 6 | ||||
-rw-r--r-- | src/version.c | 2 |
2 files changed, 7 insertions, 1 deletions
diff --git a/src/normal.c b/src/normal.c index e5fa1401..fc9e9448 100644 --- a/src/normal.c +++ b/src/normal.c @@ -1076,7 +1076,10 @@ getcount: #ifdef FEAT_MBYTE /* When getting a text character and the next character is a * multi-byte character, it could be a composing character. - * However, don't wait for it to arrive. */ + * However, don't wait for it to arrive. Also, do enable mapping, + * because if it's put back with vungetc() it's too late to apply + * mapping. */ + --no_mapping; while (enc_utf8 && lang && (c = vpeekc()) > 0 && (c >= 0x100 || MB_BYTE2LEN(vpeekc()) > 1)) { @@ -1091,6 +1094,7 @@ getcount: else ca.ncharC2 = c; } + ++no_mapping; #endif } --no_mapping; diff --git a/src/version.c b/src/version.c index 47d5adb5..146b124f 100644 --- a/src/version.c +++ b/src/version.c @@ -735,6 +735,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 374, +/**/ 373, /**/ 372, |