mirror of
https://github.com/vim/vim.git
synced 2025-07-26 11:04:33 -04:00
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 #11522)
This commit is contained in:
parent
4e7590ec00
commit
f220643c26
@ -338,6 +338,12 @@ func Test_assert_fails_in_try_block()
|
|||||||
endtry
|
endtry
|
||||||
endfunc
|
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()
|
func Test_assert_beeps()
|
||||||
new
|
new
|
||||||
call assert_equal(0, assert_beeps('normal h'))
|
call assert_equal(0, assert_beeps('normal h'))
|
||||||
|
@ -592,7 +592,6 @@ f_assert_exception(typval_T *argvars, typval_T *rettv)
|
|||||||
void
|
void
|
||||||
f_assert_fails(typval_T *argvars, typval_T *rettv)
|
f_assert_fails(typval_T *argvars, typval_T *rettv)
|
||||||
{
|
{
|
||||||
char_u *cmd;
|
|
||||||
garray_T ga;
|
garray_T ga;
|
||||||
int save_trylevel = trylevel;
|
int save_trylevel = trylevel;
|
||||||
int called_emsg_before = called_emsg;
|
int called_emsg_before = called_emsg;
|
||||||
@ -608,13 +607,13 @@ f_assert_fails(typval_T *argvars, typval_T *rettv)
|
|||||||
&& check_for_opt_string_arg(argvars, 4) == FAIL)))))
|
&& check_for_opt_string_arg(argvars, 4) == FAIL)))))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
cmd = tv_get_string_chk(&argvars[0]);
|
|
||||||
|
|
||||||
// trylevel must be zero for a ":throw" command to be considered failed
|
// trylevel must be zero for a ":throw" command to be considered failed
|
||||||
trylevel = 0;
|
trylevel = 0;
|
||||||
suppress_errthrow = TRUE;
|
suppress_errthrow = TRUE;
|
||||||
in_assert_fails = TRUE;
|
in_assert_fails = TRUE;
|
||||||
|
++no_wait_return;
|
||||||
|
|
||||||
|
char_u *cmd = tv_get_string_chk(&argvars[0]);
|
||||||
do_cmdline_cmd(cmd);
|
do_cmdline_cmd(cmd);
|
||||||
|
|
||||||
// reset here for any errors reported below
|
// reset here for any errors reported below
|
||||||
@ -758,6 +757,7 @@ theend:
|
|||||||
did_emsg = FALSE;
|
did_emsg = FALSE;
|
||||||
got_int = FALSE;
|
got_int = FALSE;
|
||||||
msg_col = 0;
|
msg_col = 0;
|
||||||
|
--no_wait_return;
|
||||||
need_wait_return = FALSE;
|
need_wait_return = FALSE;
|
||||||
emsg_on_display = FALSE;
|
emsg_on_display = FALSE;
|
||||||
msg_scrolled = 0;
|
msg_scrolled = 0;
|
||||||
|
@ -695,6 +695,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
846,
|
||||||
/**/
|
/**/
|
||||||
845,
|
845,
|
||||||
/**/
|
/**/
|
||||||
|
Loading…
x
Reference in New Issue
Block a user