From: Bram Moolenaar Date: Wed, 17 Aug 2011 14:25:48 +0000 (+0200) Subject: updated for version 7.3.282 X-Git-Tag: v7.3.282 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=1db1f77d4a10f428738f97d06a010fddff4807c7;p=vim updated for version 7.3.282 Problem: When using input() and :echo in a loop the displayed text is incorrect. (Benjamin Fritz) Solution: Only restore the cursor position when there is a command line. (Ben Schmidt) --- diff --git a/src/ex_getln.c b/src/ex_getln.c index ed0082c13..8239c0c87 100644 --- a/src/ex_getln.c +++ b/src/ex_getln.c @@ -1969,8 +1969,12 @@ getcmdline_prompt(firstc, prompt, attr, xp_context, xp_arg) # endif s = getcmdline(firstc, 1L, 0); restore_cmdline(&save_ccline); - /* Restore msg_col, the prompt from input() may have changed it. */ - msg_col = msg_col_save; + /* Restore msg_col, the prompt from input() may have changed it. + * But only if called recursively and the commandline is therefore being + * restored to an old one; if not, the input() prompt stays on the screen, + * so we need its modified msg_col left intact. */ + if (ccline.cmdbuff != NULL) + msg_col = msg_col_save; return s; } diff --git a/src/version.c b/src/version.c index 35a5479d6..f9760e9a8 100644 --- a/src/version.c +++ b/src/version.c @@ -709,6 +709,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 282, /**/ 281, /**/