patch 8.0.0689: ~ character not escaped when extending search pattern
Problem: The ~ character is not escaped when adding to the search pattern
with CTRL-L. (Ramel Eshed)
Solution: Escape the character. (Christian Brabandt)
diff --git a/src/ex_getln.c b/src/ex_getln.c
index ba8fde6..11de136 100644
--- a/src/ex_getln.c
+++ b/src/ex_getln.c
@@ -1492,7 +1492,7 @@
if (c != NUL)
{
if (c == firstc || vim_strchr((char_u *)(
- p_magic ? "\\^$.*[" : "\\^$"), c)
+ p_magic ? "\\~^$.*[" : "\\^$"), c)
!= NULL)
{
/* put a backslash before special
diff --git a/src/testdir/test_search.vim b/src/testdir/test_search.vim
index 730e683..18a4577 100644
--- a/src/testdir/test_search.vim
+++ b/src/testdir/test_search.vim
@@ -302,3 +302,23 @@
exe "norm 0t\u93cf"
bw!
endfunc
+
+func Test_search_cmdline3()
+ if !exists('+incsearch')
+ return
+ endif
+ " need to disable char_avail,
+ " so that expansion of commandline works
+ call test_override("char_avail", 1)
+ new
+ call setline(1, [' 1', ' 2 the~e', ' 3 the theother'])
+ set incsearch
+ 1
+ " first match
+ call feedkeys("/the\<c-l>\<cr>", 'tx')
+ call assert_equal(' 2 the~e', getline('.'))
+ " clean up
+ set noincsearch
+ call test_override("char_avail", 0)
+ bw!
+endfunc
diff --git a/src/version.c b/src/version.c
index 7bf3f4e..64f035d 100644
--- a/src/version.c
+++ b/src/version.c
@@ -765,6 +765,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 689,
+/**/
688,
/**/
687,