vim-patch:8.2.1101: no error when using wrong arguments for setqflist()

Problem:    No error when using wrong arguments for setqflist() or
            setloclist().
Solution:   Check for the error.
be7a50c22f
This commit is contained in:
Jan Edmund Lazo 2020-10-11 00:05:53 -04:00
parent bdd0c31fb0
commit 4a54472098
No known key found for this signature in database
GPG Key ID: 64915E6E9F735B15
3 changed files with 10 additions and 1 deletions

View File

@ -6362,6 +6362,12 @@ int set_errorlist(win_T *wp, list_T *list, int action, char_u *title,
return OK;
}
// A dict argument cannot be specified with a non-empty list argument
if (list != NULL && tv_list_len(list) != 0 && what != NULL) {
EMSG2(_(e_invarg2), _("cannot have both a list and a \"what\" argument"));
return FAIL;
}
incr_quickfix_busy();
if (what != NULL) {

View File

@ -2173,6 +2173,9 @@ func Xproperty_tests(cchar)
call assert_equal(['Colors'], newl2.context)
call assert_equal('Line10', newl2.items[0].text)
call g:Xsetlist([], 'f')
" Cannot specify both a non-empty list argument and a dict argument
call assert_fails("call g:Xsetlist([{}], ' ', {})", 'E475:')
endfunc
func Test_qf_property()

View File

@ -27,7 +27,7 @@ describe('setqflist()', function()
setqflist({''}, 'r', 'foo')
command('copen')
eq('foo', get_cur_win_var('quickfix_title'))
setqflist({''}, 'r', {['title'] = 'qf_title'})
setqflist({}, 'r', {['title'] = 'qf_title'})
eq('qf_title', get_cur_win_var('quickfix_title'))
end)