vim-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 vim/vim#3682)
            [code change was accidentally included in 8.1.0579]
5f5e203c92
This commit is contained in:
Jan Edmund Lazo 2020-09-12 18:59:50 -04:00
parent d5eff30c72
commit 870f88f387
No known key found for this signature in database
GPG Key ID: 64915E6E9F735B15

View File

@ -994,6 +994,28 @@ 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\<c-l>\<c-l>\<cr>", 'tx')
call assert_equal(5, line('.'))
call assert_equal(bufcontent[1], @/)
call Incsearch_cleanup()
endfunc
func Test_large_hex_chars1()
" This used to cause a crash, the character becomes an NFA state.
try