vim-patch:8.1.1350: "W" for wrapping not shown when more than 99 matches

Problem:    "W" for wrapping not shown when more than 99 matches.
Solution:   Adjust check for length. (Masato Nishihata, closes vim/vim#4388)
dc6855af97
This commit is contained in:
erw7 2019-05-27 16:34:03 +09:00
parent 68202520c6
commit 2d567ac47e
2 changed files with 9 additions and 1 deletions

View File

@ -4286,7 +4286,7 @@ static void search_stat(int dirc, pos_T *pos,
}
len = STRLEN(t);
if (show_top_bot_msg && len + 3 < SEARCH_STAT_BUF_LEN) {
if (show_top_bot_msg && len + 2 < SEARCH_STAT_BUF_LEN) {
STRCPY(t + len, " W");
len += 2;
}

View File

@ -40,12 +40,20 @@ func! Test_search_stat()
let g:a = execute(':unsilent :norm! n')
let stat = '\[>99/>99\]'
call assert_match(pat .. stat, g:a)
call cursor(line('$'), 1)
let g:a = execute(':unsilent :norm! n')
let stat = '\[1/>99\] W'
call assert_match(pat .. stat, g:a)
" 5) Many matches
call cursor(1, 1)
let g:a = execute(':unsilent :norm! n')
let stat = '\[2/>99\]'
call assert_match(pat .. stat, g:a)
call cursor(1, 1)
let g:a = execute(':unsilent :norm! N')
let stat = '\[>99/>99\] W'
call assert_match(pat .. stat, g:a)
" 6) right-left
if exists("+rightleft")