patch 8.2.1601: Vim9: cannot use 'true" with garbagecollect()
Problem: Vim9: cannot use 'true" with garbagecollect().
Solution: Use tv_get_bool(). (closes #6871)
diff --git a/src/evalfunc.c b/src/evalfunc.c
index 1764f41..aefb1bf 100644
--- a/src/evalfunc.c
+++ b/src/evalfunc.c
@@ -2936,7 +2936,7 @@
// using Lists and Dicts internally. E.g.: ":echo [garbagecollect()]".
want_garbage_collect = TRUE;
- if (argvars[0].v_type != VAR_UNKNOWN && tv_get_number(&argvars[0]) == 1)
+ if (argvars[0].v_type != VAR_UNKNOWN && tv_get_bool(&argvars[0]) == 1)
garbage_collect_at_exit = TRUE;
}
diff --git a/src/testdir/test_vim9_func.vim b/src/testdir/test_vim9_func.vim
index 8651ef8..7cc323c 100644
--- a/src/testdir/test_vim9_func.vim
+++ b/src/testdir/test_vim9_func.vim
@@ -1285,6 +1285,10 @@
assert_equal(6, res)
enddef
+def Test_garbagecollect()
+ garbagecollect(true)
+enddef
+
def Test_insert_return_type()
let l = insert([2, 1], 3)
let res = 0
diff --git a/src/version.c b/src/version.c
index 8ebf9a7..ab9c0c4 100644
--- a/src/version.c
+++ b/src/version.c
@@ -755,6 +755,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 1601,
+/**/
1600,
/**/
1599,