diff options
author | Bram Moolenaar <Bram@vim.org> | 2020-09-05 21:21:16 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2020-09-05 21:21:16 +0200 |
commit | 597aaac9d2b090e0eb738ab4e2afd454b7b92393 (patch) | |
tree | f347eb4f662592e26ab9f75b5168de27315c2775 | |
parent | fa2e38df76b3e0919dc01dd1836257dce0ba62b1 (diff) | |
download | vim-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.c | 10 | ||||
-rw-r--r-- | src/testdir/test_vim9_func.vim | 14 | ||||
-rw-r--r-- | src/version.c | 2 |
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, |