changeset 6071:f59c4bf0ac3b v7.4.374

updated for version 7.4.374 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)
author Bram Moolenaar <bram@vim.org>
date Wed, 23 Jul 2014 12:31:20 +0200
parents 32a77cc160d9
children e2176bd9ed23
files src/normal.c src/version.c
diffstat 2 files changed, 7 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- 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;
--- 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,