summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2011-03-03 15:54:50 +0100
committerBram Moolenaar <Bram@vim.org>2011-03-03 15:54:50 +0100
commitf63c49d4e93ef064836d6b96609f78813d72871c (patch)
tree63c43f039c1d92768ddd8163bc987aa4de57f058
parent6eb634ef1f40623192f331dda7b13e34fffba9e2 (diff)
updated for version 7.3.138v7.3.138
Problem: ":com" changes the multi-byte text of :echo. (Dimitar Dimitrov) Solution: Search for K_SPECIAL as a byte, not a character. (Ben Schmidt)
-rw-r--r--src/ex_docmd.c8
-rw-r--r--src/version.c2
2 files changed, 7 insertions, 3 deletions
diff --git a/src/ex_docmd.c b/src/ex_docmd.c
index 733d62ee78..27048773e2 100644
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -6054,15 +6054,17 @@ do_ucmd(eap)
end = vim_strchr(start + 1, '>');
if (buf != NULL)
{
- ksp = vim_strchr(p, K_SPECIAL);
- if (ksp != NULL && (start == NULL || ksp < start || end == NULL)
+ for (ksp = p; *ksp != NUL && *ksp != K_SPECIAL; ++ksp)
+ ;
+ if (*ksp == K_SPECIAL
+ && (start == NULL || ksp < start || end == NULL)
&& ((ksp[1] == KS_SPECIAL && ksp[2] == KE_FILLER)
# ifdef FEAT_GUI
|| (ksp[1] == KS_EXTRA && ksp[2] == (int)KE_CSI)
# endif
))
{
- /* K_SPECIAL han been put in the buffer as K_SPECIAL
+ /* K_SPECIAL has been put in the buffer as K_SPECIAL
* KS_SPECIAL KE_FILLER, like for mappings, but
* do_cmdline() doesn't handle that, so convert it back.
* Also change K_SPECIAL KS_EXTRA KE_CSI into CSI. */
diff --git a/src/version.c b/src/version.c
index e7902972ba..4aba532b27 100644
--- a/src/version.c
+++ b/src/version.c
@@ -715,6 +715,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 138,
+/**/
137,
/**/
136,