patch 7.4.1037
Problem: Using "q!" when there is a modified hidden buffer does not unload
the current buffer, resulting in the need to abandon it again.
Solution: When using "q!" unload the current buffer when needed. (Yasuhiro
Matsumoto, Hirohito Higashi)
diff --git a/src/ex_docmd.c b/src/ex_docmd.c
index 648cc0d..ac713dc 100644
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -7143,7 +7143,7 @@
| (eap->forceit ? CCGD_FORCEIT : 0)
| CCGD_EXCMD))
|| check_more(TRUE, eap->forceit) == FAIL
- || (only_one_window() && check_changed_any(eap->forceit)))
+ || (only_one_window() && check_changed_any(eap->forceit, TRUE)))
{
not_exiting();
}
@@ -7214,7 +7214,7 @@
#endif
exiting = TRUE;
- if (eap->forceit || !check_changed_any(FALSE))
+ if (eap->forceit || !check_changed_any(FALSE, FALSE))
getout(0);
not_exiting();
}
@@ -7609,7 +7609,7 @@
|| curbufIsChanged())
&& do_write(eap) == FAIL)
|| check_more(TRUE, eap->forceit) == FAIL
- || (only_one_window() && check_changed_any(eap->forceit)))
+ || (only_one_window() && check_changed_any(eap->forceit, FALSE)))
{
not_exiting();
}