patch 8.2.2036: buffer messed up if creating the quickfix window fails
Problem: Current buffer is messed up if creating a new buffer for the
quickfix window fails.
Solution: Check that creating the buffer succeeds. (closes #7352)
diff --git a/src/quickfix.c b/src/quickfix.c
index 40897b6..5e46ad2 100644
--- a/src/quickfix.c
+++ b/src/quickfix.c
@@ -4151,13 +4151,15 @@
if (qf_buf != NULL)
{
// Use the existing quickfix buffer
- (void)do_ecmd(qf_buf->b_fnum, NULL, NULL, NULL, ECMD_ONE,
- ECMD_HIDE + ECMD_OLDBUF, oldwin);
+ if (do_ecmd(qf_buf->b_fnum, NULL, NULL, NULL, ECMD_ONE,
+ ECMD_HIDE + ECMD_OLDBUF, oldwin) == FAIL)
+ return FAIL;
}
else
{
// Create a new quickfix buffer
- (void)do_ecmd(0, NULL, NULL, NULL, ECMD_ONE, ECMD_HIDE, oldwin);
+ if (do_ecmd(0, NULL, NULL, NULL, ECMD_ONE, ECMD_HIDE, oldwin) == FAIL)
+ return FAIL;
// save the number of the new buffer
qi->qf_bufnr = curbuf->b_fnum;