changeset 21100:acfda84f5661 v8.2.1101

patch 8.2.1101: no error when using wrong arguments for setqflist() Commit: https://github.com/vim/vim/commit/be7a50c22f63478a6e64fe6b932a847830191b95 Author: Bram Moolenaar <Bram@vim.org> Date: Tue Jun 30 22:11:44 2020 +0200 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.
author Bram Moolenaar <Bram@vim.org>
date Tue, 30 Jun 2020 22:15:05 +0200
parents ba80d400b9ab
children c18317aef51c
files src/quickfix.c src/testdir/test_quickfix.vim src/version.c
diffstat 3 files changed, 13 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/quickfix.c
+++ b/src/quickfix.c
@@ -7400,6 +7400,14 @@ set_errorlist(
 	return OK;
     }
 
+    // A dict argument cannot be specified with a non-empty list argument
+    if (list != NULL && list->lv_len != 0 && what != NULL)
+    {
+	semsg(_(e_invarg2),
+			 _("cannot have both a list and a \"what\" argument"));
+	return FAIL;
+    }
+
     incr_quickfix_busy();
 
     if (what != NULL)
--- a/src/testdir/test_quickfix.vim
+++ b/src/testdir/test_quickfix.vim
@@ -2360,6 +2360,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()
--- a/src/version.c
+++ b/src/version.c
@@ -755,6 +755,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1101,
+/**/
     1100,
 /**/
     1099,