Skip to content

Commit

Permalink
patch 8.0.0017
Browse files Browse the repository at this point in the history
Problem:    Cannot get the number of the current quickfix or location list.
Solution:   Use the current list if "nr" in "what" is zero. (Yegappan
            Lakshmanan)  Remove debug command from test.
  • Loading branch information
brammool committed Sep 27, 2016
1 parent 0e77b76 commit 890680c
Show file tree
Hide file tree
Showing 4 changed files with 17 additions and 7 deletions.
3 changes: 2 additions & 1 deletion runtime/doc/eval.txt
Expand Up @@ -4516,7 +4516,8 @@ getqflist([{what}]) *getqflist()*
If the optional {what} dictionary argument is supplied, then
returns only the items listed in {what} as a dictionary. The
following string items are supported in {what}:
nr get information for this quickfix list
nr get information for this quickfix list; zero
means the current quickfix list
title get the list title
winid get the |window-ID| (if opened)
all all of the above quickfix properties
Expand Down
10 changes: 7 additions & 3 deletions src/quickfix.c
Expand Up @@ -4591,9 +4591,13 @@ get_errorlist_properties(win_T *wp, dict_T *what, dict_T *retdict)
/* Use the specified quickfix/location list */
if (di->di_tv.v_type == VAR_NUMBER)
{
qf_idx = di->di_tv.vval.v_number - 1;
if (qf_idx < 0 || qf_idx >= qi->qf_listcount)
return FAIL;
/* for zero use the current list */
if (di->di_tv.vval.v_number != 0)
{
qf_idx = di->di_tv.vval.v_number - 1;
if (qf_idx < 0 || qf_idx >= qi->qf_listcount)
return FAIL;
}
flags |= QF_GETLIST_NR;
}
else
Expand Down
9 changes: 6 additions & 3 deletions src/testdir/test_quickfix.vim
Expand Up @@ -1429,12 +1429,10 @@ function! Test_two_windows()
laddexpr 'one.txt:3:one one one'

let loc_one = getloclist(one_id)
echo string(loc_one)
call assert_equal('Xone/a/one.txt', bufname(loc_one[1].bufnr))
call assert_equal(3, loc_one[1].lnum)

let loc_two = getloclist(two_id)
echo string(loc_two)
call assert_equal('Xtwo/a/two.txt', bufname(loc_two[1].bufnr))
call assert_equal(5, loc_two[1].lnum)

Expand Down Expand Up @@ -1534,6 +1532,11 @@ function Xproperty_tests(cchar)
call assert_equal('N1', g:Xgetlist({'all':1}).title)
call g:Xsetlist([], ' ', {'title' : 'N2'})
call assert_equal(qfnr + 1, g:Xgetlist({'all':1}).nr)

let res = g:Xgetlist({'nr': 0})
call assert_equal(qfnr + 1, res.nr)
call assert_equal(['nr'], keys(res))

call g:Xsetlist([], ' ', {'title' : 'N3'})
call assert_equal('N2', g:Xgetlist({'nr':2, 'title':1}).title)

Expand All @@ -1546,7 +1549,7 @@ function Xproperty_tests(cchar)
call assert_equal({}, g:Xgetlist({'abc':1}))

if a:cchar == 'l'
call assert_equal({}, getloclist(99, ['title']))
call assert_equal({}, getloclist(99, {'title': 1}))
endif
endfunction

Expand Down
2 changes: 2 additions & 0 deletions src/version.c
Expand Up @@ -764,6 +764,8 @@ static char *(features[]) =

static int included_patches[] =
{ /* Add new patch number below this line */
/**/
17,
/**/
16,
/**/
Expand Down

0 comments on commit 890680c

Please sign in to comment.