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:
@@ -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[]
|
||||
|
@@ -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
|
||||
|
||||
|
@@ -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);
|
||||
}
|
||||
|
||||
|
@@ -750,6 +750,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
4234,
|
||||
/**/
|
||||
4233,
|
||||
/**/
|
||||
|
Reference in New Issue
Block a user