diff options
author | Sean Dewar <seandewar@users.noreply.github.com> | 2022-02-25 00:17:17 +0000 |
---|---|---|
committer | Sean Dewar <seandewar@users.noreply.github.com> | 2022-03-14 13:10:57 +0000 |
commit | 7e19c18a544b5f1f15cec0444385ddae80687a26 (patch) | |
tree | 712dbd3d26e996bfcbd358e1bead95073a2bcf40 /src | |
parent | 70582bd9259e4f503757ea7b4bf8b4b994218ac7 (diff) | |
download | rneovim-7e19c18a544b5f1f15cec0444385ddae80687a26.tar.gz rneovim-7e19c18a544b5f1f15cec0444385ddae80687a26.tar.bz2 rneovim-7e19c18a544b5f1f15cec0444385ddae80687a26.zip |
vim-patch:8.2.4454: resetting cmdwin_type only for one situation
Problem: Resetting cmdwin_type only for one situation.
Solution: Reset cmdwin_type before closing windows. (closes vim/vim#9822)
https://github.com/vim/vim/commit/6a8b13614e5bcb233d20403ae9f008ccba152be3
Move the check to win_free_all to match Vim.
Diffstat (limited to 'src')
-rw-r--r-- | src/nvim/memory.c | 3 | ||||
-rw-r--r-- | src/nvim/testdir/test_exit.vim | 1 | ||||
-rw-r--r-- | src/nvim/window.c | 3 |
3 files changed, 4 insertions, 3 deletions
diff --git a/src/nvim/memory.c b/src/nvim/memory.c index 373693a6fe..d68ca6b62e 100644 --- a/src/nvim/memory.c +++ b/src/nvim/memory.c @@ -575,9 +575,6 @@ void free_all_mem(void) // Don't want to trigger autocommands from here on. block_autocmds(); - // Ensure cmdline window doesn't prevent closing tabs and windows. - cmdwin_type = 0; - // Close all tabs and windows. Reset 'equalalways' to avoid redraws. p_ea = false; if (first_tabpage->tp_next != NULL) { diff --git a/src/nvim/testdir/test_exit.vim b/src/nvim/testdir/test_exit.vim index 4e5da49adb..befcaec2b2 100644 --- a/src/nvim/testdir/test_exit.vim +++ b/src/nvim/testdir/test_exit.vim @@ -123,6 +123,7 @@ func Test_exit_error_reading_input() " Nvim requires "-s -" to read stdin as Normal mode input " if RunVim([], [], '<Xscript') if RunVim([], [], '-s - <Xscript') + call assert_equal(1, v:shell_error) call assert_equal(['l = 1'], readfile('Xtestout')) endif call delete('Xscript') diff --git a/src/nvim/window.c b/src/nvim/window.c index 3c34620db4..f2b84a4124 100644 --- a/src/nvim/window.c +++ b/src/nvim/window.c @@ -2904,6 +2904,9 @@ void win_free_all(void) { int dummy; + // avoid an error for switching tabpage with the cmdline window open + cmdwin_type = 0; + while (first_tabpage->tp_next != NULL) { tabpage_close(TRUE); } |