1 This is m4.info, produced by makeinfo version 4.13 from m4.texinfo.
3 This manual (28 February 2011) is for GNU M4 (version 1.4.16), a
4 package containing an implementation of the m4 macro language.
6 Copyright (C) 1989-1994, 2004-2011 Free Software Foundation, Inc.
8 Permission is granted to copy, distribute and/or modify this
9 document under the terms of the GNU Free Documentation License,
10 Version 1.3 or any later version published by the Free Software
11 Foundation; with no Invariant Sections, no Front-Cover Texts, and
12 no Back-Cover Texts. A copy of the license is included in the
13 section entitled "GNU Free Documentation License."
15 INFO-DIR-SECTION Text creation and manipulation
17 * M4: (m4). A powerful macro processor.
21 File: m4.info, Node: GNU Free Documentation License, Up: Copying This Manual
23 B.1 License for copying this manual
24 ===================================
26 Version 1.3, 3 November 2008
28 Copyright (C) 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
31 Everyone is permitted to copy and distribute verbatim copies
32 of this license document, but changing it is not allowed.
36 The purpose of this License is to make a manual, textbook, or other
37 functional and useful document "free" in the sense of freedom: to
38 assure everyone the effective freedom to copy and redistribute it,
39 with or without modifying it, either commercially or
40 noncommercially. Secondarily, this License preserves for the
41 author and publisher a way to get credit for their work, while not
42 being considered responsible for modifications made by others.
44 This License is a kind of "copyleft", which means that derivative
45 works of the document must themselves be free in the same sense.
46 It complements the GNU General Public License, which is a copyleft
47 license designed for free software.
49 We have designed this License in order to use it for manuals for
50 free software, because free software needs free documentation: a
51 free program should come with manuals providing the same freedoms
52 that the software does. But this License is not limited to
53 software manuals; it can be used for any textual work, regardless
54 of subject matter or whether it is published as a printed book.
55 We recommend this License principally for works whose purpose is
56 instruction or reference.
58 1. APPLICABILITY AND DEFINITIONS
60 This License applies to any manual or other work, in any medium,
61 that contains a notice placed by the copyright holder saying it
62 can be distributed under the terms of this License. Such a notice
63 grants a world-wide, royalty-free license, unlimited in duration,
64 to use that work under the conditions stated herein. The
65 "Document", below, refers to any such manual or work. Any member
66 of the public is a licensee, and is addressed as "you". You
67 accept the license if you copy, modify or distribute the work in a
68 way requiring permission under copyright law.
70 A "Modified Version" of the Document means any work containing the
71 Document or a portion of it, either copied verbatim, or with
72 modifications and/or translated into another language.
74 A "Secondary Section" is a named appendix or a front-matter section
75 of the Document that deals exclusively with the relationship of the
76 publishers or authors of the Document to the Document's overall
77 subject (or to related matters) and contains nothing that could
78 fall directly within that overall subject. (Thus, if the Document
79 is in part a textbook of mathematics, a Secondary Section may not
80 explain any mathematics.) The relationship could be a matter of
81 historical connection with the subject or with related matters, or
82 of legal, commercial, philosophical, ethical or political position
85 The "Invariant Sections" are certain Secondary Sections whose
86 titles are designated, as being those of Invariant Sections, in
87 the notice that says that the Document is released under this
88 License. If a section does not fit the above definition of
89 Secondary then it is not allowed to be designated as Invariant.
90 The Document may contain zero Invariant Sections. If the Document
91 does not identify any Invariant Sections then there are none.
93 The "Cover Texts" are certain short passages of text that are
94 listed, as Front-Cover Texts or Back-Cover Texts, in the notice
95 that says that the Document is released under this License. A
96 Front-Cover Text may be at most 5 words, and a Back-Cover Text may
99 A "Transparent" copy of the Document means a machine-readable copy,
100 represented in a format whose specification is available to the
101 general public, that is suitable for revising the document
102 straightforwardly with generic text editors or (for images
103 composed of pixels) generic paint programs or (for drawings) some
104 widely available drawing editor, and that is suitable for input to
105 text formatters or for automatic translation to a variety of
106 formats suitable for input to text formatters. A copy made in an
107 otherwise Transparent file format whose markup, or absence of
108 markup, has been arranged to thwart or discourage subsequent
109 modification by readers is not Transparent. An image format is
110 not Transparent if used for any substantial amount of text. A
111 copy that is not "Transparent" is called "Opaque".
113 Examples of suitable formats for Transparent copies include plain
114 ASCII without markup, Texinfo input format, LaTeX input format,
115 SGML or XML using a publicly available DTD, and
116 standard-conforming simple HTML, PostScript or PDF designed for
117 human modification. Examples of transparent image formats include
118 PNG, XCF and JPG. Opaque formats include proprietary formats that
119 can be read and edited only by proprietary word processors, SGML or
120 XML for which the DTD and/or processing tools are not generally
121 available, and the machine-generated HTML, PostScript or PDF
122 produced by some word processors for output purposes only.
124 The "Title Page" means, for a printed book, the title page itself,
125 plus such following pages as are needed to hold, legibly, the
126 material this License requires to appear in the title page. For
127 works in formats which do not have any title page as such, "Title
128 Page" means the text near the most prominent appearance of the
129 work's title, preceding the beginning of the body of the text.
131 The "publisher" means any person or entity that distributes copies
132 of the Document to the public.
134 A section "Entitled XYZ" means a named subunit of the Document
135 whose title either is precisely XYZ or contains XYZ in parentheses
136 following text that translates XYZ in another language. (Here XYZ
137 stands for a specific section name mentioned below, such as
138 "Acknowledgements", "Dedications", "Endorsements", or "History".)
139 To "Preserve the Title" of such a section when you modify the
140 Document means that it remains a section "Entitled XYZ" according
143 The Document may include Warranty Disclaimers next to the notice
144 which states that this License applies to the Document. These
145 Warranty Disclaimers are considered to be included by reference in
146 this License, but only as regards disclaiming warranties: any other
147 implication that these Warranty Disclaimers may have is void and
148 has no effect on the meaning of this License.
152 You may copy and distribute the Document in any medium, either
153 commercially or noncommercially, provided that this License, the
154 copyright notices, and the license notice saying this License
155 applies to the Document are reproduced in all copies, and that you
156 add no other conditions whatsoever to those of this License. You
157 may not use technical measures to obstruct or control the reading
158 or further copying of the copies you make or distribute. However,
159 you may accept compensation in exchange for copies. If you
160 distribute a large enough number of copies you must also follow
161 the conditions in section 3.
163 You may also lend copies, under the same conditions stated above,
164 and you may publicly display copies.
166 3. COPYING IN QUANTITY
168 If you publish printed copies (or copies in media that commonly
169 have printed covers) of the Document, numbering more than 100, and
170 the Document's license notice requires Cover Texts, you must
171 enclose the copies in covers that carry, clearly and legibly, all
172 these Cover Texts: Front-Cover Texts on the front cover, and
173 Back-Cover Texts on the back cover. Both covers must also clearly
174 and legibly identify you as the publisher of these copies. The
175 front cover must present the full title with all words of the
176 title equally prominent and visible. You may add other material
177 on the covers in addition. Copying with changes limited to the
178 covers, as long as they preserve the title of the Document and
179 satisfy these conditions, can be treated as verbatim copying in
182 If the required texts for either cover are too voluminous to fit
183 legibly, you should put the first ones listed (as many as fit
184 reasonably) on the actual cover, and continue the rest onto
187 If you publish or distribute Opaque copies of the Document
188 numbering more than 100, you must either include a
189 machine-readable Transparent copy along with each Opaque copy, or
190 state in or with each Opaque copy a computer-network location from
191 which the general network-using public has access to download
192 using public-standard network protocols a complete Transparent
193 copy of the Document, free of added material. If you use the
194 latter option, you must take reasonably prudent steps, when you
195 begin distribution of Opaque copies in quantity, to ensure that
196 this Transparent copy will remain thus accessible at the stated
197 location until at least one year after the last time you
198 distribute an Opaque copy (directly or through your agents or
199 retailers) of that edition to the public.
201 It is requested, but not required, that you contact the authors of
202 the Document well before redistributing any large number of
203 copies, to give them a chance to provide you with an updated
204 version of the Document.
208 You may copy and distribute a Modified Version of the Document
209 under the conditions of sections 2 and 3 above, provided that you
210 release the Modified Version under precisely this License, with
211 the Modified Version filling the role of the Document, thus
212 licensing distribution and modification of the Modified Version to
213 whoever possesses a copy of it. In addition, you must do these
214 things in the Modified Version:
216 A. Use in the Title Page (and on the covers, if any) a title
217 distinct from that of the Document, and from those of
218 previous versions (which should, if there were any, be listed
219 in the History section of the Document). You may use the
220 same title as a previous version if the original publisher of
221 that version gives permission.
223 B. List on the Title Page, as authors, one or more persons or
224 entities responsible for authorship of the modifications in
225 the Modified Version, together with at least five of the
226 principal authors of the Document (all of its principal
227 authors, if it has fewer than five), unless they release you
228 from this requirement.
230 C. State on the Title page the name of the publisher of the
231 Modified Version, as the publisher.
233 D. Preserve all the copyright notices of the Document.
235 E. Add an appropriate copyright notice for your modifications
236 adjacent to the other copyright notices.
238 F. Include, immediately after the copyright notices, a license
239 notice giving the public permission to use the Modified
240 Version under the terms of this License, in the form shown in
243 G. Preserve in that license notice the full lists of Invariant
244 Sections and required Cover Texts given in the Document's
247 H. Include an unaltered copy of this License.
249 I. Preserve the section Entitled "History", Preserve its Title,
250 and add to it an item stating at least the title, year, new
251 authors, and publisher of the Modified Version as given on
252 the Title Page. If there is no section Entitled "History" in
253 the Document, create one stating the title, year, authors,
254 and publisher of the Document as given on its Title Page,
255 then add an item describing the Modified Version as stated in
256 the previous sentence.
258 J. Preserve the network location, if any, given in the Document
259 for public access to a Transparent copy of the Document, and
260 likewise the network locations given in the Document for
261 previous versions it was based on. These may be placed in
262 the "History" section. You may omit a network location for a
263 work that was published at least four years before the
264 Document itself, or if the original publisher of the version
265 it refers to gives permission.
267 K. For any section Entitled "Acknowledgements" or "Dedications",
268 Preserve the Title of the section, and preserve in the
269 section all the substance and tone of each of the contributor
270 acknowledgements and/or dedications given therein.
272 L. Preserve all the Invariant Sections of the Document,
273 unaltered in their text and in their titles. Section numbers
274 or the equivalent are not considered part of the section
277 M. Delete any section Entitled "Endorsements". Such a section
278 may not be included in the Modified Version.
280 N. Do not retitle any existing section to be Entitled
281 "Endorsements" or to conflict in title with any Invariant
284 O. Preserve any Warranty Disclaimers.
286 If the Modified Version includes new front-matter sections or
287 appendices that qualify as Secondary Sections and contain no
288 material copied from the Document, you may at your option
289 designate some or all of these sections as invariant. To do this,
290 add their titles to the list of Invariant Sections in the Modified
291 Version's license notice. These titles must be distinct from any
292 other section titles.
294 You may add a section Entitled "Endorsements", provided it contains
295 nothing but endorsements of your Modified Version by various
296 parties--for example, statements of peer review or that the text
297 has been approved by an organization as the authoritative
298 definition of a standard.
300 You may add a passage of up to five words as a Front-Cover Text,
301 and a passage of up to 25 words as a Back-Cover Text, to the end
302 of the list of Cover Texts in the Modified Version. Only one
303 passage of Front-Cover Text and one of Back-Cover Text may be
304 added by (or through arrangements made by) any one entity. If the
305 Document already includes a cover text for the same cover,
306 previously added by you or by arrangement made by the same entity
307 you are acting on behalf of, you may not add another; but you may
308 replace the old one, on explicit permission from the previous
309 publisher that added the old one.
311 The author(s) and publisher(s) of the Document do not by this
312 License give permission to use their names for publicity for or to
313 assert or imply endorsement of any Modified Version.
315 5. COMBINING DOCUMENTS
317 You may combine the Document with other documents released under
318 this License, under the terms defined in section 4 above for
319 modified versions, provided that you include in the combination
320 all of the Invariant Sections of all of the original documents,
321 unmodified, and list them all as Invariant Sections of your
322 combined work in its license notice, and that you preserve all
323 their Warranty Disclaimers.
325 The combined work need only contain one copy of this License, and
326 multiple identical Invariant Sections may be replaced with a single
327 copy. If there are multiple Invariant Sections with the same name
328 but different contents, make the title of each such section unique
329 by adding at the end of it, in parentheses, the name of the
330 original author or publisher of that section if known, or else a
331 unique number. Make the same adjustment to the section titles in
332 the list of Invariant Sections in the license notice of the
335 In the combination, you must combine any sections Entitled
336 "History" in the various original documents, forming one section
337 Entitled "History"; likewise combine any sections Entitled
338 "Acknowledgements", and any sections Entitled "Dedications". You
339 must delete all sections Entitled "Endorsements."
341 6. COLLECTIONS OF DOCUMENTS
343 You may make a collection consisting of the Document and other
344 documents released under this License, and replace the individual
345 copies of this License in the various documents with a single copy
346 that is included in the collection, provided that you follow the
347 rules of this License for verbatim copying of each of the
348 documents in all other respects.
350 You may extract a single document from such a collection, and
351 distribute it individually under this License, provided you insert
352 a copy of this License into the extracted document, and follow
353 this License in all other respects regarding verbatim copying of
356 7. AGGREGATION WITH INDEPENDENT WORKS
358 A compilation of the Document or its derivatives with other
359 separate and independent documents or works, in or on a volume of
360 a storage or distribution medium, is called an "aggregate" if the
361 copyright resulting from the compilation is not used to limit the
362 legal rights of the compilation's users beyond what the individual
363 works permit. When the Document is included in an aggregate, this
364 License does not apply to the other works in the aggregate which
365 are not themselves derivative works of the Document.
367 If the Cover Text requirement of section 3 is applicable to these
368 copies of the Document, then if the Document is less than one half
369 of the entire aggregate, the Document's Cover Texts may be placed
370 on covers that bracket the Document within the aggregate, or the
371 electronic equivalent of covers if the Document is in electronic
372 form. Otherwise they must appear on printed covers that bracket
377 Translation is considered a kind of modification, so you may
378 distribute translations of the Document under the terms of section
379 4. Replacing Invariant Sections with translations requires special
380 permission from their copyright holders, but you may include
381 translations of some or all Invariant Sections in addition to the
382 original versions of these Invariant Sections. You may include a
383 translation of this License, and all the license notices in the
384 Document, and any Warranty Disclaimers, provided that you also
385 include the original English version of this License and the
386 original versions of those notices and disclaimers. In case of a
387 disagreement between the translation and the original version of
388 this License or a notice or disclaimer, the original version will
391 If a section in the Document is Entitled "Acknowledgements",
392 "Dedications", or "History", the requirement (section 4) to
393 Preserve its Title (section 1) will typically require changing the
398 You may not copy, modify, sublicense, or distribute the Document
399 except as expressly provided under this License. Any attempt
400 otherwise to copy, modify, sublicense, or distribute it is void,
401 and will automatically terminate your rights under this License.
403 However, if you cease all violation of this License, then your
404 license from a particular copyright holder is reinstated (a)
405 provisionally, unless and until the copyright holder explicitly
406 and finally terminates your license, and (b) permanently, if the
407 copyright holder fails to notify you of the violation by some
408 reasonable means prior to 60 days after the cessation.
410 Moreover, your license from a particular copyright holder is
411 reinstated permanently if the copyright holder notifies you of the
412 violation by some reasonable means, this is the first time you have
413 received notice of violation of this License (for any work) from
414 that copyright holder, and you cure the violation prior to 30 days
415 after your receipt of the notice.
417 Termination of your rights under this section does not terminate
418 the licenses of parties who have received copies or rights from
419 you under this License. If your rights have been terminated and
420 not permanently reinstated, receipt of a copy of some or all of
421 the same material does not give you any rights to use it.
423 10. FUTURE REVISIONS OF THIS LICENSE
425 The Free Software Foundation may publish new, revised versions of
426 the GNU Free Documentation License from time to time. Such new
427 versions will be similar in spirit to the present version, but may
428 differ in detail to address new problems or concerns. See
429 `http://www.gnu.org/copyleft/'.
431 Each version of the License is given a distinguishing version
432 number. If the Document specifies that a particular numbered
433 version of this License "or any later version" applies to it, you
434 have the option of following the terms and conditions either of
435 that specified version or of any later version that has been
436 published (not as a draft) by the Free Software Foundation. If
437 the Document does not specify a version number of this License,
438 you may choose any version ever published (not as a draft) by the
439 Free Software Foundation. If the Document specifies that a proxy
440 can decide which future versions of this License can be used, that
441 proxy's public statement of acceptance of a version permanently
442 authorizes you to choose that version for the Document.
446 "Massive Multiauthor Collaboration Site" (or "MMC Site") means any
447 World Wide Web server that publishes copyrightable works and also
448 provides prominent facilities for anybody to edit those works. A
449 public wiki that anybody can edit is an example of such a server.
450 A "Massive Multiauthor Collaboration" (or "MMC") contained in the
451 site means any set of copyrightable works thus published on the MMC
454 "CC-BY-SA" means the Creative Commons Attribution-Share Alike 3.0
455 license published by Creative Commons Corporation, a not-for-profit
456 corporation with a principal place of business in San Francisco,
457 California, as well as future copyleft versions of that license
458 published by that same organization.
460 "Incorporate" means to publish or republish a Document, in whole or
461 in part, as part of another Document.
463 An MMC is "eligible for relicensing" if it is licensed under this
464 License, and if all works that were first published under this
465 License somewhere other than this MMC, and subsequently
466 incorporated in whole or in part into the MMC, (1) had no cover
467 texts or invariant sections, and (2) were thus incorporated prior
470 The operator of an MMC Site may republish an MMC contained in the
471 site under CC-BY-SA on the same site at any time before August 1,
472 2009, provided the MMC is eligible for relicensing.
475 ADDENDUM: How to use this License for your documents
476 ====================================================
478 To use this License in a document you have written, include a copy of
479 the License in the document and put the following copyright and license
480 notices just after the title page:
482 Copyright (C) YEAR YOUR NAME.
483 Permission is granted to copy, distribute and/or modify this document
484 under the terms of the GNU Free Documentation License, Version 1.3
485 or any later version published by the Free Software Foundation;
486 with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
487 Texts. A copy of the license is included in the section entitled ``GNU
488 Free Documentation License''.
490 If you have Invariant Sections, Front-Cover Texts and Back-Cover
491 Texts, replace the "with...Texts." line with this:
493 with the Invariant Sections being LIST THEIR TITLES, with
494 the Front-Cover Texts being LIST, and with the Back-Cover Texts
497 If you have Invariant Sections without Cover Texts, or some other
498 combination of the three, merge those two alternatives to suit the
501 If your document contains nontrivial examples of program code, we
502 recommend releasing these examples in parallel under your choice of
503 free software license, such as the GNU General Public License, to
504 permit their use in free software.
507 File: m4.info, Node: Indices, Prev: Copying This Manual, Up: Top
509 Appendix C Indices of concepts and macros
510 *****************************************
514 * Macro index:: Index for all `m4' macros
515 * Concept index:: Index for many concepts
518 File: m4.info, Node: Macro index, Next: Concept index, Up: Indices
520 C.1 Index for all `m4' macros
521 =============================
523 This index covers all `m4' builtins, as well as several useful
524 composite macros. References are exclusively to the places where a
525 macro is introduced the first time.
530 * __file__: Location. (line 10)
531 * __gnu__: Platform macros. (line 12)
532 * __line__: Location. (line 11)
533 * __os2__: Platform macros. (line 13)
534 * __program__: Location. (line 12)
535 * __unix__: Platform macros. (line 15)
536 * __windows__: Platform macros. (line 17)
537 * argn: Shift. (line 258)
538 * array: Define. (line 56)
539 * array_set: Define. (line 57)
540 * builtin: Builtin. (line 9)
541 * capitalize: Patsubst. (line 55)
542 * changecom: Changecom. (line 10)
543 * changequote: Changequote. (line 10)
544 * changeword: Changeword. (line 23)
545 * cleardivert: Cleardivert. (line 26)
546 * cond: Shift. (line 53)
547 * copy: Composition. (line 120)
548 * curry: Composition. (line 68)
549 * debugfile: Debug Output. (line 11)
550 * debugmode: Debug Levels. (line 78)
551 * decr: Incr. (line 11)
552 * define: Define. (line 10)
553 * define_blind: Composition. (line 11)
554 * defn: Defn. (line 10)
555 * divert: Divert. (line 9)
556 * divnum: Divnum. (line 9)
558 * downcase: Patsubst. (line 54)
559 * dquote: Shift. (line 196)
560 * dquote_elt: Shift. (line 197)
561 * dumpdef: Dumpdef. (line 10)
562 * errprint: Errprint. (line 9)
563 * esyscmd: Esyscmd. (line 9)
564 * eval: Eval. (line 9)
565 * example: Manual. (line 40)
566 * exch: Arguments. (line 13)
567 * fatal_error: M4exit. (line 25)
568 * foreach: Foreach. (line 9)
569 * foreachq: Foreach. (line 10)
570 * forloop: Forloop. (line 9)
571 * format: Format. (line 9)
572 * ifdef: Ifdef. (line 10)
573 * ifelse: Ifelse. (line 11)
574 * include: Include. (line 9)
575 * incr: Incr. (line 10)
576 * index: Index macro. (line 9)
577 * indir: Indir. (line 9)
578 * join: Shift. (line 104)
579 * joinall: Shift. (line 105)
581 * m4exit: M4exit. (line 10)
582 * m4wrap: M4wrap. (line 14)
583 * maketemp: Mkstemp. (line 12)
584 * mkstemp: Mkstemp. (line 11)
585 * nargs: Pseudo Arguments. (line 13)
586 * os2: Platform macros. (line 14)
587 * patsubst: Patsubst. (line 9)
588 * popdef: Pushdef. (line 12)
589 * pushdef: Pushdef. (line 11)
590 * quote: Shift. (line 195)
591 * regexp: Regexp. (line 9)
592 * rename: Composition. (line 121)
593 * reverse: Shift. (line 32)
594 * shift: Shift. (line 17)
595 * sinclude: Include. (line 10)
596 * stack_foreach: Stacks. (line 12)
597 * stack_foreach_lifo: Stacks. (line 13)
598 * stack_foreach_sep: Improved copy. (line 16)
599 * stack_foreach_sep_lifo: Improved copy. (line 17)
600 * substr: Substr. (line 9)
601 * syscmd: Syscmd. (line 9)
602 * sysval: Sysval. (line 9)
603 * traceoff: Trace. (line 11)
604 * traceon: Trace. (line 10)
605 * translit: Translit. (line 9)
606 * undefine: Undefine. (line 9)
607 * undivert: Undivert. (line 9)
608 * unix: Platform macros. (line 16)
609 * upcase: Patsubst. (line 53)
610 * windows: Platform macros. (line 18)
613 File: m4.info, Node: Concept index, Prev: Macro index, Up: Indices
615 C.2 Index for many concepts
616 ===========================
621 * argument currying: Composition. (line 63)
622 * arguments to macros <1>: Arguments. (line 6)
623 * arguments to macros: Macro Arguments. (line 6)
624 * arguments to macros, special: Pseudo Arguments. (line 6)
625 * arguments, joining: Shift. (line 100)
626 * arguments, more than nine <1>: Improved foreach. (line 155)
627 * arguments, more than nine <2>: Shift. (line 252)
628 * arguments, more than nine: Arguments. (line 54)
629 * arguments, quoted macro: Quoting Arguments. (line 6)
630 * arguments, reversing: Shift. (line 31)
631 * arithmetic: Arithmetic. (line 6)
632 * arrays: Define. (line 52)
633 * avoiding quadratic behavior: Improved foreach. (line 38)
634 * basic regular expressions <1>: Patsubst. (line 6)
635 * basic regular expressions: Regexp. (line 6)
636 * blind macro <1>: Composition. (line 10)
637 * blind macro <2>: Ifelse. (line 52)
638 * blind macro: Inhibiting Invocation.
640 * bug reports: Bugs. (line 6)
641 * builtins, indirect call of: Builtin. (line 6)
642 * builtins, special tokens: Defn. (line 101)
643 * call of builtins, indirect: Builtin. (line 6)
644 * call of macros, indirect: Indir. (line 6)
645 * case statement: Ifelse. (line 69)
646 * changing comment delimiters: Changecom. (line 6)
647 * changing quote delimiters: Changequote. (line 6)
648 * changing syntax: Changeword. (line 6)
649 * characters, translating: Translit. (line 6)
650 * command line: Invoking m4. (line 6)
651 * command line, file names on the: Command line files. (line 6)
652 * command line, macro definitions on the: Preprocessor features.
654 * command line, options: Invoking m4. (line 10)
655 * commands, exit status from shell: Sysval. (line 6)
656 * commands, running shell: Shell commands. (line 6)
657 * comment delimiters, changing: Changecom. (line 6)
658 * comments: Comments. (line 6)
659 * comments, copied to output: Changecom. (line 29)
660 * comparing strings: Ifelse. (line 6)
661 * compatibility: Compatibility. (line 6)
662 * composing macros: Composition. (line 6)
663 * concatenating arguments: Shift. (line 100)
664 * conditional, short-circuiting: Shift. (line 51)
665 * conditionals: Ifdef. (line 6)
666 * controlling debugging output: Debug Levels. (line 6)
667 * copying macros: Composition. (line 116)
668 * counting loops: Forloop. (line 6)
669 * currying arguments: Composition. (line 63)
670 * debugging macros: Debugging. (line 6)
671 * debugging output, controlling: Debug Levels. (line 6)
672 * debugging output, saving: Debug Output. (line 6)
673 * decrement operator: Incr. (line 6)
674 * deferring expansion: M4wrap. (line 6)
675 * deferring output: Diversions. (line 6)
676 * defining new macros: Definitions. (line 6)
677 * definition stack <1>: Stacks. (line 6)
678 * definition stack: Pushdef. (line 6)
679 * definitions, displaying macro <1>: Dumpdef. (line 6)
680 * definitions, displaying macro: Defn. (line 6)
681 * deleting macros: Undefine. (line 6)
682 * deleting whitespace in input: Dnl. (line 6)
683 * delimiters, changing <1>: Changecom. (line 6)
684 * delimiters, changing: Changequote. (line 6)
685 * discarding diverted text: Cleardivert. (line 6)
686 * discarding input <1>: Divert. (line 42)
687 * discarding input <2>: Dnl. (line 6)
688 * discarding input: Ifelse. (line 6)
689 * displaying macro definitions: Dumpdef. (line 6)
690 * diversion numbers: Divnum. (line 6)
691 * diverted text, discarding: Cleardivert. (line 6)
692 * diverting output to files: Divert. (line 6)
693 * dumping into frozen file: Using frozen files. (line 6)
694 * error messages, printing: Errprint. (line 6)
695 * errors, fatal: Operation modes. (line 20)
696 * evaluation, of integer expressions: Eval. (line 6)
697 * examples, understanding: Manual. (line 6)
698 * executing shell commands: Shell commands. (line 6)
699 * exit status from shell commands: Sysval. (line 6)
700 * exiting from m4: M4exit. (line 6)
701 * expansion of macros: Macro expansion. (line 6)
702 * expansion, deferring: M4wrap. (line 6)
703 * expansion, tracing macro: Trace. (line 6)
704 * expressions, evaluation of integer: Eval. (line 6)
705 * expressions, regular <1>: Patsubst. (line 6)
706 * expressions, regular: Regexp. (line 6)
707 * extracting substrings: Substr. (line 6)
708 * fast loading of frozen files: Using frozen files. (line 6)
709 * fatal errors: Operation modes. (line 20)
710 * FDL, GNU Free Documentation License: GNU Free Documentation License.
712 * file format, frozen file: Frozen file format. (line 6)
713 * file inclusion <1>: Undivert. (line 13)
714 * file inclusion: File Inclusion. (line 6)
715 * file names, on the command line: Command line files. (line 6)
716 * files, diverting output to: Divert. (line 6)
717 * files, names of temporary: Mkstemp. (line 6)
718 * for each loops: Foreach. (line 6)
719 * for loops: Forloop. (line 6)
720 * formatted output: Format. (line 6)
721 * Free Documentation License (FDL), GNU: GNU Free Documentation License.
723 * frozen file format: Frozen file format. (line 6)
724 * frozen files for fast loading: Using frozen files. (line 6)
725 * General Public License (GPL), GNU: GNU General Public License.
727 * GNU extensions <1>: Extensions. (line 6)
728 * GNU extensions <2>: Using frozen files. (line 6)
729 * GNU extensions <3>: Mkstemp. (line 59)
730 * GNU extensions <4>: Esyscmd. (line 6)
731 * GNU extensions <5>: Eval. (line 125)
732 * GNU extensions <6>: Format. (line 6)
733 * GNU extensions <7>: Patsubst. (line 6)
734 * GNU extensions <8>: Regexp. (line 6)
735 * GNU extensions <9>: Undivert. (line 13)
736 * GNU extensions <10>: Divert. (line 54)
737 * GNU extensions <11>: Search Path. (line 6)
738 * GNU extensions <12>: Debug Output. (line 6)
739 * GNU extensions <13>: Debug Levels. (line 74)
740 * GNU extensions <14>: Builtin. (line 6)
741 * GNU extensions <15>: Indir. (line 6)
742 * GNU extensions <16>: Arguments. (line 54)
743 * GNU extensions <17>: Define. (line 41)
744 * GNU extensions: Inhibiting Invocation.
746 * GNU Free Documentation License: GNU Free Documentation License.
748 * GNU General Public License: GNU General Public License.
750 * GNU M4, history of: History. (line 6)
751 * GPL, GNU General Public License: GNU General Public License.
753 * history of m4: History. (line 6)
754 * included files, search path for: Search Path. (line 6)
755 * inclusion, of files <1>: Undivert. (line 13)
756 * inclusion, of files: File Inclusion. (line 6)
757 * increment operator: Incr. (line 6)
758 * indirect call of builtins: Builtin. (line 6)
759 * indirect call of macros: Indir. (line 6)
760 * initialization, frozen state: Using frozen files. (line 6)
761 * input location <1>: Location. (line 6)
762 * input location: Preprocessor features.
764 * input tokens: Syntax. (line 6)
765 * input, discarding <1>: Divert. (line 42)
766 * input, discarding <2>: Dnl. (line 6)
767 * input, discarding: Ifelse. (line 6)
768 * input, saving: M4wrap. (line 6)
769 * integer arithmetic: Arithmetic. (line 6)
770 * integer expression evaluation: Eval. (line 6)
771 * invoking m4: Invoking m4. (line 6)
772 * invoking macros: Invocation. (line 6)
773 * iterating over lists: Foreach. (line 6)
774 * joining arguments: Shift. (line 100)
775 * length of strings: Len. (line 6)
776 * lexical structure of words: Changeword. (line 6)
777 * License, code: Copying This Package.
779 * License, manual: Copying This Manual. (line 6)
780 * limit, nesting: Limits control. (line 43)
781 * literal output: Pseudo Arguments. (line 106)
782 * local variables: Pushdef. (line 79)
783 * location, input <1>: Location. (line 6)
784 * location, input: Preprocessor features.
786 * loops: Shift. (line 10)
787 * loops, counting: Forloop. (line 6)
788 * loops, list iteration: Foreach. (line 6)
789 * M4PATH: Search Path. (line 9)
790 * macro composition: Composition. (line 6)
791 * macro definitions, on the command line: Preprocessor features.
793 * macro expansion, tracing: Trace. (line 6)
794 * macro invocation: Invocation. (line 6)
795 * macro, blind <1>: Composition. (line 10)
796 * macro, blind <2>: Ifelse. (line 52)
797 * macro, blind: Inhibiting Invocation.
799 * macros, arguments to <1>: Arguments. (line 6)
800 * macros, arguments to: Macro Arguments. (line 6)
801 * macros, copying: Composition. (line 116)
802 * macros, debugging: Debugging. (line 6)
803 * macros, displaying definitions <1>: Dumpdef. (line 6)
804 * macros, displaying definitions: Defn. (line 6)
805 * macros, expansion of: Macro expansion. (line 6)
806 * macros, how to define new: Definitions. (line 6)
807 * macros, how to delete: Undefine. (line 6)
808 * macros, how to rename: Defn. (line 6)
809 * macros, indirect call of: Indir. (line 6)
810 * macros, quoted arguments to: Quoting Arguments. (line 6)
811 * macros, recursive: Shift. (line 6)
812 * macros, special arguments to: Pseudo Arguments. (line 6)
813 * macros, temporary redefinition of: Pushdef. (line 6)
814 * manipulating quotes: Shift. (line 191)
815 * messages, printing error: Errprint. (line 6)
816 * more than nine arguments <1>: Improved foreach. (line 155)
817 * more than nine arguments <2>: Shift. (line 252)
818 * more than nine arguments: Arguments. (line 54)
819 * multibranches: Ifelse. (line 69)
820 * names: Names. (line 6)
821 * nesting limit: Limits control. (line 43)
822 * nine arguments, more than <1>: Improved foreach. (line 155)
823 * nine arguments, more than <2>: Shift. (line 252)
824 * nine arguments, more than: Arguments. (line 54)
825 * numbers: Manual. (line 57)
826 * options, command line: Invoking m4. (line 10)
827 * output, diverting to files: Divert. (line 6)
828 * output, formatted: Format. (line 6)
829 * output, literal: Pseudo Arguments. (line 106)
830 * output, saving debugging: Debug Output. (line 6)
831 * overview of m4: Intro. (line 6)
832 * pattern substitution: Patsubst. (line 6)
833 * platform macros: Platform macros. (line 6)
834 * positional parameters, more than nine: Arguments. (line 54)
835 * POSIX: Extensions. (line 6)
836 * POSIXLY_CORRECT <1>: Incompatibilities. (line 146)
837 * POSIXLY_CORRECT: Invoking m4. (line 10)
838 * preprocessor features: Preprocessor features.
840 * printing error messages: Errprint. (line 6)
841 * pushdef stack <1>: Stacks. (line 6)
842 * pushdef stack: Pushdef. (line 6)
843 * quadratic behavior, avoiding: Improved foreach. (line 38)
844 * quote delimiters, changing: Changequote. (line 6)
845 * quote manipulation: Shift. (line 191)
846 * quoted macro arguments: Quoting Arguments. (line 6)
847 * quoted string: Quoted strings. (line 6)
848 * quoting rule of thumb: Quoting Arguments. (line 22)
849 * recursive macros: Shift. (line 6)
850 * redefinition of macros, temporary: Pushdef. (line 6)
851 * regular expressions <1>: Patsubst. (line 6)
852 * regular expressions <2>: Regexp. (line 6)
853 * regular expressions: Changeword. (line 6)
854 * reloading a frozen file: Using frozen files. (line 6)
855 * renaming macros <1>: Composition. (line 116)
856 * renaming macros: Defn. (line 6)
857 * reporting bugs: Bugs. (line 6)
858 * rescanning <1>: Other Incompatibilities.
860 * rescanning <2>: Defn. (line 61)
861 * rescanning <3>: Pseudo Arguments. (line 106)
862 * rescanning <4>: Inhibiting Invocation.
864 * rescanning: Limits control. (line 56)
865 * reversing arguments: Shift. (line 31)
866 * rule of thumb, quoting: Quoting Arguments. (line 22)
867 * running shell commands: Shell commands. (line 6)
868 * saving debugging output: Debug Output. (line 6)
869 * saving input: M4wrap. (line 6)
870 * search path for included files: Search Path. (line 6)
871 * shell commands, exit status from: Sysval. (line 6)
872 * shell commands, running: Shell commands. (line 6)
873 * short-circuiting conditional: Shift. (line 51)
874 * special arguments to macros: Pseudo Arguments. (line 6)
875 * stack, macro definition <1>: Stacks. (line 6)
876 * stack, macro definition: Pushdef. (line 6)
877 * standard error, output to <1>: Errprint. (line 6)
878 * standard error, output to <2>: Trace. (line 6)
879 * standard error, output to: Dumpdef. (line 6)
880 * status of shell commands: Sysval. (line 6)
881 * status, setting m4 exit: M4exit. (line 6)
882 * string, quoted: Quoted strings. (line 6)
883 * strings, length of: Len. (line 6)
884 * substitution by regular expression: Patsubst. (line 6)
885 * substrings, extracting: Substr. (line 6)
886 * substrings, locating: Index macro. (line 6)
887 * suggestions, reporting: Bugs. (line 6)
888 * suppressing warnings: Macro Arguments. (line 38)
889 * switch statement: Ifelse. (line 69)
890 * synchronization lines: Preprocessor features.
892 * syntax, changing: Changeword. (line 6)
893 * temporary file names: Mkstemp. (line 6)
894 * temporary redefinition of macros: Pushdef. (line 6)
895 * TMPDIR: Diversions. (line 10)
896 * tokens: Syntax. (line 6)
897 * tokens, builtin macro: Defn. (line 101)
898 * tokens, special: Other tokens. (line 6)
899 * tracing macro expansion: Trace. (line 6)
900 * translating characters: Translit. (line 6)
901 * undefining macros: Undefine. (line 6)
902 * UNIX commands, exit status from: Sysval. (line 6)
903 * UNIX commands, running: Shell commands. (line 6)
904 * variables, local: Pushdef. (line 79)
905 * warnings, suppressing: Macro Arguments. (line 38)
906 * words: Names. (line 6)
907 * words, lexical structure of: Changeword. (line 6)