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/testing.c | |
parent | 70188f5b23ea7efec7adaf74e0af797d1bb1afe8 (diff) |
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/testing.c')
-rw-r--r-- | src/testing.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/src/testing.c b/src/testing.c index f879f1ea9c..569a57c8e8 100644 --- a/src/testing.c +++ b/src/testing.c @@ -424,15 +424,15 @@ f_assert_fails(typval_T *argvars, typval_T *rettv) char_u *cmd = tv_get_string_chk(&argvars[0]); garray_T ga; int save_trylevel = trylevel; + int called_emsg_before = called_emsg; // trylevel must be zero for a ":throw" command to be considered failed trylevel = 0; - called_emsg = FALSE; suppress_errthrow = TRUE; emsg_silent = TRUE; do_cmdline_cmd(cmd); - if (!called_emsg) + if (called_emsg == called_emsg_before) { prepare_assert_error(&ga); ga_concat(&ga, (char_u *)"command did not fail: "); @@ -461,7 +461,6 @@ f_assert_fails(typval_T *argvars, typval_T *rettv) } trylevel = save_trylevel; - called_emsg = FALSE; suppress_errthrow = FALSE; emsg_silent = FALSE; emsg_on_display = FALSE; |