patch 9.0.0548: reduce() with a compiled lambda could be faster
Problem: reduce() with a compiled lambda could be faster.
Solution: Call eval_expr_typval() instead of call_func() directly.
diff --git a/src/proto/blob.pro b/src/proto/blob.pro
index 0b1c814..54e4a37 100644
--- a/src/proto/blob.pro
+++ b/src/proto/blob.pro
@@ -22,7 +22,7 @@
void blob_remove(typval_T *argvars, typval_T *rettv, char_u *arg_errmsg);
void blob_filter_map(blob_T *blob_arg, filtermap_T filtermap, typval_T *expr, typval_T *rettv);
void blob_insert_func(typval_T *argvars, typval_T *rettv);
-void blob_reduce(typval_T *argvars, char_u *func_name, funcexe_T *funcexe, typval_T *rettv);
+void blob_reduce(typval_T *argvars, typval_T *expr, typval_T *rettv);
void blob_reverse(blob_T *b, typval_T *rettv);
void f_blob2list(typval_T *argvars, typval_T *rettv);
void f_list2blob(typval_T *argvars, typval_T *rettv);
diff --git a/src/proto/strings.pro b/src/proto/strings.pro
index 778ec90..50bbf29 100644
--- a/src/proto/strings.pro
+++ b/src/proto/strings.pro
@@ -23,7 +23,7 @@
char_u *string_quote(char_u *str, int function);
long string_count(char_u *haystack, char_u *needle, int ic);
void string_filter_map(char_u *str, filtermap_T filtermap, typval_T *expr, typval_T *rettv);
-void string_reduce(typval_T *argvars, char_u *func_name, funcexe_T *funcexe, typval_T *rettv);
+void string_reduce(typval_T *argvars, typval_T *expr, typval_T *rettv);
void f_byteidx(typval_T *argvars, typval_T *rettv);
void f_byteidxcomp(typval_T *argvars, typval_T *rettv);
void f_charidx(typval_T *argvars, typval_T *rettv);