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,