patch 9.1.0664: MS-Windows: console vim did not switch back to main screen on exit
Problem: MS-Windows: console vim did not switch back to main screen on
exit
Solution: switch back to main screen on exit (Ken Takata)
`vim.exe --cmd quit` quitted without switching back to the main screen
buffer and the alternate screen buffer was kept shown.
Restore the main screen buffer even when termcap mode has not been
started.
closes: #15443
Signed-off-by: Ken Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/src/os_win32.c b/src/os_win32.c
index 44d92c0..6384ac8 100644
--- a/src/os_win32.c
+++ b/src/os_win32.c
@@ -3561,6 +3561,10 @@
vtp_exit();
stoptermcap();
+ // Switch back to main screen buffer.
+ if (use_alternate_screen_buffer)
+ vtp_printf("\033[?1049l");
+
if (g_fWindInitCalled)
settmode(TMODE_COOK);
@@ -6334,10 +6338,6 @@
RestoreConsoleBuffer(cb, p_rs);
restore_console_color_rgb();
- // Switch back to main screen buffer.
- if (exiting && use_alternate_screen_buffer)
- vtp_printf("\033[?1049l");
-
if (!USE_WT && (p_rs || exiting))
{
/*