mirror of
https://github.com/vim/vim.git
synced 2025-09-25 03:54:15 -04:00
patch 8.2.0938: NFA regexp uses tolower ()to compare ignore-case
Problem: NFA regexp uses tolower() to compare ignore-case. (Thayne McCombs) Solution: Use utf_fold() when possible. (ref. neovim #12456)
This commit is contained in:
@@ -355,4 +355,23 @@ func Test_ambiwidth()
|
||||
set regexpengine& ambiwidth&
|
||||
endfunc
|
||||
|
||||
func Run_regexp_ignore_case()
|
||||
call assert_equal('iIİ', substitute('iIİ', '\([iIİ]\)', '\1', 'g'))
|
||||
|
||||
call assert_equal('iIx', substitute('iIİ', '\c\([İ]\)', 'x', 'g'))
|
||||
call assert_equal('xxİ', substitute('iIİ', '\(i\c\)', 'x', 'g'))
|
||||
call assert_equal('iIx', substitute('iIİ', '\(İ\c\)', 'x', 'g'))
|
||||
call assert_equal('iIx', substitute('iIİ', '\c\(\%u0130\)', 'x', 'g'))
|
||||
call assert_equal('iIx', substitute('iIİ', '\c\([\u0130]\)', 'x', 'g'))
|
||||
call assert_equal('iIx', substitute('iIİ', '\c\([\u012f-\u0131]\)', 'x', 'g'))
|
||||
endfunc
|
||||
|
||||
func Test_regexp_ignore_case()
|
||||
set regexpengine=1
|
||||
call Run_regexp_ignore_case()
|
||||
set regexpengine=2
|
||||
call Run_regexp_ignore_case()
|
||||
set regexpengine&
|
||||
endfunc
|
||||
|
||||
" vim: shiftwidth=2 sts=2 expandtab
|
||||
|
Reference in New Issue
Block a user