summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2020-09-05 21:21:16 +0200
committerBram Moolenaar <Bram@vim.org>2020-09-05 21:21:16 +0200
commit597aaac9d2b090e0eb738ab4e2afd454b7b92393 (patch)
treef347eb4f662592e26ab9f75b5168de27315c2775
parentfa2e38df76b3e0919dc01dd1836257dce0ba62b1 (diff)
downloadvim-git-8.2.1614.tar.gz
patch 8.2.1614: Vim9: cannot pass "true" to searchcount()v8.2.1614
Problem: Vim9: cannot pass "true" to searchcount(). Solution: Use tv_get_bool_chk(). (closes #6854)
-rw-r--r--src/search.c10
-rw-r--r--src/testdir/test_vim9_func.vim14
-rw-r--r--src/version.c2
3 files changed, 18 insertions, 8 deletions
diff --git a/src/search.c b/src/search.c
index 7391ab0fb..c1da58b46 100644
--- a/src/search.c
+++ b/src/search.c
@@ -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)
{
diff --git a/src/testdir/test_vim9_func.vim b/src/testdir/test_vim9_func.vim
index b3b6b3225..6aa9f365a 100644
--- a/src/testdir/test_vim9_func.vim
+++ b/src/testdir/test_vim9_func.vim
@@ -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
diff --git a/src/version.c b/src/version.c
index 4b9100cc4..750e2874a 100644
--- a/src/version.c
+++ b/src/version.c
@@ -755,6 +755,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 1614,
+/**/
1613,
/**/
1612,