vim-patch:9.0.0846: using assert_fails() may cause hit-enter prompt

Problem:    Using assert_fails() may cause hit-enter prompt.
Solution:   Set no_wait_return. (closes vim/vim#11522)

f220643c26

Co-authored-by: Bram Moolenaar <Bram@vim.org>
This commit is contained in:
zeertzjq 2023-05-05 12:53:39 +08:00
parent 050b24cbcc
commit 49a2bb9117
2 changed files with 7 additions and 2 deletions

View File

@ -522,14 +522,13 @@ void f_assert_fails(typval_T *argvars, typval_T *rettv, EvalFuncData fptr)
return;
}
const char *const cmd = tv_get_string_chk(&argvars[0]);
// trylevel must be zero for a ":throw" command to be considered failed
trylevel = 0;
suppress_errthrow = true;
in_assert_fails = true;
no_wait_return++;
const char *const cmd = tv_get_string_chk(&argvars[0]);
do_cmdline_cmd(cmd);
// reset here for any errors reported below

View File

@ -327,6 +327,12 @@ func Test_assert_fails_in_try_block()
endtry
endfunc
func Test_assert_fails_in_timer()
" should not cause a hit-enter prompt, which isn't actually checked here
call timer_start(0, {-> assert_fails('call', 'E471:')})
sleep 10m
endfunc
func Test_assert_beeps()
new
call assert_equal(0, assert_beeps('normal h'))