diff options
author | Marco Hinz <mh.codebro@gmail.com> | 2019-04-08 20:00:41 +0200 |
---|---|---|
committer | Marco Hinz <mh.codebro@gmail.com> | 2019-04-08 20:02:08 +0200 |
commit | 7381c93e2c0e7aa20d29cbc3c6c45de71e22a258 (patch) | |
tree | 411b1ec230806dc6c154b5c90e733fae1f6ebc6f | |
parent | a8d0062c67953d9e024a09d3d6daf062aefca887 (diff) | |
download | rneovim-7381c93e2c0e7aa20d29cbc3c6c45de71e22a258.tar.gz rneovim-7381c93e2c0e7aa20d29cbc3c6c45de71e22a258.tar.bz2 rneovim-7381c93e2c0e7aa20d29cbc3c6c45de71e22a258.zip |
vim-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)
https://github.com/vim/vim/commit/39803d82dbb215d2eea9fcd6cf2961b71515a438
-rw-r--r-- | src/nvim/buffer.c | 1 | ||||
-rw-r--r-- | src/nvim/testdir/test_quickfix.vim | 14 |
2 files changed, 15 insertions, 0 deletions
diff --git a/src/nvim/buffer.c b/src/nvim/buffer.c index 9a58529736..703a89d31f 100644 --- a/src/nvim/buffer.c +++ b/src/nvim/buffer.c @@ -1868,6 +1868,7 @@ bool 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/nvim/testdir/test_quickfix.vim b/src/nvim/testdir/test_quickfix.vim index cb3e7ca8f6..6227095f4f 100644 --- a/src/nvim/testdir/test_quickfix.vim +++ b/src/nvim/testdir/test_quickfix.vim @@ -2664,3 +2664,17 @@ func Test_qfwin_pos() call assert_equal(3, winnr()) close 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 |