Next: Debugging Prev: Definitions Up: Top

6 Conditionals, loops, and recursion

Macros, expanding to plain text, perhaps with arguments, are not quite
enough.  We would like to have macros expand to different things, based
on decisions taken at run-time.  For that, we need some kind of
conditionals.  Also, we would like to have some kind of loop construct,
so we could do something a number of times, or while some condition is

* Ifdef
Testing if a macro is defined
* Ifelse
If-else construct, or multibranch
* Shift
Recursion in `m4'
* Forloop
Iteration by counting
* Foreach
Iteration by list contents
* Stacks
Working with definition stacks
* Composition
Building macros with macros

automatically generated by info2www