Mercurial > vim
diff src/channel.c @ 18949:5c405689da3e v8.2.0035
patch 8.2.0035: saving and restoring called_emsg is clumsy
Commit: https://github.com/vim/vim/commit/53989554a44caca0964376d60297f08ec257c53c
Author: Bram Moolenaar <Bram@vim.org>
Date: Mon Dec 23 22:59:18 2019 +0100
patch 8.2.0035: saving and restoring called_emsg is clumsy
Problem: Saving and restoring called_emsg is clumsy.
Solution: Count the number of error messages.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Mon, 23 Dec 2019 23:00:03 +0100 |
parents | d90138662f49 |
children | f2c8bc90f3c8 |
line wrap: on
line diff
--- a/src/channel.c +++ b/src/channel.c @@ -2370,17 +2370,15 @@ channel_exe_cmd(channel_T *channel, ch_p if (STRCMP(cmd, "ex") == 0) { - int save_called_emsg = called_emsg; - - called_emsg = FALSE; + int called_emsg_before = called_emsg; + 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) {