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)
diff --git a/src/testdir/test_textprop.vim b/src/testdir/test_textprop.vim
index 5990fbf..bacb288 100644
--- a/src/testdir/test_textprop.vim
+++ b/src/testdir/test_textprop.vim
@@ -212,23 +212,28 @@
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'})
diff --git a/src/textprop.c b/src/textprop.c
index 9dff6b8..beb9a27 100644
--- a/src/textprop.c
+++ b/src/textprop.c
@@ -645,9 +645,7 @@
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 de956a6..116fab9 100644
--- a/src/version.c
+++ b/src/version.c
@@ -755,6 +755,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 1584,
+/**/
1583,
/**/
1582,