This is m4.info, produced by makeinfo version 7.2 from m4.texi. This manual (6 February 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: 832 m4.info-2: 317307  Tag Table: (Indirect) Node: Top832 Node: Preliminaries9778 Node: Intro10484 Node: History12175 Node: Bugs16228 Node: Manual17491 Node: Invoking m420994 Node: Operation modes23198 Node: Preprocessor features26297 Node: Limits control29467 Node: Frozen state33478 Node: Debugging options34317 Node: Command line files36369 Node: Syntax38020 Node: Names39175 Node: Quoted strings39657 Node: Comments40324 Node: Other tokens41227 Node: Input processing41821 Ref: Input processing-Footnote-150258 Node: Macros50455 Node: Invocation50949 Node: Inhibiting Invocation51750 Node: Macro Arguments55992 Node: Quoting Arguments59112 Node: Macro expansion61248 Node: Definitions61966 Node: Define62751 Node: Arguments65269 Node: Pseudo Arguments69035 Node: Undefine72664 Node: Defn73823 Node: Pushdef78886 Node: Indir81626 Node: Builtin83793 Node: Conditionals86068 Node: Ifdef87014 Node: Ifelse87896 Node: Shift91282 Node: Forloop102102 Node: Foreach104783 Node: Stacks110405 Node: Composition113540 Node: Debugging121217 Node: Dumpdef121810 Node: Trace123228 Node: Debug Levels126880 Node: Debug Output131750 Node: Input Control133063 Node: Dnl133604 Node: Changequote135546 Node: Changecom145278 Node: Changeword149164 Node: M4wrap154769 Node: File Inclusion158854 Node: Include159175 Node: Search Path161992 Node: Diversions162941 Node: Divert164648 Node: Undivert167214 Node: Divnum170599 Node: Cleardivert171072 Node: Text handling172293 Node: Len173020 Node: Index macro173414 Node: Regexp174307 Node: Substr177468 Node: Translit178526 Node: Patsubst181317 Node: Format185958 Node: Arithmetic189366 Node: Incr189819 Node: Eval191494 Node: Shell commands200238 Node: Platform macros201176 Node: Syscmd203378 Node: Esyscmd205753 Node: Sysval207336 Node: Mkstemp209303 Node: Miscellaneous213360 Node: Errprint213797 Node: Location215049 Node: M4exit217926 Node: Frozen files220052 Node: Using frozen files220850 Node: Frozen file format224231 Node: Compatibility227381 Node: Extensions228463 Node: Incompatibilities232517 Node: Other Incompatibilities241821 Node: Answers244551 Node: Improved exch245365 Node: Improved forloop245918 Node: Improved foreach251374 Node: Improved copy264752 Node: Improved m4wrap268809 Node: Improved cleardivert271305 Node: Improved capitalize272303 Node: Improved fatal_error277339 Node: Copying This Package278436 Node: GNU General Public License278915 Node: Copying This Manual317307 Node: GNU Free Documentation License317831 Node: Indices342955 Node: Macro index343239 Node: Concept index349849  End Tag Table  Local Variables: coding: utf-8 End: