diff options
author | Bram Moolenaar <Bram@vim.org> | 2009-04-22 12:44:48 +0000 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2009-04-22 12:44:48 +0000 |
commit | 77ab2801c793eafd4e683804eabcfc69a4371df8 (patch) | |
tree | e7f382744f671ce851d7d09a5e233bfb46e1fe96 | |
parent | b9c1e96ce18e157aa3f05c76877ad5505d9f5ee1 (diff) | |
download | vim-git-77ab2801c793eafd4e683804eabcfc69a4371df8.tar.gz |
updated for version 7.2-152v7.2.152
-rw-r--r-- | src/ex_docmd.c | 5 | ||||
-rw-r--r-- | src/message.c | 16 | ||||
-rw-r--r-- | src/proto/message.pro | 1 | ||||
-rw-r--r-- | src/version.c | 2 |
4 files changed, 19 insertions, 5 deletions
diff --git a/src/ex_docmd.c b/src/ex_docmd.c index 38acbfeba..057e7d6c3 100644 --- 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 index ffa45a199..6e00c1a78 100644 --- 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 index cff7d6b50..09b9152b7 100644 --- 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 index afb3650e1..45825767d 100644 --- 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, |