changeset 14652:f3b183c3d3e2 v8.1.0339

patch 8.1.0339: wrong highlight when 'incsearch' set and cancelling :s commit https://github.com/vim/vim/commit/f13daa46da85a80dd05704cdde0660c2b2651a5a Author: Bram Moolenaar <Bram@vim.org> Date: Fri Aug 31 22:09:54 2018 +0200 patch 8.1.0339: wrong highlight when 'incsearch' set and cancelling :s Problem: Wrong highlight when 'incsearch' set and cancelling :s. Solution: Reset search line range. (Hirohito Higashi, Masamichi Abe)
author Christian Brabandt <cb@256bit.org>
date Fri, 31 Aug 2018 22:15:05 +0200
parents 5d076ad59cf4
children a79d458c5f63
files src/ex_getln.c src/testdir/dumps/Test_incsearch_substitute_10.dump src/testdir/test_search.vim src/version.c
diffstat 4 files changed, 27 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/ex_getln.c
+++ b/src/ex_getln.c
@@ -436,12 +436,18 @@ finish_incsearch_highlighting(
 	}
 	restore_viewstate(&is_state->old_viewstate);
 	highlight_match = FALSE;
+
+	// by default search all lines
+	search_first_line = 0;
+	search_last_line = MAXLNUM;
+
+	p_magic = is_state->magic_save;
+
 	validate_cursor();	/* needed for TAB */
 	if (call_update_screen)
 	    update_screen(SOME_VALID);
 	else
 	    redraw_all_later(SOME_VALID);
-	p_magic = is_state->magic_save;
     }
 }
 
new file mode 100644
--- /dev/null
+++ b/src/testdir/dumps/Test_incsearch_substitute_10.dump
@@ -0,0 +1,9 @@
+|f+0&#ffff4012|o@1| +0&#ffffff0|1| @64
+>f+0&#ffff4012|o@1| +0&#ffffff0|2| @64
+|f+0&#ffff4012|o@1| +0&#ffffff0|3| @64
+|f+0&#ffff4012|o@1| +0&#ffffff0|4| @64
+|f+0&#ffff4012|o@1| +0&#ffffff0|5| @64
+|f+0&#ffff4012|o@1| +0&#ffffff0|6| @64
+|f+0&#ffff4012|o@1| +0&#ffffff0|7| @64
+|f+0&#ffff4012|o@1| +0&#ffffff0|8| @64
+@52|2|,|1| @10|T|o|p| 
--- a/src/testdir/test_search.vim
+++ b/src/testdir/test_search.vim
@@ -956,6 +956,15 @@ func Test_incsearch_substitute_dump()
   call VerifyScreenDump(buf, 'Test_incsearch_substitute_09', {})
   call term_sendkeys(buf, "\<Esc>")
 
+  call term_sendkeys(buf, ":set nocursorline\<CR>")
+
+  " All matches are highlighted for 'hlsearch' after the incsearch canceled
+  call term_sendkeys(buf, "1G*")
+  call term_sendkeys(buf, ":2,5s/foo")
+  sleep 100m
+  call term_sendkeys(buf, "\<Esc>")
+  call VerifyScreenDump(buf, 'Test_incsearch_substitute_10', {})
+
   call StopVimInTerminal(buf)
   call delete('Xis_subst_script')
 endfunc
--- a/src/version.c
+++ b/src/version.c
@@ -795,6 +795,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    339,
+/**/
     338,
 /**/
     337,