summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2020-06-02 22:06:21 +0200
committerBram Moolenaar <Bram@vim.org>2020-06-02 22:06:21 +0200
commit57f75a5a364ad4d8334fdf6b6b41420b48e08390 (patch)
treef60d4d46d30a929e97e2997ee396db5f20f206ca
parentc17e66c5c0acd5038f1eb3d7b3049b64bb6ea30b (diff)
downloadvim-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.c2
-rw-r--r--src/testdir/test_search_stat.vim8
-rw-r--r--src/version.c2
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,