diff options
author | Bram Moolenaar <Bram@vim.org> | 2020-06-02 22:06:21 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2020-06-02 22:06:21 +0200 |
commit | 57f75a5a364ad4d8334fdf6b6b41420b48e08390 (patch) | |
tree | f60d4d46d30a929e97e2997ee396db5f20f206ca | |
parent | c17e66c5c0acd5038f1eb3d7b3049b64bb6ea30b (diff) | |
download | vim-git-57f75a5a364ad4d8334fdf6b6b41420b48e08390.tar.gz |
patch 8.2.0887: searchcount().exact_match is 1 right after a matchv8.2.0887
Problem: Searchcount().exact_match is 1 right after a match.
Solution: Use LT_POS() instead of LTOREQ_POS(). (closes #6189)
-rw-r--r-- | src/search.c | 2 | ||||
-rw-r--r-- | src/testdir/test_search_stat.vim | 8 | ||||
-rw-r--r-- | src/version.c | 2 |
3 files changed, 11 insertions, 1 deletions
diff --git a/src/search.c b/src/search.c index 0c253e971..210806258 100644 --- a/src/search.c +++ b/src/search.c @@ -3252,7 +3252,7 @@ update_search_stat( if (LTOREQ_POS(lastpos, p)) { cur = cnt; - if (LTOREQ_POS(p, endpos)) + if (LT_POS(p, endpos)) exact_match = TRUE; } fast_breakcheck(); diff --git a/src/testdir/test_search_stat.vim b/src/testdir/test_search_stat.vim index de73051d2..668545c5a 100644 --- a/src/testdir/test_search_stat.vim +++ b/src/testdir/test_search_stat.vim @@ -27,6 +27,14 @@ func Test_search_stat() call assert_equal( \ #{current: 1, exact_match: 1, total: 10, incomplete: 0, maxcount: 99}, \ searchcount(#{pattern: 'fooooobar', pos: [3, 1, 0]})) + " on last char of match + call assert_equal( + \ #{current: 1, exact_match: 1, total: 10, incomplete: 0, maxcount: 99}, + \ searchcount(#{pattern: 'fooooobar', pos: [3, 9, 0]})) + " on char after match + call assert_equal( + \ #{current: 1, exact_match: 0, total: 10, incomplete: 0, maxcount: 99}, + \ searchcount(#{pattern: 'fooooobar', pos: [3, 10, 0]})) call assert_equal( \ #{current: 1, exact_match: 0, total: 10, incomplete: 0, maxcount: 99}, \ searchcount(#{pattern: 'fooooobar', pos: [4, 1, 0]})) diff --git a/src/version.c b/src/version.c index 9a34111d6..91d4a467b 100644 --- a/src/version.c +++ b/src/version.c @@ -747,6 +747,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 887, +/**/ 886, /**/ 885, |