patch 7.4.1662
Problem: No test for an invalid Ex command on a channel.
Solution: Test handling an invalid command gracefully. Avoid getting an
error message, do write it to the channel log.
diff --git a/src/channel.c b/src/channel.c
index 64393f9..22f63b3 100644
--- a/src/channel.c
+++ b/src/channel.c
@@ -1661,8 +1661,17 @@
if (STRCMP(cmd, "ex") == 0)
{
+ int save_called_emsg = called_emsg;
+
+ called_emsg = FALSE;
ch_logs(channel, "Executing ex command '%s'", (char *)arg);
+ ++emsg_silent;
do_cmdline_cmd(arg);
+ --emsg_silent;
+ if (called_emsg)
+ ch_logs(channel, "Ex command error: '%s'",
+ (char *)get_vim_var_str(VV_ERRMSG));
+ called_emsg = save_called_emsg;
}
else if (STRCMP(cmd, "normal") == 0)
{