.BG
.VE $Header: /usr3/s/current/s/.help/RCS/macros,v 1.2 83/12/30 19:30:17 rab Exp $
.FN macros
.TL
macros: The S Macro Facility
.PP
Macros can be used to reduce the amount of typing to perform
repetitive tasks within S.  A macro is simply a set of commands which
will be executed as if they were typed from the terminal.  The power
of macros lies in the ability to give them arguments, so that similar
tasks may be carried out by a single macro.
.PP
A macro is often used as a repository for a set of commands that is
long or complicated, hence hard to type interactively.  Because it
involves a certain amount of overhead, the macro processor is
ordinarily not used when input is typed to S.  The special character
"?" before a name signals a macro and causes the current line to be
sent through the macro processor before being executed.
.PP
Macros are defined by means of the `define' function.  The `medit'
function can be used to edit macros and the `mprint' function to print
them.
.KW macros
.KW builtin
.WR
