Mercurial > vim
diff src/evalfunc.c @ 32818:705d0e1329a5 v9.0.1723
patch 9.0.1723: Fix regression in {func} argument of reduce()
Commit: https://github.com/vim/vim/commit/ad0c442f1fcc6fe9c433777ee3e5b9e6addc6d69
Author: zeertzjq <zeertzjq@outlook.com>
Date: Thu Aug 17 22:15:47 2023 +0200
patch 9.0.1723: Fix regression in {func} argument of reduce()
Problem: Fix regression in {func} argument of reduce()
Solution: pass function name as string again
Before patch 9.0.0548, passing a string as {func} argument of reduce()
is treated as a function name, but after patch 9.0.0548 it is treated as
an expression instead, which is useless as reduce() doesn't set any v:
variables. This PR restores the behavior of {func} before that patch.
Also correct an emsg() call, as e_string_list_or_blob_required doesn't
contain format specifiers.
closes: #12824
Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Thu, 17 Aug 2023 22:30:02 +0200 |
parents | 257ab4ee8e4a |
children | 656c54d276d5 |
line wrap: on
line diff
--- a/src/evalfunc.c +++ b/src/evalfunc.c @@ -6938,7 +6938,7 @@ indexof_eval_expr(typval_T *expr) argv[1] = *get_vim_var_tv(VV_VAL); newtv.v_type = VAR_UNKNOWN; - if (eval_expr_typval(expr, argv, 2, NULL, &newtv) == FAIL) + if (eval_expr_typval(expr, FALSE, argv, 2, NULL, &newtv) == FAIL) return FALSE; found = tv_get_bool_chk(&newtv, &error);