B.5.2 Macro definitions
Macro definitions take the form define macroname
definition. In such a macro definition, the environment variable
macroname is defined to expand to the value definition.
Before the definition is made, however, any macros used in
definition are expanded.
Please note the following nuances of macro usage:
- For the purposes of this section, macro and environment
variable are synonyms.
- Macros may not take arguments.
- Macros may not recurse.
- Macros are just environment variable definitions like other environment
variable definitions, with the exception that they are limited in scope
to the devices configuration file.
- Macros override other all environment variables of the same name (within
the scope of devices).
- Earlier macro definitions for a particular key override later
ones. In particular, macro definitions on the command line override
those in the device definition file. See Non-option Arguments.
- There are two predefined macros, whose values are determined at runtime:
- viewwidth
- Defined as the width of the console screen, in columns of text.
- viewlength
- Defined as the length of the console screen, in lines of text.