Problem: test_garbagecollect_now() does not check v:testing as documented.
Solution: Give an error if v:testing is not set.
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[]
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
{
// This is dangerous, any Lists and Dicts used internally may be freed
// while still in use.
- garbage_collect(TRUE);
+ if (!get_vim_var_nr(VV_TESTING))
+ emsg(_(e_calling_test_garbagecollect_now_while_v_testing_is_not_set));
+ else
+ garbage_collect(TRUE);
}
/*
static int included_patches[] =
{ /* Add new patch number below this line */
+/**/
+ 4234,
/**/
4233,
/**/