patch 9.0.1722: wrong error messages when passing wrong types to count()
Problem: wrong error messages when passing wrong types to count()
Solution: fix it
This fixes two problems:
1. When passing wrong type to {ic} argument of count(), two error
messages are given, the second of which is misleading.
2. When passing wrong type to {comp} argument of count(), the error
message doesn't mention that {comp} may be a String.
closes: #12825
Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
diff --git a/src/list.c b/src/list.c
index d52c23d..933480f 100644
--- a/src/list.c
+++ b/src/list.c
@@ -2735,8 +2735,9 @@
else
n = dict_count(argvars[0].vval.v_dict, &argvars[1], ic);
}
- else
- semsg(_(e_argument_of_str_must_be_list_or_dictionary), "count()");
+ else if (!error)
+ semsg(_(e_argument_of_str_must_be_list_string_or_dictionary),
+ "count()");
rettv->vval.v_number = n;
}