1
0
forked from aniani/vim

patch 9.1.0365: Crash when typing many keys with D- modifier

Problem:  Crash when typing many keys with D- modifier (after 9.1.0227).
Solution: Don't treat a 0x80 byte inside a special sequence as the start
          of a special sequence (zeertzjq).

closes: #14613

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
zeertzjq
2024-04-22 21:04:29 +02:00
committed by Christian Brabandt
parent 22697b6179
commit 6b13e3d4e4
4 changed files with 50 additions and 40 deletions

View File

@@ -248,21 +248,25 @@ func Test_map_meta_multibyte()
endfunc
func Test_map_super_quotes()
if has('gui_gtk') || has('gui_gtk3') || has("macos")
imap <D-"> foo
call feedkeys("Go-\<*D-\">-\<Esc>", "xt")
call assert_equal("-foo-", getline('$'))
set nomodified
iunmap <D-">
if "\<D-j>"[-1:] == '>'
throw 'Skipped: <D- modifier not supported'
endif
imap <D-"> foo
call feedkeys("Go-\<*D-\">-\<Esc>", "xt")
call assert_equal("-foo-", getline('$'))
set nomodified
iunmap <D-">
endfunc
func Test_map_super_multibyte()
if has('gui_gtk') || has('gui_gtk3') || has("macos")
imap <D-á> foo
call assert_match('i <D-á>\s*foo', execute('imap'))
iunmap <D-á>
if "\<D-j>"[-1:] == '>'
throw 'Skipped: <D- modifier not supported'
endif
imap <D-á> foo
call assert_match('i <D-á>\s*foo', execute('imap'))
iunmap <D-á>
endfunc
func Test_abbr_after_line_join()