From e79e2077607e8f829ba823308c91104a795736ba Mon Sep 17 00:00:00 2001 From: Ernie Rael Date: Sat, 13 Jan 2024 11:47:33 +0100 Subject: patch 9.1.0027: Vim is missing a foreach() func Problem: Vim is missing a foreach() func Solution: Implement foreach({expr1}, {expr2}) function, which applies {expr2} for each item in {expr1} without changing it (Ernie Rael) closes: #12166 Signed-off-by: Ernie Rael Signed-off-by: Christian Brabandt --- src/dict.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'src/dict.c') diff --git a/src/dict.c b/src/dict.c index cb22b42c91..508d00cdf7 100644 --- a/src/dict.c +++ b/src/dict.c @@ -1329,8 +1329,8 @@ dict_extend_func( } /* - * Implementation of map() and filter() for a Dict. Apply "expr" to every - * item in Dict "d" and return the result in "rettv". + * Implementation of map(), filter(), foreach() for a Dict. Apply "expr" to + * every item in Dict "d" and return the result in "rettv". */ void dict_filter_map( @@ -1392,7 +1392,6 @@ dict_filter_map( arg_errmsg, TRUE))) break; set_vim_var_string(VV_KEY, di->di_key, -1); - newtv.v_type = VAR_UNKNOWN; r = filter_map_one(&di->di_tv, expr, filtermap, fc, &newtv, &rem); clear_tv(get_vim_var_tv(VV_KEY)); if (r == FAIL || did_emsg) -- cgit v1.2.3