From 877b97b9531b70ee05b2c3338354980159e4f67b Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Thu, 28 Apr 2011 17:30:09 +0200 Subject: updated for version 7.3.168 Problem: When the second argument of input() contains a CR the text up to that is used without asking the user. (Yasuhiro Matsumoto) Solution: Change CR, NL and ESC in the text to a space. --- src/getchar.c | 12 ++++++++++-- src/version.c | 2 ++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/getchar.c b/src/getchar.c index 1073d80d6..0437e94af 100644 --- a/src/getchar.c +++ b/src/getchar.c @@ -635,11 +635,14 @@ stuffReadbuffLen(s, len) /* * Stuff "s" into the stuff buffer, leaving special key codes unmodified and * escaping other K_SPECIAL and CSI bytes. + * Change CR, LF and ESC into a space. */ void stuffReadbuffSpec(s) char_u *s; { + int c; + while (*s != NUL) { if (*s == K_SPECIAL && s[1] != NUL && s[2] != NUL) @@ -649,11 +652,16 @@ stuffReadbuffSpec(s) s += 3; } else + { #ifdef FEAT_MBYTE - stuffcharReadbuff(mb_ptr2char_adv(&s)); + c = mb_ptr2char_adv(&s); #else - stuffcharReadbuff(*s++); + c = *s++; #endif + if (c == CAR || c == NL || c == ESC) + c = ' '; + stuffcharReadbuff(c); + } } } #endif diff --git a/src/version.c b/src/version.c index ac145160d..d4809d43a 100644 --- a/src/version.c +++ b/src/version.c @@ -714,6 +714,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 168, /**/ 167, /**/ -- cgit v1.2.1