patch 9.0.1540: reverse() on string doesn't work in compiled function
Problem: reverse() on string doesn't work in compiled function.
Solution: Accept string in argument type check. (Yegappan Lakshmanan,
closes #12377)
diff --git a/src/list.c b/src/list.c
index 7042965..d52c23d 100644
--- a/src/list.c
+++ b/src/list.c
@@ -2994,16 +2994,14 @@
void
f_reverse(typval_T *argvars, typval_T *rettv)
{
- if (in_vim9script() && check_for_list_or_blob_arg(argvars, 0) == FAIL)
+ if (check_for_string_or_list_or_blob_arg(argvars, 0) == FAIL)
return;
if (argvars[0].v_type == VAR_BLOB)
blob_reverse(argvars[0].vval.v_blob, rettv);
else if (argvars[0].v_type == VAR_STRING)
string_reverse(argvars[0].vval.v_string, rettv);
- else if (argvars[0].v_type != VAR_LIST)
- semsg(_(e_argument_of_str_must_be_list_or_blob), "reverse()");
- else
+ else if (argvars[0].v_type == VAR_LIST)
list_reverse(argvars[0].vval.v_list, rettv);
}