patch 8.2.1571: Vim9: count() third argument cannot be "true"
Problem: Vim9: count() third argument cannot be "true".
Solution: use tv_get_bool_chk(). (closes #6818)
diff --git a/src/list.c b/src/list.c
index e7d288a..e0c8c2e 100644
--- a/src/list.c
+++ b/src/list.c
@@ -2167,7 +2167,7 @@
int error = FALSE;
if (argvars[2].v_type != VAR_UNKNOWN)
- ic = (int)tv_get_number_chk(&argvars[2], &error);
+ ic = (int)tv_get_bool_chk(&argvars[2], &error);
if (argvars[0].v_type == VAR_STRING)
{
diff --git a/src/testdir/test_vim9_func.vim b/src/testdir/test_vim9_func.vim
index 480a9a5..8f4928a 100644
--- a/src/testdir/test_vim9_func.vim
+++ b/src/testdir/test_vim9_func.vim
@@ -1492,6 +1492,11 @@
endif
enddef
+def Test_count()
+ assert_equal(3, count('ABC ABC ABC', 'b', true))
+ assert_equal(0, count('ABC ABC ABC', 'b', false))
+enddef
+
def Test_recursive_call()
assert_equal(6765, Fibonacci(20))
enddef
diff --git a/src/typval.c b/src/typval.c
index c7cfd41..db52d59 100644
--- a/src/typval.c
+++ b/src/typval.c
@@ -283,7 +283,6 @@
tv_get_bool_chk(typval_T *varp, int *denote)
{
return tv_get_bool_or_number_chk(varp, denote, TRUE);
-
}
#ifdef FEAT_FLOAT
diff --git a/src/version.c b/src/version.c
index 6b4c1cd..9399221 100644
--- a/src/version.c
+++ b/src/version.c
@@ -755,6 +755,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 1571,
+/**/
1570,
/**/
1569,