updated for version 7.0188
diff --git a/src/quickfix.c b/src/quickfix.c
index 923c7fd..ff3e4ce 100644
--- a/src/quickfix.c
+++ b/src/quickfix.c
@@ -3248,7 +3248,8 @@
  * Add each quickfix error to list "list" as a dictionary.
  */
     int
-get_errorlist(list)
+get_errorlist(wp, list)
+    win_T	*wp;
     list_T	*list;
 {
     qf_info_T	*qi = &ql_info;
@@ -3257,6 +3258,13 @@
     qfline_T	*qfp;
     int		i;
 
+    if (wp != NULL)
+    {
+	qi = GET_LOC_LIST(wp);
+	if (qi == NULL)
+	    return FAIL;
+    }
+
     if (qi->qf_curlist >= qi->qf_listcount
 	|| qi->qf_lists[qi->qf_curlist].qf_count == 0)
 	return FAIL;
@@ -3292,7 +3300,8 @@
  * of dictionaries.
  */
     int
-set_errorlist(list, action)
+set_errorlist(wp, list, action)
+    win_T	*wp;
     list_T	*list;
     int		action;
 {
@@ -3307,6 +3316,13 @@
     int		retval = OK;
     qf_info_T	*qi = &ql_info;
 
+    if (wp != NULL)
+    {
+	qi = ll_get_or_alloc_list(curwin);
+	if (qi == NULL)
+	    return FAIL;
+    }
+
     if (action == ' ' || qi->qf_curlist == qi->qf_listcount)
 	/* make place for a new list */
 	qf_new_list(qi);