m4
Introduction to
m4
Using this manual
Problems and bugs
Invoking
m4
Lexical and syntactic conventions
Names
Quoted strings
Other tokens
Comments
How to invoke macros
Macro invocation
Macro arguments
Quoting macro arguments
Macro expansion
How to define new macros
Defining a macro
Arguments to macros
Special arguments to macros
Deleting a macro
Renaming macros
Temporarily redefining macros
Indirect call of macros
Indirect call of built-ins
Conditionals, loops and recursion
Testing macro definitions
Comparing strings
Loops and recursion
How to debug macros and input
Displaying macro definitions
Tracing macro calls
Controlling debugging output
Saving debugging output
Input control
Deleting whitespace in input
Changing the quote characters
Changing comment delimiters
Saving input
File inclusion
Including named files
Searching for include files
Diverting and undiverting output
Diverting output
Undiverting output
Diversion numbers
Discarding diverted text
Macros for text handling
Calculating length of strings
Searching for substrings
Searching for regular expressions
Extracting substrings
Translating characters
Substituting text by regular expression
Formatted output
Macros for doing arithmetic
Decrement and increment operators
Evaluating integer expressions
Running Unix commands
Executing simple commands
Reading the output of commands
Exit codes
Making names for temporary files
Miscellaneous built-in macros
Printing error messages
Exiting from
m4
Compatibility with other versions of
m4
Extensions in GNU
m4
Facilities in System V
m4
not in GNU
m4
Other incompatibilities
Concept index
Macro index