Next: Debugging, Previous: Definitions, Up: Top [Contents][Index]
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 true.
| • 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 |