man-pages/man1/m4.1.html
2021-03-31 01:06:50 +01:00

208 lines
5.9 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML><HEAD><TITLE>Man page of M4</TITLE>
</HEAD><BODY>
<H1>M4</H1>
Section: User Commands (1)<BR>Updated: December 2016<BR><A HREF="#index">Index</A>
<A HREF="/cgi-bin/man/man2html">Return to Main Contents</A><HR>
<A NAME="lbAB">&nbsp;</A>
<H2>NAME</H2>
m4 - macro processor
<A NAME="lbAC">&nbsp;</A>
<H2>SYNOPSIS</H2>
<B>m4</B>
[<I>,OPTION/</I>]... [<I>,FILE/</I>]...
<A NAME="lbAD">&nbsp;</A>
<H2>DESCRIPTION</H2>
Process macros in FILEs. If no FILE or if FILE is `-', standard input
is read.
<P>
Mandatory or optional arguments to long options are mandatory or optional
for short options too.
<A NAME="lbAE">&nbsp;</A>
<H3>Operation modes:</H3>
<DL COMPACT>
<DT id="1"><B>--help</B><DD>
display this help and exit
<DT id="2"><B>--version</B><DD>
output version information and exit
<DT id="3"><B>-E</B>, <B>--fatal-warnings</B><DD>
once: warnings become errors, twice: stop
execution at first error
<DT id="4"><B>-i</B>, <B>--interactive</B><DD>
unbuffer output, ignore interrupts
<DT id="5"><B>-P</B>, <B>--prefix-builtins</B><DD>
force a `m4_' prefix to all builtins
<DT id="6"><B>-Q</B>, <B>--quiet</B>, <B>--silent</B><DD>
suppress some warnings for builtins
<DT id="7"><B>--warn-macro-sequence</B>[=<I>,REGEXP/</I>]<DD>
warn if macro definition matches REGEXP,
<DT id="8"><DD>
default \$\({[^}]*}\|[0-9][0-9]+\)
<DT id="9"><B>-W</B>, <B>--word-regexp</B>=<I>,REGEXP/</I><DD>
use REGEXP for macro name syntax
</DL>
<A NAME="lbAF">&nbsp;</A>
<H3>Preprocessor features:</H3>
<DL COMPACT>
<DT id="10"><B>-D</B>, <B>--define=NAME</B>[=<I>,VALUE/</I>]<DD>
define NAME as having VALUE, or empty
<DT id="11"><B>-I</B>, <B>--include</B>=<I>,DIRECTORY/</I><DD>
append DIRECTORY to include path
<DT id="12"><B>-s</B>, <B>--synclines</B><DD>
generate `#line NUM &quot;FILE&quot;' lines
<DT id="13"><B>-U</B>, <B>--undefine</B>=<I>,NAME/</I><DD>
undefine NAME
</DL>
<A NAME="lbAG">&nbsp;</A>
<H3>Limits control:</H3>
<DL COMPACT>
<DT id="14"><B>-g</B>, <B>--gnu</B><DD>
override <B>-G</B> to re-enable GNU extensions
<DT id="15"><B>-G</B>, <B>--traditional</B><DD>
suppress all GNU extensions
<DT id="16"><B>-H</B>, <B>--hashsize</B>=<I>,PRIME/</I><DD>
set symbol lookup hash table size [509]
<DT id="17"><B>-L</B>, <B>--nesting-limit</B>=<I>,NUMBER/</I><DD>
change nesting limit, 0 for unlimited [0]
</DL>
<A NAME="lbAH">&nbsp;</A>
<H3>Frozen state files:</H3>
<DL COMPACT>
<DT id="18"><B>-F</B>, <B>--freeze-state</B>=<I>,FILE/</I><DD>
produce a frozen state on FILE at end
<DT id="19"><B>-R</B>, <B>--reload-state</B>=<I>,FILE/</I><DD>
reload a frozen state from FILE at start
</DL>
<A NAME="lbAI">&nbsp;</A>
<H3>Debugging:</H3>
<DL COMPACT>
<DT id="20"><B>-d</B>, <B>--debug</B>[=<I>,FLAGS/</I>]<DD>
set debug level (no FLAGS implies `aeq')
<DT id="21"><B>--debugfile</B>[=<I>,FILE/</I>]<DD>
redirect debug and trace output to FILE
(default stderr, discard if empty string)
<DT id="22"><B>-l</B>, <B>--arglength</B>=<I>,NUM/</I><DD>
restrict macro tracing size
<DT id="23"><B>-t</B>, <B>--trace</B>=<I>,NAME/</I><DD>
trace NAME when it is defined
</DL>
<A NAME="lbAJ">&nbsp;</A>
<H3>FLAGS is any of:</H3>
<DL COMPACT>
<DT id="24">a<DD>
show actual arguments
<DT id="25">c<DD>
show before collect, after collect and after call
<DT id="26">e<DD>
show expansion
<DT id="27">f<DD>
say current input file name
<DT id="28">i<DD>
show changes in input files
<DT id="29">l<DD>
say current input line number
<DT id="30">p<DD>
show results of path searches
<DT id="31">q<DD>
quote values as necessary, with a or e flag
<DT id="32">t<DD>
trace for all macro calls, not only traceon'ed
<DT id="33">x<DD>
add a unique macro call id, useful with c flag
<DT id="34">V<DD>
shorthand for all of the above flags
</DL>
<P>
If defined, the environment variable `M4PATH' is a colon-separated list
of directories included after any specified by `-I'.
<P>
Exit status is 0 for success, 1 for failure, 63 for frozen file version
mismatch, or whatever value was passed to the m4exit macro.
<A NAME="lbAK">&nbsp;</A>
<H2>AUTHOR</H2>
Written by Rene' Seindal.
<A NAME="lbAL">&nbsp;</A>
<H2>REPORTING BUGS</H2>
Report bugs to: <A HREF="mailto:bug-m4@gnu.org">bug-m4@gnu.org</A>
<BR>
GNU M4 home page: &lt;<A HREF="http://www.gnu.org/software/m4/">http://www.gnu.org/software/m4/</A>&gt;
<BR>
General help using GNU software: &lt;<A HREF="http://www.gnu.org/gethelp/">http://www.gnu.org/gethelp/</A>&gt;
<A NAME="lbAM">&nbsp;</A>
<H2>COPYRIGHT</H2>
Copyright &#169; 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later &lt;<A HREF="http://gnu.org/licenses/gpl.html">http://gnu.org/licenses/gpl.html</A>&gt;.
<BR>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
<A NAME="lbAN">&nbsp;</A>
<H2>SEE ALSO</H2>
The full documentation for
<B>m4</B>
is maintained as a Texinfo manual. If the
<B>info</B>
and
<B>m4</B>
programs are properly installed at your site, the command
<DL COMPACT>
<DT id="35"><DD>
<B>info m4</B>
</DL>
<P>
should give you access to the complete manual.
<P>
<HR>
<A NAME="index">&nbsp;</A><H2>Index</H2>
<DL>
<DT id="36"><A HREF="#lbAB">NAME</A><DD>
<DT id="37"><A HREF="#lbAC">SYNOPSIS</A><DD>
<DT id="38"><A HREF="#lbAD">DESCRIPTION</A><DD>
<DL>
<DT id="39"><A HREF="#lbAE">Operation modes:</A><DD>
<DT id="40"><A HREF="#lbAF">Preprocessor features:</A><DD>
<DT id="41"><A HREF="#lbAG">Limits control:</A><DD>
<DT id="42"><A HREF="#lbAH">Frozen state files:</A><DD>
<DT id="43"><A HREF="#lbAI">Debugging:</A><DD>
<DT id="44"><A HREF="#lbAJ">FLAGS is any of:</A><DD>
</DL>
<DT id="45"><A HREF="#lbAK">AUTHOR</A><DD>
<DT id="46"><A HREF="#lbAL">REPORTING BUGS</A><DD>
<DT id="47"><A HREF="#lbAM">COPYRIGHT</A><DD>
<DT id="48"><A HREF="#lbAN">SEE ALSO</A><DD>
</DL>
<HR>
This document was created by
<A HREF="/cgi-bin/man/man2html">man2html</A>,
using the manual pages.<BR>
Time: 00:05:18 GMT, March 31, 2021
</BODY>
</HTML>