* data/m4sugar/m4sugar.m4 (_m4_map): New macro.

(m4_map, m4_map_sep): Use it.  Handle the empty list correctly.
This commit is contained in:
Paul Eggert
2005-10-05 21:28:07 +00:00
parent 2888e8b946
commit 412e44aa0e
2 changed files with 11 additions and 3 deletions

View File

@@ -1,3 +1,8 @@
2005-10-05 Paul Eggert <eggert@cs.ucla.edu>
* data/m4sugar/m4sugar.m4 (_m4_map): New macro.
(m4_map, m4_map_sep): Use it. Handle the empty list correctly.
2005-10-04 Paul Eggert <eggert@cs.ucla.edu>
Undo the parts of the unlocked-I/O change that substituted

View File

@@ -398,8 +398,11 @@ m4_define([m4_cdr],
# of LIST (which can be lists themselves, for multiple arguments MACROs).
m4_define([m4_fst], [$1])
m4_define([m4_map],
[m4_if([$2], [[]], [],
[_m4_map([$1], [$2])])])
m4_define([_m4_map],
[m4_ifval([$2],
[$1(m4_fst($2))[]m4_map([$1], m4_cdr($2))])])
[$1(m4_fst($2))[]_m4_map([$1], m4_cdr($2))])])
# m4_map_sep(MACRO, SEPARATOR, LIST)
@@ -408,8 +411,8 @@ m4_define([m4_map],
# are the elements of LIST (which can be lists themselves, for multiple
# arguments MACROs).
m4_define([m4_map_sep],
[m4_ifval([$3],
[$1(m4_fst($3))[]m4_map([$2[]$1], m4_cdr($3))])])
[m4_if([$3], [[]], [],
[$1(m4_fst($3))[]_m4_map([$2[]$1], m4_cdr($3))])])
## ---------------------------------------- ##