patch 8.2.1614: Vim9: cannot pass "true" to searchcount()

Problem:    Vim9: cannot pass "true" to searchcount().
Solution:   Use tv_get_bool_chk(). (closes #6854)
This commit is contained in:
Bram Moolenaar
2020-09-05 21:21:16 +02:00
parent fa2e38df76
commit 597aaac9d2
3 changed files with 18 additions and 8 deletions

View File

@ -4062,7 +4062,7 @@ f_searchcount(typval_T *argvars, typval_T *rettv)
char_u *pattern = NULL;
int maxcount = SEARCH_STAT_DEF_MAX_COUNT;
long timeout = SEARCH_STAT_DEF_TIMEOUT;
int recompute = TRUE;
int recompute = FALSE;
searchstat_T stat;
if (rettv_dict_alloc(rettv) == FAIL)
@ -4098,13 +4098,7 @@ f_searchcount(typval_T *argvars, typval_T *rettv)
if (error)
return;
}
di = dict_find(dict, (char_u *)"recompute", -1);
if (di != NULL)
{
recompute = tv_get_number_chk(&di->di_tv, &error);
if (error)
return;
}
recompute = dict_get_bool(dict, (char_u *)"recompute", recompute);
di = dict_find(dict, (char_u *)"pattern", -1);
if (di != NULL)
{

View File

@ -1533,6 +1533,20 @@ def Test_nr2char()
assert_equal('a', nr2char(97, true))
enddef
def Test_searchcount()
new
setline(1, "foo bar")
:/foo
assert_equal(#{
exact_match: 1,
current: 1,
total: 1,
maxcount: 99,
incomplete: 0,
}, searchcount(#{recompute: true}))
bwipe!
enddef
def Fibonacci(n: number): number
if n < 2
return n

View File

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