Mercurial > vim
diff src/testdir/test_mapping.vim @ 32369:ffbae151e462 v9.0.1516
patch 9.0.1516: cannot use special keys in <Cmd> mapping
Commit: https://github.com/vim/vim/commit/3ab3a864814f903da8a158c01820e4fbe1013c08
Author: zeertzjq <zeertzjq@outlook.com>
Date: Sat May 6 16:22:04 2023 +0100
patch 9.0.1516: cannot use special keys in <Cmd> mapping
Problem: Cannot use special keys in <Cmd> mapping.
Solution: Do allow for special keys in <Cmd> and <ScriptCmd> mappings.
(closes #12326)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sat, 06 May 2023 17:30:03 +0200 |
parents | f99b85fc18e7 |
children | 448aef880252 |
line wrap: on
line diff
--- a/src/testdir/test_mapping.vim +++ b/src/testdir/test_mapping.vim @@ -1001,10 +1001,6 @@ func Test_map_cmdkey() call assert_fails('call feedkeys("\<F3>", "xt")', 'E1136:') call assert_equal(0, x) - noremap <F3> <Cmd><F3>let x = 2<CR> - call assert_fails('call feedkeys("\<F3>", "xt")', 'E1137:') - call assert_equal(0, x) - noremap <F3> <Cmd>let x = 3 call assert_fails('call feedkeys("\<F3>", "xt!")', 'E1255:') call assert_equal(0, x) @@ -1104,11 +1100,6 @@ func Test_map_cmdkey() unmap <F3> unmap! <F3> %bw! - - " command line ending in "0" is handled without errors - onoremap ix <cmd>eval 0<cr> - call feedkeys('dix.', 'xt') - ounmap ix endfunc " text object enters visual mode @@ -1495,6 +1486,24 @@ func Test_map_cmdkey_redo() call delete('Xcmdtext') delfunc SelectDash ounmap i- + + new + call setline(1, 'aaa bbb ccc ddd') + + " command can contain special keys + onoremap ix <Cmd>let g:foo ..= '…'<Bar>normal! <C-Right><CR> + let g:foo = '' + call feedkeys('0dix.', 'xt') + call assert_equal('……', g:foo) + call assert_equal('ccc ddd', getline(1)) + unlet g:foo + + " command line ending in "0" is handled without errors + onoremap ix <Cmd>eval 0<CR> + call feedkeys('dix.', 'xt') + + ounmap ix + bwipe! endfunc func Test_map_script_cmd_restore()