m4

Name

m4 -- macro processor

Description

m4 is as specified in the SUS but with differences as listed below.

Differences

--version

outputs version information and exits.

-e, --interactive

unbuffers output, ignores interrupts.

-E, --fatal-warnings

stops execution after first warning.

-Q, --quiet, --silent

suppresses some warnings for builtins.

-P, --prefix-builtins

forces a m4_ prefix to all builtins.

-I, --include=DIRECTORY

searches this directory second for includes.

--define=NAME[=VALUE]

is equivalent to -D.

--undefine=NAME

deletes builtin NAME.

--synclines

is equivalent to -s.

-G, --traditional

suppresses all GNU extensions.

-H, --hashsize=PRIME

sets symbol lookup hash table size.

-L, --nesting-limit=NUMBER

changes artificial nesting limit.

-F, --freeze-state=FILE

produces a frozen state on FILE at end.

-R, --reload-state=FILE

reloads a frozen state from FILE at start.

-d, --debug=[FLAGS]

sets debug level (no FLAGS implies 'aeq'). FLAGS is any of:

t

traces for all macro calls, not only 'ed.

a

shows actual arguments.

e

shows expansion.

q

quotes values as necessary, with a or e flag.

c

shows before collect, after collect and after call.

x

adds a unique macro call id, useful with c flag.

f

says current input file name.

l

says current input line number.

p

shows results of path searches.

i

shows changes in input files.

V

is shorthand for all of the above flags.

-t, --trace=NAME

traces NAME when it will be defined.

-l, --arglength=NUM

restricts macro tracing size.

-o, --error-output=FILE

redirects debug and traces output.