0
0
mirror of https://github.com/vim/vim.git synced 2025-09-24 03:44:06 -04:00

patch 8.2.4234: test_garbagecollect_now() does not check v:testing

Problem:    test_garbagecollect_now() does not check v:testing as documented.
Solution:   Give an error if v:testing is not set.
This commit is contained in:
Bram Moolenaar
2022-01-27 19:59:47 +00:00
parent a4bc2dd7cc
commit b3d83980d2
4 changed files with 14 additions and 2 deletions

View File

@@ -2909,7 +2909,8 @@ EXTERN char e_for_argument_must_be_sequence_of_lists[]
INIT(= N_("E1140: :for argument must be a sequence of lists"));
EXTERN char e_indexable_type_required[]
INIT(= N_("E1141: Indexable type required"));
// E1142 unused
EXTERN char e_calling_test_garbagecollect_now_while_v_testing_is_not_set[]
INIT(= N_("E1142: Calling test_garbagecollect_now() while v:testing is not set"));
EXTERN char e_empty_expression_str[]
INIT(= N_("E1143: Empty expression: \"%s\""));
EXTERN char e_command_str_not_followed_by_white_space_str[]

View File

@@ -2663,6 +2663,12 @@ func Test_range()
call assert_fails('let x=range(1, 4, [])', 'E745:')
endfunc
func Test_garbagecollect_now_fails()
let v:testing = 0
call assert_fails('call test_garbagecollect_now()', 'E1142:')
let v:testing = 1
endfunc
func Test_echoraw()
CheckScreendump

View File

@@ -1153,6 +1153,9 @@ f_test_garbagecollect_now(typval_T *argvars UNUSED, typval_T *rettv UNUSED)
{
// This is dangerous, any Lists and Dicts used internally may be freed
// while still in use.
if (!get_vim_var_nr(VV_TESTING))
emsg(_(e_calling_test_garbagecollect_now_while_v_testing_is_not_set));
else
garbage_collect(TRUE);
}

View File

@@ -750,6 +750,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
4234,
/**/
4233,
/**/