From a693d0584b9a7ccce98813dda3a6badb209904c7 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Thu, 29 Jun 2017 22:23:06 +0200 Subject: [PATCH] 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) --- src/ex_getln.c | 2 +- src/testdir/test_search.vim | 20 ++++++++++++++++++++ src/version.c | 2 ++ 3 files changed, 23 insertions(+), 1 deletion(-) diff --git a/src/ex_getln.c b/src/ex_getln.c index ba8fde65e..11de136bf 100644 --- 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 index 730e68391..18a4577b7 100644 --- 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 index 7bf3f4e9c..64f035dbd 100644 --- a/src/version.c +++ b/src/version.c @@ -764,6 +764,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 689, /**/ 688, /**/ -- 2.50.1