mirror of
https://https.git.savannah.gnu.org/git/m4.git
synced 2026-01-27 01:44:29 +00:00
* examples/foreach2.m4: Use $0 rather than spelling out name. * examples/foreachq2.m4: Likewise. * examples/forloop2.m4: Likewise. * examples/hanoi.m4: Likewise. * examples/trace.m4: Likewise. * doc/m4.texinfo (Improved forloop): Document advantage of $0. (Improved foreach): Adjust dump from file. Signed-off-by: Eric Blake <ebb9@byu.net>
11 lines
378 B
Plaintext
11 lines
378 B
Plaintext
include(`quote.m4')dnl
|
|
divert(`-1')
|
|
# foreachq(x, `item_1, item_2, ..., item_n', stmt)
|
|
# quoted list, improved version
|
|
define(`foreachq', `pushdef(`$1')_$0($@)popdef(`$1')')
|
|
define(`_arg1q', ``$1'')
|
|
define(`_rest', `ifelse(`$#', `1', `', `dquote(shift($@))')')
|
|
define(`_foreachq', `ifelse(`$2', `', `',
|
|
`define(`$1', _arg1q($2))$3`'$0(`$1', _rest($2), `$3')')')
|
|
divert`'dnl
|