patch 8.1.1015: quickfix buffer shows up in list, can't get buffer number
Problem: Quickfix buffer shows up in list, can't get buffer number.
Solution: Make the quickfix buffer unlisted when the quickfix window is
closed. get the quickfix buffer number with getqflist().
(Yegappan Lakshmanan, closes #4113)
diff --git a/src/window.c b/src/window.c
index 98d6085..6c9c705 100644
--- a/src/window.c
+++ b/src/window.c
@@ -2382,18 +2382,24 @@
}
#ifdef FEAT_GUI
- /* Avoid trouble with scrollbars that are going to be deleted in
- * win_free(). */
+ // Avoid trouble with scrollbars that are going to be deleted in
+ // win_free().
if (gui.in_use)
out_flush();
#endif
#ifdef FEAT_SYN_HL
- /* Free independent synblock before the buffer is freed. */
+ // Free independent synblock before the buffer is freed.
if (win->w_buffer != NULL)
reset_synblock(win);
#endif
+#ifdef FEAT_QUICKFIX
+ // When the quickfix/location list window is closed, unlist the buffer.
+ if (win->w_buffer != NULL && bt_quickfix(win->w_buffer))
+ win->w_buffer->b_p_bl = FALSE;
+#endif
+
/*
* Close the link to the buffer.
*/