mirror of
https://github.com/neovim/neovim.git
synced 2026-09-12 09:01:02 +00:00
vim-patch:9.2.1041: vim_strbyte() can be improved (#41784)
Problem: vim_strbyte() can be improved
Solution: Replace the byte-by-byte scan in vim_strbyte() with strchr(),
preserving its byte-range and NUL behavior (Yasuhiro Matsumoto).
closes: vim/vim#21240
df4ef959d5
Co-authored-by: Yasuhiro Matsumoto <mattn.jp@gmail.com>
This commit is contained in:
@@ -1,6 +1,33 @@
|
||||
" Tests for regexp in utf8 encoding
|
||||
|
||||
source shared.vim
|
||||
func Test_regexp_literal_byte_search()
|
||||
let save_encoding = &encoding
|
||||
let save_re = ®expengine
|
||||
try
|
||||
"for enc in ['latin1', 'utf-8']
|
||||
for enc in ['utf-8']
|
||||
let &encoding = enc
|
||||
for engine in [1, 2]
|
||||
let ®expengine = engine
|
||||
let chars = ['z', nr2char(0x7f), nr2char(0xff)]
|
||||
if enc == 'utf-8'
|
||||
call add(chars, nr2char(0x100))
|
||||
endif
|
||||
for c in chars
|
||||
let prefix = repeat('x', 4096)
|
||||
call assert_equal(-1, match('', c))
|
||||
call assert_equal(-1, match(prefix, c))
|
||||
call assert_equal(0, match(c .. prefix, c))
|
||||
call assert_equal(4096, match(prefix .. c, c))
|
||||
endfor
|
||||
call assert_equal(-1, match('xxx', '\%d0'))
|
||||
endfor
|
||||
endfor
|
||||
finally
|
||||
let &encoding = save_encoding
|
||||
let ®expengine = save_re
|
||||
endtry
|
||||
endfunc
|
||||
|
||||
func s:equivalence_test()
|
||||
let str = "AÀÁÂÃÄÅĀĂĄǍǞǠǺȂȦȺḀẠẢẤẦẨẪẬẮẰẲẴẶ BƁɃḂḄḆ CÇĆĈĊČƇȻḈꞒ DĎĐƊḊḌḎḐḒ EÈÉÊËĒĔĖĘĚȄȆȨɆḔḖḘḚḜẸẺẼẾỀỂỄỆ FƑḞꞘ GĜĞĠĢƓǤǦǴḠꞠ HĤĦȞḢḤḦḨḪⱧ IÌÍÎÏĨĪĬĮİƗǏȈȊḬḮỈỊ JĴɈ KĶƘǨḰḲḴⱩꝀ LĹĻĽĿŁȽḶḸḺḼⱠ MḾṀṂ NÑŃŅŇǸṄṆṈṊꞤ OÒÓÔÕÖØŌŎŐƟƠǑǪǬǾȌȎȪȬȮȰṌṎṐṒỌỎỐỒỔỖỘỚỜỞỠỢ PƤṔṖⱣ QɊ RŔŖŘȐȒɌṘṚṜṞⱤꞦ SŚŜŞŠȘṠṢṤṦṨⱾꞨ TŢŤŦƬƮȚȾṪṬṮṰ UÙÚÛÜŨŪŬŮŰƯǕǙǛǓǗȔȖɄṲṴṶṸṺỤỦỨỪỬỮỰ VƲṼṾ WŴẀẂẄẆẈ XẊẌ YÝŶŸƳȲɎẎỲỴỶỸ ZŹŻŽƵẐẒẔⱫ aàáâãäåāăąǎǟǡǻȃȧᶏḁẚạảấầẩẫậắằẳẵặⱥ bƀɓᵬᶀḃḅḇ cçćĉċčƈȼḉꞓꞔ dďđɗᵭᶁᶑḋḍḏḑḓ eèéêëēĕėęěȅȇȩɇᶒḕḗḙḛḝẹẻẽếềểễệ fƒᵮᶂḟꞙ gĝğġģǥǧǵɠᶃḡꞡ hĥħȟḣḥḧḩḫẖⱨꞕ iìíîïĩīĭįǐȉȋɨᶖḭḯỉị jĵǰɉ kķƙǩᶄḱḳḵⱪꝁ lĺļľŀłƚḷḹḻḽⱡ mᵯḿṁṃ nñńņňʼnǹᵰᶇṅṇṉṋꞥ oòóôõöøōŏőơǒǫǭǿȍȏȫȭȯȱɵṍṏṑṓọỏốồổỗộớờởỡợ pƥᵱᵽᶈṕṗ qɋʠ rŕŗřȑȓɍɽᵲᵳᶉṛṝṟꞧ sśŝşšșȿᵴᶊṡṣṥṧṩꞩ tţťŧƫƭțʈᵵṫṭṯṱẗⱦ uùúûüũūŭůűųǚǖưǔǘǜȕȗʉᵾᶙṳṵṷṹṻụủứừửữự vʋᶌṽṿ wŵẁẃẅẇẉẘ xẋẍ yýÿŷƴȳɏẏẙỳỵỷỹ zźżžƶᵶᶎẑẓẕⱬ"
|
||||
|
||||
Reference in New Issue
Block a user