diff src/eval.c @ 30203:a3016780f346 v9.0.0437

patch 9.0.0437: no error when custom completion function returns wrong type Commit: https://github.com/vim/vim/commit/55e9366e32bc0e1056478d1d0ae935f9cf039d6a Author: Bram Moolenaar <Bram@vim.org> Date: Sat Sep 10 13:52:26 2022 +0100 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)
author Bram Moolenaar <Bram@vim.org>
date Sat, 10 Sep 2022 15:00:03 +0200
parents f59ce7be667f
children e0cb5fb44859
line wrap: on
line diff
--- a/src/eval.c
+++ b/src/eval.c
@@ -842,6 +842,7 @@ call_func_retstr(
  * 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 @@ call_func_retlist(
 
     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;
     }