.\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.35.
.TH M4 "1" "November 2006" "FSF" "User Commands"
.SH NAME
M4 \- macro processor
.SH SYNOPSIS
.B m4
[\fIOPTION\fR]... [\fIFILE\fR]...
.SH DESCRIPTION
Process macros in FILEs.  If no FILE or if FILE is `\-', standard input
is read.
.PP
Mandatory or optional arguments to long options are mandatory or optional
for short options too.
.SS "Operation modes:"
.TP
\fB\-\-help\fR
display this help and exit
.TP
\fB\-\-version\fR
output version information and exit
.TP
\fB\-E\fR, \fB\-\-fatal\-warnings\fR
stop execution after first warning
.TP
\fB\-i\fR, \fB\-\-interactive\fR
unbuffer output, ignore interrupts
.TP
\fB\-P\fR, \fB\-\-prefix\-builtins\fR
force a `m4_' prefix to all builtins
.TP
\fB\-Q\fR, \fB\-\-quiet\fR, \fB\-\-silent\fR
suppress some warnings for builtins
.SS "Preprocessor features:"
.TP
\fB\-D\fR, \fB\-\-define=NAME\fR[=\fIVALUE\fR]
define NAME as having VALUE, or empty
.TP
\fB\-I\fR, \fB\-\-include\fR=\fIDIRECTORY\fR
append DIRECTORY to include path
.TP
\fB\-s\fR, \fB\-\-synclines\fR
generate `#line NUM "FILE"' lines
.TP
\fB\-U\fR, \fB\-\-undefine\fR=\fINAME\fR
undefine NAME
.SS "Limits control:"
.TP
\fB\-G\fR, \fB\-\-traditional\fR
suppress all GNU extensions
.TP
\fB\-H\fR, \fB\-\-hashsize\fR=\fIPRIME\fR
set symbol lookup hash table size [509]
.TP
\fB\-L\fR, \fB\-\-nesting\-limit\fR=\fINUMBER\fR
change artificial nesting limit [1024]
.SS "Frozen state files:"
.TP
\fB\-F\fR, \fB\-\-freeze\-state\fR=\fIFILE\fR
produce a frozen state on FILE at end
.TP
\fB\-R\fR, \fB\-\-reload\-state\fR=\fIFILE\fR
reload a frozen state from FILE at start
.SS "Debugging:"
.TP
\fB\-d\fR, \fB\-\-debug\fR[=\fIFLAGS\fR]
set debug level (no FLAGS implies `aeq')
.TP
\fB\-\-debugfile\fR=\fIFILE\fR
redirect debug and trace output
.TP
\fB\-l\fR, \fB\-\-arglength\fR=\fINUM\fR
restrict macro tracing size
.TP
\fB\-t\fR, \fB\-\-trace\fR=\fINAME\fR
trace NAME when it is defined
.SS "FLAGS is any of:"
.TP
a
show actual arguments
.TP
c
show before collect, after collect and after call
.TP
e
show expansion
.TP
f
say current input file name
.TP
i
show changes in input files
.TP
l
say current input line number
.TP
p
show results of path searches
.TP
q
quote values as necessary, with a or e flag
.TP
t
trace for all macro calls, not only traceon'ed
.TP
x
add a unique macro call id, useful with c flag
.TP
V
shorthand for all of the above flags
.PP
If defined, the environment variable `M4PATH' is a colon\-separated list
of directories included after any specified by `\-I'.
.PP
Exit status is 0 for success, 1 for failure, 63 for frozen file version
mismatch, or whatever value was passed to the m4exit macro.
.SH AUTHOR
Written by Rene' Seindal.
.SH "REPORTING BUGS"
Report bugs to <bug\-m4@gnu.org>.
.SH COPYRIGHT
Copyright \(co 2006 Free Software Foundation, Inc.
.br
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
.SH "SEE ALSO"
The full documentation for
.B M4
is maintained as a Texinfo manual.  If the
.B info
and
.B M4
programs are properly installed at your site, the command
.IP
.B info m4
.PP
should give you access to the complete manual.
