diff options
author | Lorry Tar Creator <lorry-tar-importer@baserock.org> | 2013-09-22 07:04:10 +0000 |
---|---|---|
committer | <> | 2015-02-02 12:02:31 +0000 |
commit | 23c11479b3ad787adc7a651ee0c4347839e47723 (patch) | |
tree | 3aa9e1125da84f7e3bd764bbff577c42a766508b /examples/forloop2.m4 | |
download | m4-tarball-master.tar.gz |
Diffstat (limited to 'examples/forloop2.m4')
-rw-r--r-- | examples/forloop2.m4 | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/examples/forloop2.m4 b/examples/forloop2.m4 new file mode 100644 index 0000000..b7154e8 --- /dev/null +++ b/examples/forloop2.m4 @@ -0,0 +1,12 @@ +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 |