0
0
mirror of https://github.com/vim/vim.git synced 2025-09-23 03:43:49 -04:00

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.
This commit is contained in:
Bram Moolenaar
2011-04-28 17:30:09 +02:00
parent d88e02def5
commit 877b97b953
2 changed files with 12 additions and 2 deletions

View File

@@ -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