forked from aniani/vim
patch 8.2.0887: searchcount().exact_match is 1 right after a match
Problem: Searchcount().exact_match is 1 right after a match. Solution: Use LT_POS() instead of LTOREQ_POS(). (closes #6189)
This commit is contained in:
@@ -3252,7 +3252,7 @@ update_search_stat(
|
|||||||
if (LTOREQ_POS(lastpos, p))
|
if (LTOREQ_POS(lastpos, p))
|
||||||
{
|
{
|
||||||
cur = cnt;
|
cur = cnt;
|
||||||
if (LTOREQ_POS(p, endpos))
|
if (LT_POS(p, endpos))
|
||||||
exact_match = TRUE;
|
exact_match = TRUE;
|
||||||
}
|
}
|
||||||
fast_breakcheck();
|
fast_breakcheck();
|
||||||
|
@@ -27,6 +27,14 @@ func Test_search_stat()
|
|||||||
call assert_equal(
|
call assert_equal(
|
||||||
\ #{current: 1, exact_match: 1, total: 10, incomplete: 0, maxcount: 99},
|
\ #{current: 1, exact_match: 1, total: 10, incomplete: 0, maxcount: 99},
|
||||||
\ searchcount(#{pattern: 'fooooobar', pos: [3, 1, 0]}))
|
\ 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(
|
call assert_equal(
|
||||||
\ #{current: 1, exact_match: 0, total: 10, incomplete: 0, maxcount: 99},
|
\ #{current: 1, exact_match: 0, total: 10, incomplete: 0, maxcount: 99},
|
||||||
\ searchcount(#{pattern: 'fooooobar', pos: [4, 1, 0]}))
|
\ searchcount(#{pattern: 'fooooobar', pos: [4, 1, 0]}))
|
||||||
|
@@ -746,6 +746,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
887,
|
||||||
/**/
|
/**/
|
||||||
886,
|
886,
|
||||||
/**/
|
/**/
|
||||||
|
Reference in New Issue
Block a user