diff options
author | zeertzjq <zeertzjq@outlook.com> | 2022-07-14 20:59:17 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-07-14 20:59:17 +0800 |
commit | 001f19de2880192006eda139aa07c62a7f481422 (patch) | |
tree | 3f076553aec60e1589c508a50bfeb4010471a9d7 /src | |
parent | b41f2bcae77ca2efa52af4f3dd1ba33074d576cf (diff) | |
parent | 8d67358d49f48c82af7b007685a7902dfd4131ab (diff) | |
download | rneovim-001f19de2880192006eda139aa07c62a7f481422.tar.gz rneovim-001f19de2880192006eda139aa07c62a7f481422.tar.bz2 rneovim-001f19de2880192006eda139aa07c62a7f481422.zip |
Merge pull request #19364 from zeertzjq/vim-8.2.0921
vim-patch:8.2.{0921,0926}: CTRL-W T in cmdline window causes trouble
Diffstat (limited to 'src')
-rw-r--r-- | src/nvim/testdir/test_cmdline.vim | 53 | ||||
-rw-r--r-- | src/nvim/window.c | 1 |
2 files changed, 38 insertions, 16 deletions
diff --git a/src/nvim/testdir/test_cmdline.vim b/src/nvim/testdir/test_cmdline.vim index 5d5713d0e3..dba0ba7dec 100644 --- a/src/nvim/testdir/test_cmdline.vim +++ b/src/nvim/testdir/test_cmdline.vim @@ -1326,22 +1326,6 @@ func Test_cmdwin_autocmd() augroup! CmdWin endfunc -func Test_cmdwin_jump_to_win() - call assert_fails('call feedkeys("q:\<C-W>\<C-W>\<CR>", "xt")', 'E11:') - new - set modified - call assert_fails('call feedkeys("q/:qall\<CR>", "xt")', 'E162:') - close! - call feedkeys("q/:close\<CR>", "xt") - call assert_equal(1, winnr('$')) - call feedkeys("q/:exit\<CR>", "xt") - call assert_equal(1, winnr('$')) - - " opening command window twice should fail - call assert_beeps('call feedkeys("q:q:\<CR>\<CR>", "xt")') - call assert_equal(1, winnr('$')) -endfunc - func Test_cmdlineclear_tabenter() " See test/functional/legacy/cmdline_spec.lua CheckScreendump @@ -1379,6 +1363,22 @@ func Test_cmdline_expand_special() call delete('Xfile.java') endfunc +func Test_cmdwin_jump_to_win() + call assert_fails('call feedkeys("q:\<C-W>\<C-W>\<CR>", "xt")', 'E11:') + new + set modified + call assert_fails('call feedkeys("q/:qall\<CR>", "xt")', 'E162:') + close! + call feedkeys("q/:close\<CR>", "xt") + call assert_equal(1, winnr('$')) + call feedkeys("q/:exit\<CR>", "xt") + call assert_equal(1, winnr('$')) + + " opening command window twice should fail + call assert_beeps('call feedkeys("q:q:\<CR>\<CR>", "xt")') + call assert_equal(1, winnr('$')) +endfunc + " Test for backtick expression in the command line func Test_cmd_backtick() %argd @@ -1698,6 +1698,27 @@ func Test_cmdwin_blocked_commands() call assert_fails('call feedkeys("q:Q\<CR>", "xt")', 'E11:') call assert_fails('call feedkeys("q:Z\<CR>", "xt")', 'E11:') call assert_fails('call feedkeys("q:\<F1>\<CR>", "xt")', 'E11:') + call assert_fails('call feedkeys("q:\<C-W>s\<CR>", "xt")', 'E11:') + call assert_fails('call feedkeys("q:\<C-W>v\<CR>", "xt")', 'E11:') + call assert_fails('call feedkeys("q:\<C-W>^\<CR>", "xt")', 'E11:') + call assert_fails('call feedkeys("q:\<C-W>n\<CR>", "xt")', 'E11:') + call assert_fails('call feedkeys("q:\<C-W>z\<CR>", "xt")', 'E11:') + call assert_fails('call feedkeys("q:\<C-W>o\<CR>", "xt")', 'E11:') + call assert_fails('call feedkeys("q:\<C-W>w\<CR>", "xt")', 'E11:') + call assert_fails('call feedkeys("q:\<C-W>j\<CR>", "xt")', 'E11:') + call assert_fails('call feedkeys("q:\<C-W>k\<CR>", "xt")', 'E11:') + call assert_fails('call feedkeys("q:\<C-W>h\<CR>", "xt")', 'E11:') + call assert_fails('call feedkeys("q:\<C-W>l\<CR>", "xt")', 'E11:') + call assert_fails('call feedkeys("q:\<C-W>T\<CR>", "xt")', 'E11:') + call assert_fails('call feedkeys("q:\<C-W>x\<CR>", "xt")', 'E11:') + call assert_fails('call feedkeys("q:\<C-W>r\<CR>", "xt")', 'E11:') + call assert_fails('call feedkeys("q:\<C-W>R\<CR>", "xt")', 'E11:') + call assert_fails('call feedkeys("q:\<C-W>K\<CR>", "xt")', 'E11:') + call assert_fails('call feedkeys("q:\<C-W>}\<CR>", "xt")', 'E11:') + call assert_fails('call feedkeys("q:\<C-W>]\<CR>", "xt")', 'E11:') + call assert_fails('call feedkeys("q:\<C-W>f\<CR>", "xt")', 'E11:') + call assert_fails('call feedkeys("q:\<C-W>d\<CR>", "xt")', 'E11:') + call assert_fails('call feedkeys("q:\<C-W>g\<CR>", "xt")', 'E11:') endfunc " test that ";" works to find a match at the start of the first line diff --git a/src/nvim/window.c b/src/nvim/window.c index 7895391697..cf10e635b6 100644 --- a/src/nvim/window.c +++ b/src/nvim/window.c @@ -331,6 +331,7 @@ newwindow: // move window to new tab page case 'T': + CHECK_CMDWIN; if (one_window(curwin)) { msg(_(m_onlyone)); } else { |