Contents | < Browse | Browse >
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 built-in `indir'.