# HG changeset patch # User vimboss # Date 1240404288 0 # Node ID a58806285f2086c1591272962d0b5709a63a74fd # Parent 96445585f1d9d1abbc74d9c24efbf0408b2cbb12 updated for version 7.2-152 diff --git a/src/ex_docmd.c b/src/ex_docmd.c --- a/src/ex_docmd.c +++ b/src/ex_docmd.c @@ -2699,6 +2699,11 @@ doend: /* Restore msg_scroll, it's set by file I/O commands, even when no * message is actually displayed. */ msg_scroll = save_msg_scroll; + + /* "silent reg" or "silent echo x" inside "redir" leaves msg_col + * somewhere in the line. Put it back in the first column. */ + if (redirecting()) + msg_col = 0; } #ifdef HAVE_SANDBOX diff --git a/src/message.c b/src/message.c --- a/src/message.c +++ b/src/message.c @@ -3023,11 +3023,7 @@ redir_write(str, maxlen) if (*p_vfile != NUL) verbose_write(s, maxlen); - if (redir_fd != NULL -#ifdef FEAT_EVAL - || redir_reg || redir_vname -#endif - ) + if (redirecting()) { /* If the string doesn't start with CR or NL, go to msg_col */ if (*s != '\n' && *s != '\r') @@ -3074,6 +3070,16 @@ redir_write(str, maxlen) } } + int +redirecting() +{ + return redir_fd != NULL +#ifdef FEAT_EVAL + || redir_reg || redir_vname +#endif + ; +} + /* * Before giving verbose message. * Must always be called paired with verbose_leave()! diff --git a/src/proto/message.pro b/src/proto/message.pro --- a/src/proto/message.pro +++ b/src/proto/message.pro @@ -54,6 +54,7 @@ void msg_clr_eos_force __ARGS((void)); void msg_clr_cmdline __ARGS((void)); int msg_end __ARGS((void)); void msg_check __ARGS((void)); +int redirecting __ARGS((void)); void verbose_enter __ARGS((void)); void verbose_leave __ARGS((void)); void verbose_enter_scroll __ARGS((void)); diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -677,6 +677,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 152, +/**/ 151, /**/ 150,