diff options
author | Bram Moolenaar <Bram@vim.org> | 2019-05-07 21:29:11 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2019-05-07 21:29:11 +0200 |
commit | 9ce3fa828d238ff28d57b0092bb37575e20010ec (patch) | |
tree | 9a1b052759252b7173ba44cb2dc4d25ff56a6ee5 | |
parent | 7e1a5af5409120835f6c51c8d26ad7891a966aa8 (diff) | |
download | vim-git-9ce3fa828d238ff28d57b0092bb37575e20010ec.tar.gz |
patch 8.1.1288: search stats don't show for mapped commandv8.1.1288
Problem: Search stats don't show for mapped command.
Solution: Remove SEARCH_PEEK from searchit flags. Add a test. (Christian
Brabandt)
-rw-r--r-- | src/search.c | 4 | ||||
-rw-r--r-- | src/testdir/test_search_stat.vim | 25 | ||||
-rw-r--r-- | src/version.c | 2 |
3 files changed, 29 insertions, 2 deletions
diff --git a/src/search.c b/src/search.c index dd5519e79..2d829b56c 100644 --- a/src/search.c +++ b/src/search.c @@ -4958,8 +4958,8 @@ search_stat( profile_setlimit(20L, &start); #endif while (!got_int && searchit(curwin, curbuf, &lastpos, NULL, - FORWARD, NULL, 1, SEARCH_PEEK + SEARCH_KEEP, - RE_LAST, (linenr_T)0, NULL, NULL) != FAIL) + FORWARD, NULL, 1, SEARCH_KEEP, RE_LAST, + (linenr_T)0, NULL, NULL) != FAIL) { #ifdef FEAT_RELTIME // Stop after passing the time limit. diff --git a/src/testdir/test_search_stat.vim b/src/testdir/test_search_stat.vim index 57dad81b8..107cd54a0 100644 --- a/src/testdir/test_search_stat.vim +++ b/src/testdir/test_search_stat.vim @@ -8,6 +8,7 @@ source shared.vim func! Test_search_stat() new set shortmess-=S + " Append 50 lines with text to search for, "foobar" appears 20 times call append(0, repeat(['foobar', 'foo', 'fooooobar', 'foba', 'foobar'], 10)) " 1) match at second line @@ -105,6 +106,30 @@ func! Test_search_stat() call assert_false(1) endtry + " 11) normal, n comes from a mapping + " Need to move over more than 64 lines to trigger char_avail(. + nnoremap n nzv + call cursor(1,1) + call append(50, repeat(['foobar', 'foo', 'fooooobar', 'foba', 'foobar'], 10)) + call setline(2, 'find this') + call setline(70, 'find this') + let @/ = 'find this' + let pat = '/find this\s\+' + let g:a = execute(':unsilent :norm n') + " g:a will contain several lines + let g:b = split(g:a, "\n")[-1] + let stat = '\[1/2\]' + call assert_match(pat .. stat, g:b) + unmap n + + " 11) normal, but silent + call cursor(1,1) + let @/ = 'find this' + let pat = '/find this\s\+' + let g:a = execute(':norm! n') + let stat = '\[1/2\]' + call assert_notmatch(pat .. stat, g:a) + " close the window set shortmess+=S bwipe! diff --git a/src/version.c b/src/version.c index e2ca5b04a..fb1235c4a 100644 --- a/src/version.c +++ b/src/version.c @@ -768,6 +768,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 1288, +/**/ 1287, /**/ 1286, |