From: Bram Moolenaar Date: Sat, 31 Jul 2021 16:33:57 +0000 (+0200) Subject: patch 8.2.3257: calling prop_find() with -1 for ID gives errornous error X-Git-Tag: v8.2.3257 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=8e3fc135e884a30620fb1c6e84986fae1467acd3;p=thirdparty%2Fvim.git patch 8.2.3257: calling prop_find() with -1 for ID gives errornous error Problem: Calling prop_find() with -1 for ID gives errornous error. (Naohiro Ono) Solution: When passing -1 use -2. (closes #8674) --- diff --git a/src/testdir/test_textprop.vim b/src/testdir/test_textprop.vim index 78dd2029a8..0ac4e898fc 100644 --- a/src/testdir/test_textprop.vim +++ b/src/testdir/test_textprop.vim @@ -239,6 +239,9 @@ func Test_prop_find() 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. + call assert_equal({}, prop_find({'id': -1})) + call prop_clear(1,6) call prop_type_delete('prop_name') diff --git a/src/textprop.c b/src/textprop.c index 92dc645b09..bc27aef6e7 100644 --- a/src/textprop.c +++ b/src/textprop.c @@ -686,7 +686,11 @@ f_prop_find(typval_T *argvars, typval_T *rettv) 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"); + if (id == -1) + id = -2; + } if (dict_find(dict, (char_u *)"type", -1)) { char_u *name = dict_get_string(dict, (char_u *)"type", FALSE); diff --git a/src/version.c b/src/version.c index 2ef5237790..917e001cd0 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 */ +/**/ + 3257, /**/ 3256, /**/