# HG changeset patch # User Bram Moolenaar # Date 1544799606 -3600 # Node ID 27ba8d007a86b34b193bceed918fcf910e94d178 # Parent 87e3b7803b1ec9f99eafe6513aa1101b596ac8ad patch 8.1.0584: with search CTRL-L does not pick up composing characters commit https://github.com/vim/vim/commit/5f5e203c92365ac6399de3663637b73bf9fb6dfa Author: Bram Moolenaar Date: Fri Dec 14 15:47:03 2018 +0100 patch 8.1.0584: with search CTRL-L does not pick up composing characters Problem: With search CTRL-L does not pick up composing characters. Solution: Check for composing characters. (Christian Brabandt, closes https://github.com/vim/vim/issues/3682) [code change was accidentally included in 8.1.0579] 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 @@ -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 a /\%u61\Z "\u0061" + " ' ̀' U+0300 Dec:768 COMBINING GRAVE ACCENT ̀ /\%u300\Z "\u0300" + " ' ́' U+0301 Dec:769 COMBINING ACUTE ACCENT ́ /\%u301\Z "\u0301" + " ' ̇' U+0307 Dec:775 COMBINING DOT ABOVE ̇ /\%u307\Z "\u0307" + " ' ̣' U+0323 Dec:803 COMBINING DOT BELOW ̣ /\%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\\\", '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 --- 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,