13 lines
473 B
Plaintext
13 lines
473 B
Plaintext
divert(`-1')
|
|
# forloop(var, from, to, stmt) - improved version:
|
|
# works even if VAR is not a strict macro name
|
|
# performs sanity check that FROM is larger than TO
|
|
# allows complex numerical expressions in TO and FROM
|
|
define(`forloop', `ifelse(eval(`($2) <= ($3)'), `1',
|
|
`pushdef(`$1')_$0(`$1', eval(`$2'),
|
|
eval(`$3'), `$4')popdef(`$1')')')
|
|
define(`_forloop',
|
|
`define(`$1', `$2')$4`'ifelse(`$2', `$3', `',
|
|
`$0(`$1', incr(`$2'), `$3', `$4')')')
|
|
divert`'dnl
|