Go to the first, previous, next, last section, table of contents.


Indirect call of macros

Any macro can be called indirectly with indir:

indir(name, ...)

which results in a call to the macro name, which is passed the rest of the arguments. This can be used to call macros with "illegal" names (define allows such names to be defined):

define(`$$internal$macro', `Internal macro (name `$0')')
=>
$$internal$macro
=>$$internal$macro
indir(`$$internal$macro')
=>Internal macro (name $$internal$macro)

The point is, here, that larger macro packages can have private macros defined, that will not be called by accident. They can only be called through the builtin indir.


Go to the first, previous, next, last section, table of contents.