# HG changeset patch # User Christian Brabandt # Date 1498768203 -7200 # Node ID 7428a08c2f680016ccaf97c28f027fd7d5145f2a # Parent 8254ce2f26533fb20fe781facc601617e42f3194 patch 8.0.0689: ~ character not escaped when extending search pattern commit https://github.com/vim/vim/commit/a693d0584b9a7ccce98813dda3a6badb209904c7 Author: Bram Moolenaar Date: Thu Jun 29 22:23:06 2017 +0200 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 --- a/src/ex_getln.c +++ b/src/ex_getln.c @@ -1492,7 +1492,7 @@ getcmdline( 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 --- a/src/testdir/test_search.vim +++ b/src/testdir/test_search.vim @@ -302,3 +302,23 @@ func Test_searchc() 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\\", '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 --- a/src/version.c +++ b/src/version.c @@ -765,6 +765,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 689, +/**/ 688, /**/ 687,