summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2018-12-14 15:47:03 +0100
committerBram Moolenaar <Bram@vim.org>2018-12-14 15:47:03 +0100
commit5f5e203c92365ac6399de3663637b73bf9fb6dfa (patch)
tree6ff94fb820ddf25e863d64e65c2655ad28843ed9
parent8f66717a1f835b8194139d158c1e2df8b30c3ef3 (diff)
patch 8.1.0584: with search CTRL-L does not pick up composing charactersv8.1.0584
Problem: With search CTRL-L does not pick up composing characters. Solution: Check for composing characters. (Christian Brabandt, closes #3682) [code change was accidentally included in 8.1.0579]
-rw-r--r--src/testdir/test_search.vim22
-rw-r--r--src/version.c2
2 files changed, 24 insertions, 0 deletions
diff --git a/src/testdir/test_search.vim b/src/testdir/test_search.vim
index eadb128e03..3c83dd197d 100644
--- a/src/testdir/test_search.vim
+++ b/src/testdir/test_search.vim
@@ -1154,3 +1154,25 @@ func Test_no_last_substitute_pat()
call delete('Xviminfo')
endfunc
+
+func Test_search_Ctrl_L_combining()
+ " Make sure, that Ctrl-L works correctly with combining characters.
+ " It uses an artificial example of an 'a' with 4 combining chars:
+ " 'a' U+0061 Dec:97 LATIN SMALL LETTER A &#x61; /\%u61\Z "\u0061"
+ " ' ̀' U+0300 Dec:768 COMBINING GRAVE ACCENT &#x300; /\%u300\Z "\u0300"
+ " ' ́' U+0301 Dec:769 COMBINING ACUTE ACCENT &#x301; /\%u301\Z "\u0301"
+ " ' ̇' U+0307 Dec:775 COMBINING DOT ABOVE &#x307; /\%u307\Z "\u0307"
+ " ' ̣' U+0323 Dec:803 COMBINING DOT BELOW &#x323; /\%u323 "\u0323"
+ " Those should also appear on the commandline
+ if !has('multi_byte') || !exists('+incsearch')
+ return
+ endif
+ call Cmdline3_prep()
+ 1
+ let bufcontent = ['', 'Miạ̀́̇m']
+ call append('$', bufcontent)
+ call feedkeys("/Mi\<c-l>\<c-l>\<cr>", 'tx')
+ call assert_equal(5, line('.'))
+ call assert_equal(bufcontent[1], @/)
+ call Incsearch_cleanup()
+endfunc
diff --git a/src/version.c b/src/version.c
index 1c85bf1f62..a25f262b88 100644
--- a/src/version.c
+++ b/src/version.c
@@ -800,6 +800,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 584,
+/**/
583,
/**/
582,