patch 9.0.0437: no error when custom completion function returns wrong type

Problem:    No error when a custom completion function returns something else
            than the expected list.
Solution:   Give an error. (closes #11100)
diff --git a/src/eval.c b/src/eval.c
index db8b4e6..f208ab1 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -842,6 +842,7 @@
  * Call Vim script function "func" and return the result as a List.
  * Uses "argv" and "argc" as call_func_retstr().
  * Returns NULL when there is something wrong.
+ * Gives an error when the returned value is not a list.
  */
     void *
 call_func_retlist(
@@ -856,6 +857,8 @@
 
     if (rettv.v_type != VAR_LIST)
     {
+	semsg(_(e_custom_list_completion_function_does_not_return_list_but_str),
+		vartype_name(rettv.v_type));
 	clear_tv(&rettv);
 	return NULL;
     }