diff options
author | Bram Moolenaar <Bram@vim.org> | 2020-09-03 22:33:44 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2020-09-03 22:33:44 +0200 |
commit | eb24556df3b16a19009ee3ddee8ae94dc058a3b2 (patch) | |
tree | 427a96ce7432b3fa604dc62885b56be786a9d416 | |
parent | 18eedfa40b45b1de955d61417e9918ef7d6e83f9 (diff) | |
download | vim-git-8.2.1584.tar.gz |
patch 8.2.1584: Vim9: cannot use "true" for "skipstart" in prop_find()v8.2.1584
Problem: Vim9: cannot use "true" for "skipstart" in prop_find().
Solution: Use dict_get_bool() instead of tv_get_number(). (closes #6852)
-rw-r--r-- | src/testdir/test_textprop.vim | 25 | ||||
-rw-r--r-- | src/textprop.c | 4 | ||||
-rw-r--r-- | src/version.c | 2 |
3 files changed, 18 insertions, 13 deletions
diff --git a/src/testdir/test_textprop.vim b/src/testdir/test_textprop.vim index 5990fbf3f..bacb288c5 100644 --- a/src/testdir/test_textprop.vim +++ b/src/testdir/test_textprop.vim @@ -212,22 +212,27 @@ func Test_prop_find() call prop_clear(1,6) call prop_type_delete('prop_name') - " Multiple props per line, start on the first, should find the second. - let expected = {'lnum': 1, 'id': 0, 'col': 14, 'end': 1, 'type': 'misspell', 'length': 2, 'start': 1} - eval ['the quikc bronw fox jumsp over the layz dog']->repeat(2)->setline(1) - call prop_type_add('misspell', #{highlight: 'ErrorMsg'}) + bwipe! +endfunc + +def Test_prop_find2() + # Multiple props per line, start on the first, should find the second. + new + ['the quikc bronw fox jumsp over the layz dog']->repeat(2)->setline(1) + prop_type_add('misspell', #{highlight: 'ErrorMsg'}) for lnum in [1, 2] for col in [8, 14, 24, 38] - call prop_add(lnum, col, #{type: 'misspell', length: 2}) + prop_add(lnum, col, #{type: 'misspell', length: 2}) endfor endfor - call cursor(1, 8) - let result = prop_find(#{type: 'misspell', skipstart: 1}, 'f') - call assert_equal(expected, result) + cursor(1, 8) + let expected = {'lnum': 1, 'id': 0, 'col': 14, 'end': 1, 'type': 'misspell', 'length': 2, 'start': 1} + let result = prop_find(#{type: 'misspell', skipstart: true}, 'f') + assert_equal(expected, result) - call prop_type_delete('misspell') + prop_type_delete('misspell') bwipe! -endfunc +enddef func Test_prop_find_smaller_len_than_match_col() new diff --git a/src/textprop.c b/src/textprop.c index 9dff6b869..beb9a273d 100644 --- a/src/textprop.c +++ b/src/textprop.c @@ -645,9 +645,7 @@ f_prop_find(typval_T *argvars, typval_T *rettv) return; } - di = dict_find(dict, (char_u *)"skipstart", -1); - if (di != NULL) - skipstart = tv_get_number(&di->di_tv); + skipstart = dict_get_bool(dict, (char_u *)"skipstart", 0); if (dict_find(dict, (char_u *)"id", -1) != NULL) id = dict_get_number(dict, (char_u *)"id"); diff --git a/src/version.c b/src/version.c index de956a642..116fab9d2 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 */ /**/ + 1584, +/**/ 1583, /**/ 1582, |