Table 6-1 Summary of Built-In m4 Macros
Built-In m4 Macros |
Description |
---|---|
changequote(L, R) |
Change left quote to L, right quote to R. |
changecom |
Change left and right comment markers from the default # and newline. |
decr |
Return the value of the argument decremented by 1. |
define(name, stuff) |
Define name as stuff. |
defn(`name') |
Return the quoted definition of the argument(s) |
divert(number) |
Divert output to stream number |
divnum |
Return number of currently active diversions |
dnl |
Delete up to and including newline |
dumpdef(`name', `name', . . .) |
Dump specified definitions. |
errprint(s, s, . . .) |
Write arguments s to standard error. |
eval(numeric expression) |
Evaluate numeric expression. |
ifdef(`name', true string, false string) |
Return true string if name is defined, false string if name is not defined. |
ifelse(a, b, c, d) |
If a and b are equal, return c, else return d. |
include(file) |
Include contents of file. |
incr(number) |
Increment number by 1. |
index(s1, s2) |
Return position in s1 where s2 occurs, or -1 if s2 does not work. |
len(string) |
Return length of string. |
maketemp(. . .XXXXX. . .) |
Make a temporary file. |
m4 exit |
Cause immediate exit from m4. |
m4 wrap |
Argument 1 will be returned to the input stream at final EOF. |
popdef |
Remove current definition of argument(s). |
pushdef |
Save any previous definition (similar to define()) |
shift |
Return all but first argument(s) |
sinclude(file) |
Include contents of file -- ignore and continue if file not found |
substr(string, position, number) |
Return substring of string starting at position and number characters long |
syscmd(command) |
Run command in the system |
sysval |
Return code from the last call to syscmd() |
traceoff |
Turn off trace globally and for any macros specified |
traceon |
Turn on tracing for all macros, or with arguments, turn on tracing for named macros |
translit(string, from, to) |
Transliterate characters in string from the set specified by from to the set specified by to |
undefine(`name') |
Remove name from the list of definitions |
undivert(number, number,. . .) |
Append diversion number to the current diversion |