changeset 16259:1f18984498e1 v8.1.1134

patch 8.1.1134: buffer for quickfix window is reused for another file commit https://github.com/vim/vim/commit/39803d82dbb215d2eea9fcd6cf2961b71515a438 Author: Bram Moolenaar <Bram@vim.org> Date: Sun Apr 7 12:04:51 2019 +0200 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)
author Bram Moolenaar <Bram@vim.org>
date Sun, 07 Apr 2019 12:15:04 +0200
parents 6fffe95a5667
children d7a7a7508876
files src/buffer.c src/testdir/test_quickfix.vim src/version.c
diffstat 3 files changed, 17 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- 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());
 }
 
--- 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
--- a/src/version.c
+++ b/src/version.c
@@ -772,6 +772,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1134,
+/**/
     1133,
 /**/
     1132,