.so mnx.mac .TH M4 9 .CD "m4 \(en macro processor" .SX "m4\fR [\fB\(enD \fIname\fR = \fIvalue\fR]\fR [\fB\(enU \fIname\fR] .FL "\(enD" "Define a symbol" .FL "\(enU" "Undefine a symbol" .EY "m4 > << < > <= >= == != & ^ | && || .in -0.5i .HS or the unary operators - ! or tilde or by the ternary operator ? : . Parentheses may be used for grouping. Octal numbers may be specified as in C. .PP \fBlen "(string)"\fR returns the number of characters in its argument. .PP \fBindex "(search-string, string)"\fR returns the position in its first argument where the second argument begins (zero origin), or 1 if the second argument does not occur. .PP \fBsubstr "(string, index [, length])"\fR returns a substring of its first argument. The second argument is a zero origin number selecting the first character (internally treated as an expression); the third argument indicates the length of the substring. A missing third argument is taken to be large enough to extend to the end of the first string. .PP \fBtranslit "(source, from [, to])"\fR transliterates the characters in its first argument from the set given by the second argument to the set given by the third. If the third argument is shorter than the second, all extra characters in the second argument are deleted from the first argument. If the third argument is missing altogether, all characters in the second argument are deleted from the first argument. .PP \fBinclude "(filename)"\fR returns the contents of the file that is named in the argument. .PP \fBsinclude "(filename)"\fRis identical to include, except that it says nothing if the file is inaccessable. .PP \fBpaste "(filename)"\fR returns the contents of the file named in the argument without any processing, unlike include. .PP \fBspaste "(filename)"\fR is identical to paste, except that it says nothing if the file is inaccessibl[De. .PP \fBsyscmd "(command)"\fR executes the .Ux command given in the first argument. No value is returned. .PP \fBsysval "()"\fR is the return code from the last call to syscmd. .PP \fBmaketemp \*(OQ(string)"\fR fills in a string of XXXXXX in its argument with the current process ID. .PP \fBm4exit "([exitcode])"\fR causes immediate exit from M4. Argument 1, if given, is the exit code; the default is 0. .PP \fBm4wrap "(m4-macro-or-built-n)"\fR argument 1 will be pushed back at final EOF; example: m4wrap(`dumptable()'). .PP \fBerrprint "(str [, str, str, ...])"\fR prints its argument(s) on stderr. If there is more than one argument, each argument is separated by a space during the output. An arbitrary number of arguments may be supplied. .PP \fBdumpdef "([name, name, ...])"\fR prints current names and definitions, for the named items, or for all if no arguments are given. .SP 1 .SS "Author" .SP 1 .PP \fIM4\fR was written by Ozan S. Yigif.