patch 7.4.2008
Problem: evalcmd() has a confusing name.
Solution: Rename to execute(). Make silent optional. Support a list of
commands.
diff --git a/src/message.c b/src/message.c
index f793ed4..7bb154d 100644
--- a/src/message.c
+++ b/src/message.c
@@ -566,22 +566,25 @@
*/
if (emsg_silent != 0)
{
- msg_start();
- p = get_emsg_source();
- if (p != NULL)
+ if (emsg_noredir == 0)
{
- STRCAT(p, "\n");
- redir_write(p, -1);
- vim_free(p);
+ msg_start();
+ p = get_emsg_source();
+ if (p != NULL)
+ {
+ STRCAT(p, "\n");
+ redir_write(p, -1);
+ vim_free(p);
+ }
+ p = get_emsg_lnum();
+ if (p != NULL)
+ {
+ STRCAT(p, "\n");
+ redir_write(p, -1);
+ vim_free(p);
+ }
+ redir_write(s, -1);
}
- p = get_emsg_lnum();
- if (p != NULL)
- {
- STRCAT(p, "\n");
- redir_write(p, -1);
- vim_free(p);
- }
- redir_write(s, -1);
return TRUE;
}
@@ -3063,8 +3066,8 @@
while (cur_col < msg_col)
{
#ifdef FEAT_EVAL
- if (redir_evalcmd)
- evalcmd_redir_str((char_u *)" ", -1);
+ if (redir_execute)
+ execute_redir_str((char_u *)" ", -1);
else if (redir_reg)
write_reg_contents(redir_reg, (char_u *)" ", -1, TRUE);
else if (redir_vname)
@@ -3080,8 +3083,8 @@
}
#ifdef FEAT_EVAL
- if (redir_evalcmd)
- evalcmd_redir_str(s, maxlen);
+ if (redir_execute)
+ execute_redir_str(s, maxlen);
else if (redir_reg)
write_reg_contents(redir_reg, s, maxlen, TRUE);
else if (redir_vname)
@@ -3092,7 +3095,7 @@
while (*s != NUL && (maxlen < 0 || (int)(s - str) < maxlen))
{
#ifdef FEAT_EVAL
- if (!redir_reg && !redir_vname && !redir_evalcmd)
+ if (!redir_reg && !redir_vname && !redir_execute)
#endif
if (redir_fd != NULL)
putc(*s, redir_fd);
@@ -3117,7 +3120,7 @@
{
return redir_fd != NULL || *p_vfile != NUL
#ifdef FEAT_EVAL
- || redir_reg || redir_vname || redir_evalcmd
+ || redir_reg || redir_vname || redir_execute
#endif
;
}