diff options
author | Bram Moolenaar <Bram@vim.org> | 2019-12-23 22:59:18 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2019-12-23 22:59:18 +0100 |
commit | 53989554a44caca0964376d60297f08ec257c53c (patch) | |
tree | 34d2140d4201e015661344b05ffb4c2d9aed97ff /src/channel.c | |
parent | 70188f5b23ea7efec7adaf74e0af797d1bb1afe8 (diff) | |
download | vim-git-53989554a44caca0964376d60297f08ec257c53c.tar.gz |
patch 8.2.0035: saving and restoring called_emsg is clumsyv8.2.0035
Problem: Saving and restoring called_emsg is clumsy.
Solution: Count the number of error messages.
Diffstat (limited to 'src/channel.c')
-rw-r--r-- | src/channel.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/src/channel.c b/src/channel.c index ebbc315cc..fc6a7a37b 100644 --- a/src/channel.c +++ b/src/channel.c @@ -2370,17 +2370,15 @@ channel_exe_cmd(channel_T *channel, ch_part_T part, typval_T *argv) if (STRCMP(cmd, "ex") == 0) { - int save_called_emsg = called_emsg; + int called_emsg_before = called_emsg; - called_emsg = FALSE; ch_log(channel, "Executing ex command '%s'", (char *)arg); ++emsg_silent; do_cmdline_cmd(arg); --emsg_silent; - if (called_emsg) + if (called_emsg > called_emsg_before) ch_log(channel, "Ex command error: '%s'", (char *)get_vim_var_str(VV_ERRMSG)); - called_emsg = save_called_emsg; } else if (STRCMP(cmd, "normal") == 0) { |