0
0
mirror of https://github.com/vim/vim.git synced 2025-09-30 04:44:14 -04:00

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 #3682)
            [code change was accidentally included in 8.1.0579]
This commit is contained in:
Bram Moolenaar
2018-12-14 15:47:03 +01:00
parent 8f66717a1f
commit 5f5e203c92
2 changed files with 24 additions and 0 deletions

View File

@@ -1154,3 +1154,25 @@ func Test_no_last_substitute_pat()
call delete('Xviminfo') call delete('Xviminfo')
endfunc 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\<c-l>\<c-l>\<cr>", 'tx')
call assert_equal(5, line('.'))
call assert_equal(bufcontent[1], @/)
call Incsearch_cleanup()
endfunc

View File

@@ -799,6 +799,8 @@ static char *(features[]) =
static int included_patches[] = static int included_patches[] =
{ /* Add new patch number below this line */ { /* Add new patch number below this line */
/**/
584,
/**/ /**/
583, 583,
/**/ /**/