changeset 17992:a9c54c20295c v8.1.1992

patch 8.1.1992: the search stat moves when wrapping at the end of the buffer Commit: https://github.com/vim/vim/commit/16b58ae9f36e9675c34d942f5d5f8c8a7914dbc4 Author: Bram Moolenaar <Bram@vim.org> Date: Fri Sep 6 20:40:21 2019 +0200 patch 8.1.1992: the search stat moves when wrapping at the end of the buffer Problem: The search stat moves when wrapping at the end of the buffer. Solution: Put the "W" in front instead of at the end.
author Bram Moolenaar <Bram@vim.org>
date Fri, 06 Sep 2019 20:45:04 +0200
parents 23430d8c8c95
children 55bdc69c5e57
files src/search.c src/testdir/test_search_stat.vim src/version.c
diffstat 3 files changed, 10 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- 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;
 	}
 
--- 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)
--- 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,