patch 8.2.4438: crash on exit when using cmdline window
Problem: Crash on exit when using cmdline window.
Solution: Reset "cmdwin_type" before exiting. (closes #9817)
diff --git a/src/testdir/test_exit.vim b/src/testdir/test_exit.vim
index 93b8f51..b42eebf 100644
--- a/src/testdir/test_exit.vim
+++ b/src/testdir/test_exit.vim
@@ -1,6 +1,7 @@
" Tests for exiting Vim.
source shared.vim
+source check.vim
func Test_exiting()
let after =<< trim [CODE]
@@ -109,4 +110,17 @@
call delete('Xtestout')
endfunc
+func Test_exit_error_reading_input()
+ CheckNotGui
+
+ call writefile([":au VimLeave * call writefile(['l = ' .. v:exiting], 'Xtestout')", ":tabnew\<CR>q:"], 'Xscript')
+
+ if RunVim([], [], '< Xscript')
+ call assert_equal(['l = 1'], readfile('Xtestout'))
+ endif
+ call delete('Xscript')
+ call delete('Xtestout')
+endfun
+
+
" vim: shiftwidth=2 sts=2 expandtab
diff --git a/src/ui.c b/src/ui.c
index a6cee80..bf6ea85 100644
--- a/src/ui.c
+++ b/src/ui.c
@@ -1065,6 +1065,9 @@
if (silent_mode) // Normal way to exit for "ex -s"
getout(0);
STRCPY(IObuff, _("Vim: Error reading input, exiting...\n"));
+#ifdef FEAT_CMDWIN
+ cmdwin_type = 0;
+#endif
preserve_exit();
}
diff --git a/src/version.c b/src/version.c
index 7001029..399aef9 100644
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 4438,
+/**/
4437,
/**/
4436,