patch 9.0.0571: MS-Windows: CTRL-C can make Vim exit
Problem: MS-Windows: CTRL-C can make Vim exit.
Solution: Check the not-a-term argument.
diff --git a/src/main.c b/src/main.c
index 6875ee5..c0059c1 100644
--- a/src/main.c
+++ b/src/main.c
@@ -1008,7 +1008,7 @@
* Return TRUE when the --not-a-term argument was found.
*/
int
-is_not_a_term()
+is_not_a_term(void)
{
return params.not_a_term;
}
@@ -1016,8 +1016,8 @@
/*
* Return TRUE when the --not-a-term argument was found or the GUI is in use.
*/
- static int
-is_not_a_term_or_gui()
+ int
+is_not_a_term_or_gui(void)
{
return params.not_a_term
#ifdef FEAT_GUI
diff --git a/src/normal.c b/src/normal.c
index be578ae..0539738 100644
--- a/src/normal.c
+++ b/src/normal.c
@@ -6793,11 +6793,8 @@
&& !VIsual_active
&& no_reason)
{
- int out_redir = !stdout_isatty
-#ifdef FEAT_GUI
- && !gui.in_use
-#endif
- ;
+ int out_redir = !stdout_isatty && !is_not_a_term_or_gui();
+
// The user may accidentally do "vim file | grep word" and then
// CTRL-C doesn't show anything. With a changed buffer give the
// message on stderr. Without any changes might as well exit.
diff --git a/src/proto/main.pro b/src/proto/main.pro
index 4368e24..f0f9b73 100644
--- a/src/proto/main.pro
+++ b/src/proto/main.pro
@@ -2,6 +2,7 @@
int vim_main2(void);
void common_init(mparm_T *paramp);
int is_not_a_term(void);
+int is_not_a_term_or_gui(void);
char_u *get_gui_dialog_file(void);
int op_pending(void);
void may_trigger_safestate(int safe);
diff --git a/src/version.c b/src/version.c
index 1cbf551..ad6a9ed 100644
--- a/src/version.c
+++ b/src/version.c
@@ -700,6 +700,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 571,
+/**/
570,
/**/
569,