|  | Index Entry | Section | 
|---|
| 
 | 
| A |  |  | 
|---|
|  | argument currying | 6.7 Building macros with macros | 
|  | arguments to macros | 4.3 Macro arguments | 
|  | arguments to macros | 5.2 Arguments to macros | 
|  | arguments to macros, special | 5.3 Special arguments to macros | 
|  | arguments, joining | 6.3 Recursion in m4 | 
|  | arguments, more than nine | 5.2 Arguments to macros | 
|  | arguments, more than nine | 6.3 Recursion in m4 | 
|  | arguments, more than nine | 17.3 Solution for foreach | 
|  | arguments, quoted macro | 4.4 On Quoting Arguments to macros | 
|  | arguments, reversing | 6.3 Recursion in m4 | 
|  | arithmetic | 12. Macros for doing arithmetic | 
|  | arrays | 5.1 Defining a macro | 
|  | avoiding quadratic behavior | 17.3 Solution for foreach | 
| 
 | 
| B |  |  | 
|---|
|  | basic regular expressions | 11.3 Searching for regular expressions | 
|  | basic regular expressions | 11.6 Substituting text by regular expression | 
|  | blind macro | 4.2 Preventing macro invocation | 
|  | blind macro | 6.2 If-else construct, or multibranch | 
|  | blind macro | 6.7 Building macros with macros | 
|  | bug reports | 1.3 Problems and bugs | 
|  | builtins, indirect call of | 5.8 Indirect call of builtins | 
|  | builtins, special tokens | 5.5 Renaming macros | 
| 
 | 
| C |  |  | 
|---|
|  | call of builtins, indirect | 5.8 Indirect call of builtins | 
|  | call of macros, indirect | 5.7 Indirect call of macros | 
|  | case statement | 6.2 If-else construct, or multibranch | 
|  | changing comment delimiters | 8.3 Changing the comment delimiters | 
|  | changing quote delimiters | 8.2 Changing the quote characters | 
|  | changing syntax | 8.4 Changing the lexical structure of words | 
|  | characters, translating | 11.5 Translating characters | 
|  | command line | 2. Invoking m4 | 
|  | command line, file names on the | 2.6 Specifying input files on the command line | 
|  | command line, macro definitions on the | 2.2 Command line options for preprocessor features | 
|  | command line, options | 2. Invoking m4 | 
|  | commands, exit status from shell | 13.4 Exit status | 
|  | commands, running shell | 13. Macros for running shell commands | 
|  | comment delimiters, changing | 8.3 Changing the comment delimiters | 
|  | comments | 3.3 Comments in m4input | 
|  | comments, copied to output | 8.3 Changing the comment delimiters | 
|  | comparing strings | 6.2 If-else construct, or multibranch | 
|  | compatibility | 16. Compatibility with other versions of m4 | 
|  | composing macros | 6.7 Building macros with macros | 
|  | concatenating arguments | 6.3 Recursion in m4 | 
|  | conditional, short-circuiting | 6.3 Recursion in m4 | 
|  | conditionals | 6.1 Testing if a macro is defined | 
|  | controlling debugging output | 7.3 Controlling debugging output | 
|  | copying macros | 6.7 Building macros with macros | 
|  | counting loops | 6.4 Iteration by counting | 
|  | currying arguments | 6.7 Building macros with macros | 
| 
 | 
| D |  |  | 
|---|
|  | debugging macros | 7. How to debug macros and input | 
|  | debugging output, controlling | 7.3 Controlling debugging output | 
|  | debugging output, saving | 7.4 Saving debugging output | 
|  | decrement operator | 12.1 Decrement and increment operators | 
|  | deferring expansion | 8.5 Saving text until end of input | 
|  | deferring output | 10. Diverting and undiverting output | 
|  | defining new macros | 5. How to define new macros | 
|  | definition stack | 5.6 Temporarily redefining macros | 
|  | definition stack | 6.6 Working with definition stacks | 
|  | definitions, displaying macro | 5.5 Renaming macros | 
|  | definitions, displaying macro | 7.1 Displaying macro definitions | 
|  | deleting macros | 5.4 Deleting a macro | 
|  | deleting whitespace in input | 8.1 Deleting whitespace in input | 
|  | delimiters, changing | 8.2 Changing the quote characters | 
|  | delimiters, changing | 8.3 Changing the comment delimiters | 
|  | discarding diverted text | 10.4 Discarding diverted text | 
|  | discarding input | 6.2 If-else construct, or multibranch | 
|  | discarding input | 8.1 Deleting whitespace in input | 
|  | discarding input | 10.1 Diverting output | 
|  | displaying macro definitions | 7.1 Displaying macro definitions | 
|  | diversion numbers | 10.3 Diversion numbers | 
|  | diverted text, discarding | 10.4 Discarding diverted text | 
|  | diverting output to files | 10.1 Diverting output | 
|  | dumping into frozen file | 15.1 Using frozen files | 
| 
 | 
| E |  |  | 
|---|
|  | error messages, printing | 14.1 Printing error messages | 
|  | errors, fatal | 2.1 Command line options for operation modes | 
|  | evaluation, of integer expressions | 12.2 Evaluating integer expressions | 
|  | examples, understanding | 1.4 Using this manual | 
|  | executing shell commands | 13. Macros for running shell commands | 
|  | exit status from shell commands | 13.4 Exit status | 
|  | exiting from m4 | 14.3 Exiting from m4 | 
|  | expansion of macros | 4.5 Macro expansion | 
|  | expansion, deferring | 8.5 Saving text until end of input | 
|  | expansion, tracing macro | 7.2 Tracing macro calls | 
|  | expressions, evaluation of integer | 12.2 Evaluating integer expressions | 
|  | expressions, regular | 11.3 Searching for regular expressions | 
|  | expressions, regular | 11.6 Substituting text by regular expression | 
|  | extracting substrings | 11.4 Extracting substrings | 
| 
 | 
| F |  |  | 
|---|
|  | fast loading of frozen files | 15.1 Using frozen files | 
|  | fatal errors | 2.1 Command line options for operation modes | 
|  | FDL, GNU Free Documentation License | B.1 License for copying this manual | 
|  | file format, frozen file | 15.2 Frozen file format | 
|  | file inclusion | 9. File inclusion | 
|  | file inclusion | 10.2 Undiverting output | 
|  | file inclusion | 10.2 Undiverting output | 
|  | file names, on the command line | 2.6 Specifying input files on the command line | 
|  | files, diverting output to | 10.1 Diverting output | 
|  | files, names of temporary | 13.5 Making temporary files | 
|  | for each loops | 6.5 Iteration by list contents | 
|  | for loops | 6.4 Iteration by counting | 
|  | formatted output | 11.7 Formatting strings (printf-like) | 
|  | Free Documentation License (FDL), GNU | B.1 License for copying this manual | 
|  | frozen file format | 15.2 Frozen file format | 
|  | frozen files for fast loading | 15.1 Using frozen files | 
| 
 |