This is m4.info, produced by makeinfo version 7.3 from m4.texi. This manual (10 July 2026) is for GNU M4 (version 1.4.21), a package containing an implementation of the m4 macro language. Copyright © 1989-1994, 2004-2014, 2016-2017, 2020-2026 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License." INFO-DIR-SECTION Text creation and manipulation START-INFO-DIR-ENTRY * M4: (m4). A powerful macro processor. END-INFO-DIR-ENTRY  Indirect: m4.info-1: 829 m4.info-2: 317298  Tag Table: (Indirect) Node: Top829 Node: Preliminaries9772 Node: Intro10478 Node: History12169 Node: Bugs16222 Node: Manual17485 Node: Invoking m420988 Node: Operation modes23192 Node: Preprocessor features26291 Node: Limits control29461 Node: Frozen state33472 Node: Debugging options34311 Node: Command line files36363 Node: Syntax38014 Node: Names39169 Node: Quoted strings39651 Node: Comments40318 Node: Other tokens41221 Node: Input processing41815 Ref: Input processing-Footnote-150252 Node: Macros50449 Node: Invocation50943 Node: Inhibiting Invocation51744 Node: Macro Arguments55986 Node: Quoting Arguments59106 Node: Macro expansion61242 Node: Definitions61960 Node: Define62745 Node: Arguments65263 Node: Pseudo Arguments69029 Node: Undefine72658 Node: Defn73817 Node: Pushdef78880 Node: Indir81620 Node: Builtin83787 Node: Conditionals86062 Node: Ifdef87008 Node: Ifelse87890 Node: Shift91276 Node: Forloop102096 Node: Foreach104777 Node: Stacks110399 Node: Composition113534 Node: Debugging121211 Node: Dumpdef121804 Node: Trace123222 Node: Debug Levels126874 Node: Debug Output131744 Node: Input Control133057 Node: Dnl133598 Node: Changequote135540 Node: Changecom145272 Node: Changeword149158 Node: M4wrap154763 Node: File Inclusion158848 Node: Include159169 Node: Search Path161986 Node: Diversions162935 Node: Divert164642 Node: Undivert167208 Node: Divnum170593 Node: Cleardivert171066 Node: Text handling172287 Node: Len173014 Node: Index macro173408 Node: Regexp174301 Node: Substr177462 Node: Translit178520 Node: Patsubst181311 Node: Format185952 Node: Arithmetic189360 Node: Incr189813 Node: Eval191488 Node: Shell commands200232 Node: Platform macros201170 Node: Syscmd203372 Node: Esyscmd205747 Node: Sysval207330 Node: Mkstemp209297 Node: Miscellaneous213354 Node: Errprint213791 Node: Location215043 Node: M4exit217920 Node: Frozen files220046 Node: Using frozen files220844 Node: Frozen file format224225 Node: Compatibility227375 Node: Extensions228457 Node: Incompatibilities232511 Node: Other Incompatibilities241815 Node: Answers244545 Node: Improved exch245359 Node: Improved forloop245912 Node: Improved foreach251368 Node: Improved copy264746 Node: Improved m4wrap268803 Node: Improved cleardivert271299 Node: Improved capitalize272297 Node: Improved fatal_error277333 Node: Copying This Package278430 Node: GNU General Public License278909 Node: Copying This Manual317298 Node: GNU Free Documentation License317822 Node: Indices342946 Node: Macro index343230 Node: Concept index349840  End Tag Table  Local Variables: coding: utf-8 End: