patch 8.1.1970: search stat space wrong, no test for 8.1.1965
Problem: Search stat space wrong, no test for 8.1.1965.
Solution: Fix check for cmd_silent. Add a test. (Christian Brabandt)
diff --git a/src/search.c b/src/search.c
index 758c4ef..ee66052 100644
--- a/src/search.c
+++ b/src/search.c
@@ -1391,7 +1391,7 @@
// search stat. Use all the space available, so that the
// search state is right aligned. If there is not enough space
// msg_strtrunc() will shorten in the middle.
- if (msg_scrolled != 0 || cmd_silent)
+ if (msg_scrolled != 0 && !cmd_silent)
// Use all the columns.
len = (int)(Rows - msg_row) * Columns - 1;
else
diff --git a/src/testdir/test_search_stat.vim b/src/testdir/test_search_stat.vim
index cf36f32..d5d50ff 100644
--- a/src/testdir/test_search_stat.vim
+++ b/src/testdir/test_search_stat.vim
@@ -160,7 +160,28 @@
let stat = '\[1/2\]'
call assert_notmatch(pat .. stat, g:a)
- " close the window
+ " normal, n comes from a silent mapping
+ " First test a normal mapping, then a silent mapping
+ call cursor(1,1)
+ nnoremap n n
+ let @/ = 'find this'
+ let pat = '/find this\s\+'
+ let g:a = execute(':unsilent :norm n')
+ let g:b = split(g:a, "\n")[-1]
+ let stat = '\[1/2\]'
+ call assert_match(pat .. stat, g:b)
+ nnoremap <silent> n n
+ call cursor(1,1)
+ let g:a = execute(':unsilent :norm n')
+ let g:b = split(g:a, "\n")[-1]
+ let stat = '\[1/2\]'
+ call assert_notmatch(pat .. stat, g:b)
+ call assert_match(stat, g:b)
+ unmap n
+
+ " Clean up
set shortmess+=S
+
+ " close the window
bwipe!
endfunc
diff --git a/src/version.c b/src/version.c
index 655b68a..7b3fff0 100644
--- a/src/version.c
+++ b/src/version.c
@@ -762,6 +762,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 1970,
+/**/
1969,
/**/
1968,