diff --git a/7.3.419 b/7.3.419 new file mode 100644 index 0000000..865a47c --- /dev/null +++ b/7.3.419 @@ -0,0 +1,85 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.3.419 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.3.419 +Problem: DBCS encoding in a user command does not always work. +Solution: Skip over DBCS characters. (Yasuhiro Matsumoto) +Files: src/ex_docmd.c + + +*** ../vim-7.3.418/src/ex_docmd.c 2011-12-14 14:49:41.000000000 +0100 +--- src/ex_docmd.c 2012-01-26 20:04:01.000000000 +0100 +*************** +*** 5967,5973 **** + result = STRLEN(eap->arg) + 2; + for (p = eap->arg; *p; ++p) + { +! if (*p == '\\' || *p == '"') + ++result; + } + +--- 5967,5980 ---- + result = STRLEN(eap->arg) + 2; + for (p = eap->arg; *p; ++p) + { +! #ifdef FEAT_MBYTE +! if (enc_dbcs != 0 && (*mb_ptr2len)(p) == 2) +! /* DBCS can contain \ in a trail byte, skip the +! * double-byte character. */ +! ++p; +! else +! #endif +! if (*p == '\\' || *p == '"') + ++result; + } + +*************** +*** 5976,5982 **** + *buf++ = '"'; + for (p = eap->arg; *p; ++p) + { +! if (*p == '\\' || *p == '"') + *buf++ = '\\'; + *buf++ = *p; + } +--- 5983,5996 ---- + *buf++ = '"'; + for (p = eap->arg; *p; ++p) + { +! #ifdef FEAT_MBYTE +! if (enc_dbcs != 0 && (*mb_ptr2len)(p) == 2) +! /* DBCS can contain \ in a trail byte, copy the +! * double-byte character to avoid escaping. */ +! *buf++ = *p++; +! else +! #endif +! if (*p == '\\' || *p == '"') + *buf++ = '\\'; + *buf++ = *p; + } +*** ../vim-7.3.418/src/version.c 2012-01-26 18:58:25.000000000 +0100 +--- src/version.c 2012-01-26 20:40:34.000000000 +0100 +*************** +*** 716,717 **** +--- 716,719 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 419, + /**/ + +-- +You have heard the saying that if you put a thousand monkeys in a room with a +thousand typewriters and waited long enough, eventually you would have a room +full of dead monkeys. + (Scott Adams - The Dilbert principle) + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org ///