0
0
mirror of https://github.com/vim/vim.git synced 2025-09-23 03:43:49 -04:00

patch 8.2.1584: Vim9: cannot use "true" for "skipstart" in prop_find()

Problem:    Vim9: cannot use "true" for "skipstart" in prop_find().
Solution:   Use dict_get_bool() instead of tv_get_number(). (closes #6852)
This commit is contained in:
Bram Moolenaar
2020-09-03 22:33:44 +02:00
parent 18eedfa40b
commit eb24556df3
3 changed files with 22 additions and 17 deletions

View File

@@ -212,23 +212,28 @@ 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'})
for lnum in [1, 2]
for col in [8, 14, 24, 38]
call 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)
call prop_type_delete('misspell')
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]
prop_add(lnum, col, #{type: 'misspell', length: 2})
endfor
endfor
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)
prop_type_delete('misspell')
bwipe!
enddef
func Test_prop_find_smaller_len_than_match_col()
new
call prop_type_add('test', {'highlight': 'ErrorMsg'})

View File

@@ -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");

View File

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