diff src/ex_docmd.c @ 3680:8f98038a0bf3 v7.3.600

updated for version 7.3.600 Problem: <f-args> is not expanded properly with DBCS encoding. Solution: Skip over character instead of byte. (Yukihiro Nakadaira)
author Bram Moolenaar <bram@vim.org>
date Tue, 10 Jul 2012 19:25:10 +0200
parents e5b925ae56e3
children 169ccc471a8a
line wrap: on
line diff
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -5845,8 +5845,14 @@ uc_split_args(arg, lenp)
 	}
 	else
 	{
+#ifdef FEAT_MBYTE
+	    int charlen = (*mb_ptr2len)(p);
+	    len += charlen;
+	    p += charlen;
+#else
 	    ++len;
 	    ++p;
+#endif
 	}
     }
 
@@ -5889,7 +5895,7 @@ uc_split_args(arg, lenp)
 	}
 	else
 	{
-	    *q++ = *p++;
+	    MB_COPY_CHAR(p, q);
 	}
     }
     *q++ = '"';