File: autoconf.info, Node: Programming in M4sugar, Next: Debugging via autom4te, Prev: Using autom4te, Up: Programming in M4 8.3 Programming in M4sugar ========================== M4 by itself provides only a small, but sufficient, set of all-purpose macros. M4sugar introduces additional generic macros. Its name was coined by Lars J. Aas: "Readability And Greater Understanding Stands 4 M4sugar". M4sugar reserves the macro namespace ‘^_m4_’ for internal use, and the macro namespace ‘^m4_’ for M4sugar macros. You should not define your own macros into these namespaces. * Menu: * Redefined M4 Macros:: M4 builtins changed in M4sugar * Diagnostic Macros:: Diagnostic messages from M4sugar * Diversion support:: Diversions in M4sugar * Conditional constructs:: Conditions in M4 * Looping constructs:: Iteration in M4 * Evaluation Macros:: More quotation and evaluation control * Text processing Macros:: String manipulation in M4 * Number processing Macros:: Arithmetic computation in M4 * Set manipulation Macros:: Set manipulation in M4 * Forbidden Patterns:: Catching unexpanded macros