mirror of
				https://github.com/neovim/neovim.git
				synced 2025-10-26 12:27:24 +00:00 
			
		
		
		
	vim-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)
9ce3fa828d
			
			
This commit is contained in:
		| @@ -4237,8 +4237,8 @@ static void search_stat(int dirc, pos_T *pos, | |||||||
|       p_ws = false; |       p_ws = false; | ||||||
|       start = profile_setlimit(20L); |       start = profile_setlimit(20L); | ||||||
|       while (!got_int && searchit(curwin, curbuf, &lastpos, NULL, |       while (!got_int && searchit(curwin, curbuf, &lastpos, NULL, | ||||||
|                                   FORWARD, NULL, 1, SEARCH_PEEK + SEARCH_KEEP, |                                   FORWARD, NULL, 1, SEARCH_KEEP, RE_LAST, | ||||||
|                                   RE_LAST, (linenr_T)0, NULL, NULL) != FAIL) { |                                   (linenr_T)0, NULL, NULL) != FAIL) { | ||||||
|         // Stop after passing the time limit. |         // Stop after passing the time limit. | ||||||
|         if (profile_passed_limit(start)) { |         if (profile_passed_limit(start)) { | ||||||
|           cnt = OUT_OF_TIME; |           cnt = OUT_OF_TIME; | ||||||
|   | |||||||
| @@ -8,6 +8,7 @@ source shared.vim | |||||||
| func! Test_search_stat() | func! Test_search_stat() | ||||||
|   new |   new | ||||||
|   set shortmess-=S |   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)) |   call append(0, repeat(['foobar', 'foo', 'fooooobar', 'foba', 'foobar'], 10)) | ||||||
|  |  | ||||||
|   " 1) match at second line |   " 1) match at second line | ||||||
| @@ -105,6 +106,30 @@ func! Test_search_stat() | |||||||
|     call assert_false(1) |     call assert_false(1) | ||||||
|   endtry |   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 |   " close the window | ||||||
|   set shortmess+=S |   set shortmess+=S | ||||||
|   bwipe! |   bwipe! | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 erw7
					erw7