1
0
forked from aniani/vim

patch 8.2.3762: if quickfix buffer is wiped out getqflist() still returns it

Problem:    If the quickfix buffer is wiped out getqflist() still returns its
            number.
Solution:   Use zero if the buffer is no longer present. (Yegappan Lakshmanan,
            closes #9306)
This commit is contained in:
Yegappan Lakshmanan 2021-12-09 09:27:06 +00:00 committed by Bram Moolenaar
parent a48d4e44a2
commit 56150da687
3 changed files with 17 additions and 3 deletions

View File

@ -6793,13 +6793,18 @@ qf_winid(qf_info_T *qi)
/*
* Returns the number of the buffer displayed in the quickfix/location list
* window. If there is no buffer associated with the list, then returns 0.
* window. If there is no buffer associated with the list or the buffer is
* wiped out, then returns 0.
*/
static int
qf_getprop_qfbufnr(qf_info_T *qi, dict_T *retdict)
{
return dict_add_number(retdict, "qfbufnr",
(qi == NULL) ? 0 : qi->qf_bufnr);
int bufnum = 0;
if (qi != NULL && buflist_findnr(qi->qf_bufnr) != NULL)
bufnum = qi->qf_bufnr;
return dict_add_number(retdict, "qfbufnr", bufnum);
}
/*

View File

@ -4626,6 +4626,13 @@ func Xqfbuf_test(cchar)
call assert_equal(qfbnum, bufnr(''))
Xclose
" When quickfix buffer is wiped out, getqflist() should return 0
%bw!
Xexpr ""
Xopen
bw!
call assert_equal(0, g:Xgetlist({'qfbufnr': 0}).qfbufnr)
if a:cchar == 'l'
%bwipe
" For a location list, when both the file window and the location list

View File

@ -753,6 +753,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
3762,
/**/
3761,
/**/