patch 8.2.2416: may get stuck in command line window state
Problem: May get stuck in command line window state.
Solution: Reset "cmdwin_type" when editing buffer fails. Make arglist test
pass on MS-Windows.
diff --git a/src/ex_getln.c b/src/ex_getln.c
index d025368..d6712c1 100644
--- a/src/ex_getln.c
+++ b/src/ex_getln.c
@@ -4214,6 +4214,7 @@
// Some autocommand messed it up?
win_close(curwin, TRUE);
ga_clear(&winsizes);
+ cmdwin_type = 0;
return Ctrl_C;
}
diff --git a/src/testdir/test_arglist.vim b/src/testdir/test_arglist.vim
index 6202993..4f16941 100644
--- a/src/testdir/test_arglist.vim
+++ b/src/testdir/test_arglist.vim
@@ -563,12 +563,18 @@
" Test for ":all" not working when in the cmdline window
func Test_all_not_allowed_from_cmdwin()
CheckFeature cmdwin
- " TODO: why does this hang on Windows?
- CheckNotMSWindows
au BufEnter * all
next x
- call assert_fails(":norm 7q?print\<CR>", 'E11:')
+ " Use try/catch here, somehow assert_fails() doesn't work on MS-Windows
+ " console.
+ let caught = 'no'
+ try
+ exe ":norm! 7q?apat\<CR>"
+ catch /E11:/
+ let caught = 'yes'
+ endtry
+ call assert_equal('yes', caught)
au! BufEnter
endfunc
diff --git a/src/version.c b/src/version.c
index 24a1d7f..17ca271 100644
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 2416,
+/**/
2415,
/**/
2414,