patch 8.2.3272: cannot use id zero with prop_find()
Problem: Cannot use id zero with prop_find(). (Naohiro Ono)
Solution: Also accept id zero.
diff --git a/src/testdir/test_textprop.vim b/src/testdir/test_textprop.vim
index 0ac4e89..acdbf48 100644
--- a/src/testdir/test_textprop.vim
+++ b/src/testdir/test_textprop.vim
@@ -239,12 +239,18 @@
let result = prop_find({'type': 'prop_name', 'lnum': 1}, 'f')
call assert_equal(expected[0], result)
- " When ID is -1 it's like prop is not found.
+ " Negative ID is possible, just like prop is not found.
call assert_equal({}, prop_find({'id': -1}))
+ call assert_equal({}, prop_find({'id': -2}))
- call prop_clear(1,6)
+ call prop_clear(1, 6)
+
+ " Default ID is zero
+ call prop_add(5, 4, {'type': 'prop_name', 'length': 1})
+ call assert_equal(#{lnum: 5, id: 0, col: 4, type_bufnr: 0, end: 1, type: 'prop_name', length: 1, start: 1}, prop_find({'id': 0}))
+
call prop_type_delete('prop_name')
-
+ call prop_clear(1, 6)
bwipe!
endfunc
diff --git a/src/textprop.c b/src/textprop.c
index e5cc366..6c9d5c8 100644
--- a/src/textprop.c
+++ b/src/textprop.c
@@ -689,7 +689,7 @@
if (dict_find(dict, (char_u *)"id", -1) != NULL)
{
id = dict_get_number(dict, (char_u *)"id");
- id_found = id != 0;
+ id_found = TRUE;
}
if (dict_find(dict, (char_u *)"type", -1))
{
diff --git a/src/version.c b/src/version.c
index de4d26b..ba58b23 100644
--- a/src/version.c
+++ b/src/version.c
@@ -756,6 +756,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 3272,
+/**/
3271,
/**/
3270,