Mercurial > vim
changeset 1854:a58806285f20 v7.2.152
updated for version 7.2-152
author | vimboss |
---|---|
date | Wed, 22 Apr 2009 12:44:48 +0000 |
parents | 96445585f1d9 |
children | 6f12c4eae4f6 |
files | src/ex_docmd.c src/message.c src/proto/message.pro src/version.c |
diffstat | 4 files changed, 19 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- 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
--- 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()!
--- 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));