summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2019-09-06 20:40:21 +0200
committerBram Moolenaar <Bram@vim.org>2019-09-06 20:40:21 +0200
commit16b58ae9f36e9675c34d942f5d5f8c8a7914dbc4 (patch)
tree53e3c0679e9e7dca03ebbcf121081db6e5e206bf
parent6f72e90dd843a7342395b31f31c2073a3859869d (diff)
patch 8.1.1992: the search stat moves when wrapping at the end of the bufferv8.1.1992
Problem: The search stat moves when wrapping at the end of the buffer. Solution: Put the "W" in front instead of at the end.
-rw-r--r--src/search.c4
-rw-r--r--src/testdir/test_search_stat.vim10
-rw-r--r--src/version.c2
3 files changed, 10 insertions, 6 deletions
diff --git a/src/search.c b/src/search.c
index ee66052a93..be6daac0de 100644
--- a/src/search.c
+++ b/src/search.c
@@ -5011,7 +5011,9 @@ search_stat(
len = STRLEN(t);
if (show_top_bot_msg && len + 2 < SEARCH_STAT_BUF_LEN)
{
- STRCPY(t + len, " W");
+ mch_memmove(t + 2, t, len);
+ t[0] = 'W';
+ t[1] = ' ';
len += 2;
}
diff --git a/src/testdir/test_search_stat.vim b/src/testdir/test_search_stat.vim
index 57997289d7..3d60716ee7 100644
--- a/src/testdir/test_search_stat.vim
+++ b/src/testdir/test_search_stat.vim
@@ -43,7 +43,7 @@ func Test_search_stat()
call assert_match(pat .. stat, g:a)
call cursor(line('$'), 1)
let g:a = execute(':unsilent :norm! n')
- let stat = '\[1/>99\] W'
+ let stat = 'W \[1/>99\]'
call assert_match(pat .. stat, g:a)
" Many matches
@@ -53,7 +53,7 @@ func Test_search_stat()
call assert_match(pat .. stat, g:a)
call cursor(1, 1)
let g:a = execute(':unsilent :norm! N')
- let stat = '\[>99/>99\] W'
+ let stat = 'W \[>99/>99\]'
call assert_match(pat .. stat, g:a)
" right-left
@@ -85,7 +85,7 @@ func Test_search_stat()
call cursor('$',1)
let pat = 'raboof/\s\+'
let g:a = execute(':unsilent :norm! n')
- let stat = '\[20/1\]'
+ let stat = 'W \[20/1\]'
call assert_match(pat .. stat, g:a)
call assert_match('search hit BOTTOM, continuing at TOP', g:a)
set norl
@@ -96,10 +96,10 @@ func Test_search_stat()
let @/ = 'foobar'
let pat = '?foobar\s\+'
let g:a = execute(':unsilent :norm! N')
- let stat = '\[20/20\]'
+ let stat = 'W \[20/20\]'
call assert_match(pat .. stat, g:a)
call assert_match('search hit TOP, continuing at BOTTOM', g:a)
- call assert_match('\[20/20\] W', Screenline(&lines))
+ call assert_match('W \[20/20\]', Screenline(&lines))
" normal, no match
call cursor(1,1)
diff --git a/src/version.c b/src/version.c
index 4d28033285..a21104c59e 100644
--- a/src/version.c
+++ b/src/version.c
@@ -758,6 +758,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 1992,
+/**/
1991,
/**/
1990,