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.
diff --git a/src/quickfix.c b/src/quickfix.c
index 3bd0f75..091246b 100644
--- a/src/quickfix.c
+++ b/src/quickfix.c
@@ -7400,6 +7400,14 @@
 	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)
diff --git a/src/testdir/test_quickfix.vim b/src/testdir/test_quickfix.vim
index 608a955..6d119fe 100644
--- a/src/testdir/test_quickfix.vim
+++ b/src/testdir/test_quickfix.vim
@@ -2360,6 +2360,9 @@
     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()
diff --git a/src/version.c b/src/version.c
index 9da2173..f1b0be6 100644
--- a/src/version.c
+++ b/src/version.c
@@ -755,6 +755,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1101,
+/**/
     1100,
 /**/
     1099,