# HG changeset patch # User Bram Moolenaar # Date 1557257405 -7200 # Node ID 2c2f5f0173c1ca64356466f7f8c00f85922fc108 # Parent 2eeb461f054f52634ada59ffd35df9c493b2d910 patch 8.1.1288: search stats don't show for mapped command commit https://github.com/vim/vim/commit/9ce3fa828d238ff28d57b0092bb37575e20010ec Author: Bram Moolenaar Date: Tue May 7 21:29:11 2019 +0200 patch 8.1.1288: search stats don't show for mapped command Problem: Search stats don't show for mapped command. Solution: Remove SEARCH_PEEK from searchit flags. Add a test. (Christian Brabandt) diff --git a/src/search.c b/src/search.c --- 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 --- 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 --- 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,