From 39803d82dbb215d2eea9fcd6cf2961b71515a438 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Sun, 7 Apr 2019 12:04:51 +0200 Subject: [PATCH] patch 8.1.1134: buffer for quickfix window is reused for another file Problem: Buffer for quickfix window is reused for another file. Solution: Don't reuse the quickfx buffer. (Yegappan Lakshmanan) --- src/buffer.c | 1 + src/testdir/test_quickfix.vim | 14 ++++++++++++++ src/version.c | 2 ++ 3 files changed, 17 insertions(+) diff --git a/src/buffer.c b/src/buffer.c index b9b44886c..187a8a648 100644 --- a/src/buffer.c +++ b/src/buffer.c @@ -1853,6 +1853,7 @@ curbuf_reusable(void) && curbuf->b_ffname == NULL && curbuf->b_nwindows <= 1 && (curbuf->b_ml.ml_mfp == NULL || BUFEMPTY()) + && !bt_quickfix(curbuf) && !curbufIsChanged()); } diff --git a/src/testdir/test_quickfix.vim b/src/testdir/test_quickfix.vim index bb25e64c8..6099dcf34 100644 --- a/src/testdir/test_quickfix.vim +++ b/src/testdir/test_quickfix.vim @@ -4012,3 +4012,17 @@ func Test_winonly_autocmd() new | only call delete('Xtest1') endfunc + +" Test to make sure that an empty quickfix buffer is not reused for loading +" a normal buffer. +func Test_empty_qfbuf() + enew | only + call writefile(["Test"], 'Xfile1') + call setqflist([], 'f') + copen | only + let qfbuf = bufnr('') + edit Xfile1 + call assert_notequal(qfbuf, bufnr('')) + enew + call delete('Xfile1') +endfunc diff --git a/src/version.c b/src/version.c index 9f6223217..4ffd63b98 100644 --- a/src/version.c +++ b/src/version.c @@ -771,6 +771,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 1134, /**/ 1133, /**/ -- 2.40.0