mirror of
https://github.com/vim/vim.git
synced 2026-05-28 00:21:37 +02:00
patch 9.2.0324: 0x9b byte not unescaped in <Cmd> mapping
Problem: 0x9b byte not unescaped in <Cmd> mapping (BenYip).
Solution: Translate K_CSI to CSI like what is done in vgetc().
(zeertzjq).
fixes: #19936
closes: #19937
Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
committed by
Christian Brabandt
parent
9d9381fb28
commit
3e2012914e
@@ -4283,6 +4283,13 @@ getcmdkeycmd(
|
||||
// to a single Esc here.
|
||||
if (c1 == K_ESC)
|
||||
c1 = ESC;
|
||||
|
||||
#ifdef FEAT_GUI
|
||||
// Translate K_CSI to CSI. The special key is only used to
|
||||
// avoid it being recognized as the start of a special key.
|
||||
if (c1 == K_CSI)
|
||||
c1 = CSI;
|
||||
#endif
|
||||
}
|
||||
|
||||
if (got_int)
|
||||
|
||||
@@ -1124,7 +1124,11 @@ func Test_map_cmdkey()
|
||||
call setline(1, ['some short lines', 'of test text'])
|
||||
call feedkeys(":bar\<F2>x\<C-B>\"\r", 'xt')
|
||||
call assert_equal('"barx', @:)
|
||||
unmap! <F2>
|
||||
|
||||
" test for chars with 0x80 or 0x9b bytes
|
||||
map <F2> <Cmd>let x = '洛固四最倒倀'<CR>
|
||||
call feedkeys("\<F2>", 'xt')
|
||||
call assert_equal('洛固四最倒倀', x)
|
||||
|
||||
" test for calling a <SID> function
|
||||
let lines =<< trim END
|
||||
@@ -1137,7 +1141,10 @@ func Test_map_cmdkey()
|
||||
source Xscript
|
||||
call feedkeys("\<F2>", 'xt')
|
||||
call assert_equal(32, g:x)
|
||||
unlet g:x
|
||||
|
||||
unmap <F2>
|
||||
unmap! <F2>
|
||||
unmap <F3>
|
||||
unmap! <F3>
|
||||
%bw!
|
||||
|
||||
@@ -734,6 +734,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
324,
|
||||
/**/
|
||||
323,
|
||||
/**/
|
||||
|
||||
Reference in New Issue
Block a user