'xrdef {Preliminaries-title}{Introduction and preliminaries} 'xrdef {Preliminaries-pg}{1} 'xrdef {Preliminaries-snt}{Chapter'tie1} 'xrdef {Intro-title}{Introduction to \code {m4}} 'xrdef {Intro-pg}{1} 'xrdef {Intro-snt}{Section'tie1.1} 'xrdef {History-title}{Historical references} 'xrdef {History-pg}{1} 'xrdef {History-snt}{Section'tie1.2} 'xrdef {Invoking m4-title}{Invoking \code {m4}} 'xrdef {Invoking m4-pg}{2} 'xrdef {Invoking m4-snt}{Section'tie1.3} 'xrdef {Bugs-title}{Problems and bugs} 'xrdef {Bugs-pg}{5} 'xrdef {Bugs-snt}{Section'tie1.4} 'xrdef {Manual-title}{Using this manual} 'xrdef {Manual-pg}{5} 'xrdef {Manual-snt}{Section'tie1.5} 'xrdef {Syntax-title}{Lexical and syntactic conventions} 'xrdef {Syntax-pg}{6} 'xrdef {Syntax-snt}{Chapter'tie2} 'xrdef {Names-title}{Names} 'xrdef {Names-pg}{6} 'xrdef {Names-snt}{Section'tie2.1} 'xrdef {Quoted strings-title}{Quoted strings} 'xrdef {Quoted strings-pg}{6} 'xrdef {Quoted strings-snt}{Section'tie2.2} 'xrdef {Other tokens-title}{Other tokens} 'xrdef {Other tokens-pg}{6} 'xrdef {Other tokens-snt}{Section'tie2.3} 'xrdef {Comments-title}{Comments} 'xrdef {Comments-pg}{6} 'xrdef {Comments-snt}{Section'tie2.4} 'xrdef {Macros-title}{How to invoke macros} 'xrdef {Macros-pg}{7} 'xrdef {Macros-snt}{Chapter'tie3} 'xrdef {Invocation-title}{Macro invocation} 'xrdef {Invocation-pg}{7} 'xrdef {Invocation-snt}{Section'tie3.1} 'xrdef {Inhibiting Invocation-title}{Preventing macro invocation} 'xrdef {Inhibiting Invocation-pg}{7} 'xrdef {Inhibiting Invocation-snt}{Section'tie3.2} 'xrdef {Macro Arguments-title}{Macro arguments} 'xrdef {Macro Arguments-pg}{8} 'xrdef {Macro Arguments-snt}{Section'tie3.3} 'xrdef {Quoting Arguments-title}{Quoting macro arguments} 'xrdef {Quoting Arguments-pg}{9} 'xrdef {Quoting Arguments-snt}{Section'tie3.4} 'xrdef {Macro expansion-title}{Macro expansion} 'xrdef {Macro expansion-pg}{9} 'xrdef {Macro expansion-snt}{Section'tie3.5} 'xrdef {Definitions-title}{How to define new macros} 'xrdef {Definitions-pg}{10} 'xrdef {Definitions-snt}{Chapter'tie4} 'xrdef {Define-title}{Defining a macro} 'xrdef {Define-pg}{10} 'xrdef {Define-snt}{Section'tie4.1} 'xrdef {Arguments-title}{Arguments to macros} 'xrdef {Arguments-pg}{10} 'xrdef {Arguments-snt}{Section'tie4.2} 'xrdef {Pseudo Arguments-title}{Special arguments to macros} 'xrdef {Pseudo Arguments-pg}{11} 'xrdef {Pseudo Arguments-snt}{Section'tie4.3} 'xrdef {Undefine-title}{Deleting a macro} 'xrdef {Undefine-pg}{12} 'xrdef {Undefine-snt}{Section'tie4.4} 'xrdef {Defn-title}{Renaming macros} 'xrdef {Defn-pg}{12} 'xrdef {Defn-snt}{Section'tie4.5} 'xrdef {Pushdef-title}{Temporarily redefining macros} 'xrdef {Pushdef-pg}{13} 'xrdef {Pushdef-snt}{Section'tie4.6} 'xrdef {Indir-title}{Indirect call of macros} 'xrdef {Indir-pg}{14} 'xrdef {Indir-snt}{Section'tie4.7} 'xrdef {Builtin-title}{Indirect call of builtins} 'xrdef {Builtin-pg}{14} 'xrdef {Builtin-snt}{Section'tie4.8} 'xrdef {Conditionals-title}{Conditionals, loops and recursion} 'xrdef {Conditionals-pg}{15} 'xrdef {Conditionals-snt}{Chapter'tie5} 'xrdef {Ifdef-title}{Testing macro definitions} 'xrdef {Ifdef-pg}{15} 'xrdef {Ifdef-snt}{Section'tie5.1} 'xrdef {Ifelse-title}{Comparing strings} 'xrdef {Ifelse-pg}{15} 'xrdef {Ifelse-snt}{Section'tie5.2} 'xrdef {Loops-title}{Loops and recursion} 'xrdef {Loops-pg}{16} 'xrdef {Loops-snt}{Section'tie5.3} 'xrdef {Debugging-title}{How to debug macros and input} 'xrdef {Debugging-pg}{18} 'xrdef {Debugging-snt}{Chapter'tie6} 'xrdef {Dumpdef-title}{Displaying macro definitions} 'xrdef {Dumpdef-pg}{18} 'xrdef {Dumpdef-snt}{Section'tie6.1} 'xrdef {Trace-title}{Tracing macro calls} 'xrdef {Trace-pg}{18} 'xrdef {Trace-snt}{Section'tie6.2} 'xrdef {Debug Levels-title}{Controlling debugging output} 'xrdef {Debug Levels-pg}{19} 'xrdef {Debug Levels-snt}{Section'tie6.3} 'xrdef {Debug Output-title}{Saving debugging output} 'xrdef {Debug Output-pg}{20} 'xrdef {Debug Output-snt}{Section'tie6.4} 'xrdef {Input Control-title}{Input control} 'xrdef {Input Control-pg}{21} 'xrdef {Input Control-snt}{Chapter'tie7} 'xrdef {Dnl-title}{Deleting whitespace in input} 'xrdef {Dnl-pg}{21} 'xrdef {Dnl-snt}{Section'tie7.1} 'xrdef {Changequote-title}{Changing the quote characters} 'xrdef {Changequote-pg}{21} 'xrdef {Changequote-snt}{Section'tie7.2} 'xrdef {Changecom-title}{Changing comment delimiters} 'xrdef {Changecom-pg}{22} 'xrdef {Changecom-snt}{Section'tie7.3} 'xrdef {Changeword-title}{Changing the lexical structure of words} 'xrdef {Changeword-pg}{22} 'xrdef {Changeword-snt}{Section'tie7.4} 'xrdef {M4wrap-title}{Saving input} 'xrdef {M4wrap-pg}{24} 'xrdef {M4wrap-snt}{Section'tie7.5} 'xrdef {File Inclusion-title}{File inclusion} 'xrdef {File Inclusion-pg}{25} 'xrdef {File Inclusion-snt}{Chapter'tie8} 'xrdef {Include-title}{Including named files} 'xrdef {Include-pg}{25} 'xrdef {Include-snt}{Section'tie8.1} 'xrdef {Search Path-title}{Searching for include files} 'xrdef {Search Path-pg}{26} 'xrdef {Search Path-snt}{Section'tie8.2} 'xrdef {Diversions-title}{Diverting and undiverting output} 'xrdef {Diversions-pg}{27} 'xrdef {Diversions-snt}{Chapter'tie9} 'xrdef {Divert-title}{Diverting output} 'xrdef {Divert-pg}{27} 'xrdef {Divert-snt}{Section'tie9.1} 'xrdef {Undivert-title}{Undiverting output} 'xrdef {Undivert-pg}{28} 'xrdef {Undivert-snt}{Section'tie9.2} 'xrdef {Divnum-title}{Diversion numbers} 'xrdef {Divnum-pg}{29} 'xrdef {Divnum-snt}{Section'tie9.3} 'xrdef {Cleardiv-title}{Discarding diverted text} 'xrdef {Cleardiv-pg}{29} 'xrdef {Cleardiv-snt}{Section'tie9.4} 'xrdef {Text handling-title}{Macros for text handling} 'xrdef {Text handling-pg}{31} 'xrdef {Text handling-snt}{Chapter'tie10} 'xrdef {Len-title}{Calculating length of strings} 'xrdef {Len-pg}{31} 'xrdef {Len-snt}{Section'tie10.1} 'xrdef {Index-title}{Searching for substrings} 'xrdef {Index-pg}{31} 'xrdef {Index-snt}{Section'tie10.2} 'xrdef {Regexp-title}{Searching for regular expressions} 'xrdef {Regexp-pg}{31} 'xrdef {Regexp-snt}{Section'tie10.3} 'xrdef {Substr-title}{Extracting substrings} 'xrdef {Substr-pg}{32} 'xrdef {Substr-snt}{Section'tie10.4} 'xrdef {Translit-title}{Translating characters} 'xrdef {Translit-pg}{32} 'xrdef {Translit-snt}{Section'tie10.5} 'xrdef {Patsubst-title}{Substituting text by regular expression} 'xrdef {Patsubst-pg}{33} 'xrdef {Patsubst-snt}{Section'tie10.6} 'xrdef {Format-title}{Formatted output} 'xrdef {Format-pg}{33} 'xrdef {Format-snt}{Section'tie10.7} 'xrdef {Arithmetic-title}{Macros for doing arithmetic} 'xrdef {Arithmetic-pg}{35} 'xrdef {Arithmetic-snt}{Chapter'tie11} 'xrdef {Incr-title}{Decrement and increment operators} 'xrdef {Incr-pg}{35} 'xrdef {Incr-snt}{Section'tie11.1} 'xrdef {Eval-title}{Evaluating integer expressions} 'xrdef {Eval-pg}{35} 'xrdef {Eval-snt}{Section'tie11.2} 'xrdef {UNIX commands-title}{Running UNIX commands} 'xrdef {UNIX commands-pg}{38} 'xrdef {UNIX commands-snt}{Chapter'tie12} 'xrdef {Syscmd-title}{Executing simple commands} 'xrdef {Syscmd-pg}{38} 'xrdef {Syscmd-snt}{Section'tie12.1} 'xrdef {Esyscmd-title}{Reading the output of commands} 'xrdef {Esyscmd-pg}{38} 'xrdef {Esyscmd-snt}{Section'tie12.2} 'xrdef {Sysval-title}{Exit codes} 'xrdef {Sysval-pg}{38} 'xrdef {Sysval-snt}{Section'tie12.3} 'xrdef {Maketemp-title}{Making names for temporary files} 'xrdef {Maketemp-pg}{39} 'xrdef {Maketemp-snt}{Section'tie12.4} 'xrdef {Miscellaneous-title}{Miscellaneous builtin macros} 'xrdef {Miscellaneous-pg}{40} 'xrdef {Miscellaneous-snt}{Chapter'tie13} 'xrdef {Errprint-title}{Printing error messages} 'xrdef {Errprint-pg}{40} 'xrdef {Errprint-snt}{Section'tie13.1} 'xrdef {M4exit-title}{Exiting from \code {m4}} 'xrdef {M4exit-pg}{40} 'xrdef {M4exit-snt}{Section'tie13.2} 'xrdef {Frozen files-title}{Fast loading of frozen states} 'xrdef {Frozen files-pg}{41} 'xrdef {Frozen files-snt}{Chapter'tie14} 'xrdef {Compatibility-title}{Compatibility with other versions of \code {m4}} 'xrdef {Compatibility-pg}{43} 'xrdef {Compatibility-snt}{Chapter'tie15} 'xrdef {Extensions-title}{Extensions in GNU \code {m4}} 'xrdef {Extensions-pg}{43} 'xrdef {Extensions-snt}{Section'tie15.1} 'xrdef {Incompatibilities-title}{Facilities in System V \code {m4} not in GNU \code {m4}} 'xrdef {Incompatibilities-pg}{44} 'xrdef {Incompatibilities-snt}{Section'tie15.2} 'xrdef {Other Incompat-title}{Other incompatibilities} 'xrdef {Other Incompat-pg}{44} 'xrdef {Other Incompat-snt}{Section'tie15.3} 'xrdef {Concept index-title}{Concept index} 'xrdef {Concept index-pg}{45} 'xrdef {Concept index-snt}{} 'xrdef {Macro index-title}{Macro index} 'xrdef {Macro index-pg}{47} 'xrdef {Macro index-snt}{} .