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.