m4

Name

m4 -- macro processor

Description

The specification for "m4" is as specified in the SUS but with the following differences as listed below.

Differences

--version

output version information and exit

-e, --interactive

unbuffer output, ignore interrupts

-E, --fatal-warnings

stop execution after first warning

-Q, --quiet, --silent

suppress some warnings for builtins

-P, --prefix-builtins

force a m4_ prefix to all builtins

-I, --include=DIRECTORY

search this directory second for includes

--define=NAME[=VALUE]

equivalent to the -D option

--undefine=NAME

delete builtin NAME

--synclines

equivalent to -s option

-G, --traditional

suppress all GNU extensions

-H, --hashsize=PRIME

set symbol lookup hash table size

-L, --nesting-limit=NUMBER

change artificial nesting limit

-F, --freeze-state=FILE

produce a frozen state on FILE at end

-R, --reload-state=FILE

reload a frozen state from FILE at start

-d, --debug=[FLAGS]

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

t

trace for all macro calls, not only 'ed

a

show actual arguments

e

show expansion

q

quote values as necessary, with a or e flag

c

show before collect, after collect and after call

x

add a unique macro call id, useful with c flag

f

say current input file name

l

say current input line number

p

show results of path searches

i

show changes in input files

V

shorthand for all of the above flags

-t, --trace=NAME

trace NAME when it will be defined

-l, --arglength=NUM

restrict macro tracing size

-o, --error-output=FILE

redirect debug and trace output