macro

/makroh/ , n. [techspeak] A name (possibly followed by a formal arg list)
that is equated to a text or symbolic expression to which it is to be
expanded (possibly with the substitution of actual arguments) by a macro
expander. This definition can be found in any technical dictionary; what
those won't tell you is how the hackish connotations of the term have
changed over time. The term macro originated in early assemblers, which
encouraged the use of macros as a structuring and information-hiding device.
During the early 1970s, macro assemblers became ubiquitous, and sometimes
quite as powerful and expensive as HLL s, only to fall from favor as
improving compiler technology marginalized assembler programming (see
languages of choice ). Nowadays the term is most often used in connection
with the C preprocessor, LISP, or one of several special-purpose languages
built around a macro-expansion facility (such as TeX or Unix's [nt]roff
suite). Indeed, the meaning has drifted enough that the collective macros is
now sometimes used for code in any special-purpose application control
language (whether or not the language is actually translated by text
expansion), and for macro-like entities such as the keyboard macros
supported in some text editors (and PC TSR or Macintosh INIT/CDEV keyboard
enhancers).

