patch 8.1.1375: without "TS" in 'shortmess' get a hit-enter prompt often
Problem: Without "TS" in 'shortmess' get a hit-enter prompt often.
Solution: Always truncate the search message. Also avoid putting it in the
message history. (closes #4413)
diff --git a/src/testdir/test_search_stat.vim b/src/testdir/test_search_stat.vim
index 322d137..ad46b2d 100644
--- a/src/testdir/test_search_stat.vim
+++ b/src/testdir/test_search_stat.vim
@@ -11,21 +11,24 @@
" 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
+ " match at second line
call cursor(1, 1)
+ let messages_before = execute('messages')
let @/ = 'fo*\(bar\?\)\?'
let g:a = execute(':unsilent :norm! n')
let stat = '\[2/50\]'
let pat = escape(@/, '()*?'). '\s\+'
call assert_match(pat .. stat, g:a)
+ " didn't get added to message history
+ call assert_equal(messages_before, execute('messages'))
- " 2) Match at last line
+ " Match at last line
call cursor(line('$')-2, 1)
let g:a = execute(':unsilent :norm! n')
let stat = '\[50/50\]'
call assert_match(pat .. stat, g:a)
- " 3) No search stat
+ " No search stat
set shortmess+=S
call cursor(1, 1)
let stat = '\[2/50\]'
@@ -33,7 +36,7 @@
call assert_notmatch(pat .. stat, g:a)
set shortmess-=S
- " 4) Many matches
+ " Many matches
call cursor(line('$')-2, 1)
let @/ = '.'
let pat = escape(@/, '()*?'). '\s\+'
@@ -45,7 +48,7 @@
let stat = '\[1/>99\] W'
call assert_match(pat .. stat, g:a)
- " 5) Many matches
+ " Many matches
call cursor(1, 1)
let g:a = execute(':unsilent :norm! n')
let stat = '\[2/>99\]'
@@ -55,7 +58,7 @@
let stat = '\[>99/>99\] W'
call assert_match(pat .. stat, g:a)
- " 6) right-left
+ " right-left
if exists("+rightleft")
set rl
call cursor(1,1)
@@ -67,7 +70,7 @@
set norl
endif
- " 7) right-left bottom
+ " right-left bottom
if exists("+rightleft")
set rl
call cursor('$',1)
@@ -78,7 +81,7 @@
set norl
endif
- " 8) right-left back at top
+ " right-left back at top
if exists("+rightleft")
set rl
call cursor('$',1)
@@ -90,7 +93,7 @@
set norl
endif
- " 9) normal, back at bottom
+ " normal, back at bottom
call cursor(1,1)
let @/ = 'foobar'
let pat = '?foobar\s\+'
@@ -100,7 +103,7 @@
call assert_match('search hit TOP, continuing at BOTTOM', g:a)
call assert_match('\[20/20\] W', Screenline(&lines))
- " 10) normal, no match
+ " normal, no match
call cursor(1,1)
let @/ = 'zzzzzz'
let g:a = ''
@@ -114,7 +117,7 @@
call assert_false(1)
endtry
- " 11) normal, n comes from a mapping
+ " 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)
@@ -130,7 +133,7 @@
call assert_match(pat .. stat, g:b)
unmap n
- " 11) normal, but silent
+ " normal, but silent
call cursor(1,1)
let @/ = 'find this'
let pat = '/find this\s\+'