forked from aniani/vim
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 <errael@raelity.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
committed by
Christian Brabandt
parent
d8cb1ddab7
commit
e79e207760
@@ -942,7 +942,6 @@ string_filter_map(
|
||||
break;
|
||||
len = (int)STRLEN(tv.vval.v_string);
|
||||
|
||||
newtv.v_type = VAR_UNKNOWN;
|
||||
set_vim_var_nr(VV_KEY, idx);
|
||||
if (filter_map_one(&tv, expr, filtermap, fc, &newtv, &rem) == FAIL
|
||||
|| did_emsg)
|
||||
@@ -951,7 +950,7 @@ string_filter_map(
|
||||
clear_tv(&tv);
|
||||
break;
|
||||
}
|
||||
else if (filtermap != FILTERMAP_FILTER)
|
||||
if (filtermap == FILTERMAP_MAP || filtermap == FILTERMAP_MAPNEW)
|
||||
{
|
||||
if (newtv.v_type != VAR_STRING)
|
||||
{
|
||||
@@ -963,7 +962,7 @@ string_filter_map(
|
||||
else
|
||||
ga_concat(&ga, newtv.vval.v_string);
|
||||
}
|
||||
else if (!rem)
|
||||
else if (filtermap == FILTERMAP_FOREACH || !rem)
|
||||
ga_concat(&ga, tv.vval.v_string);
|
||||
|
||||
clear_tv(&newtv);
|
||||
|
Reference in New Issue
Block a user