次: Builtin, 前: Pushdef, 上: Definitions
indirを使うと、どんなマクロでも間接的に呼び出すことができます。
indir(name, ...)
indirはマクロnameを残りの引数と共に呼び出します。
これを“不正な”名前を持つマクロを呼ぶのに使うことができます(define
はそういう名前でも定義できます。)
define(`$$internal$macro', `Internal macro (name `$0')')
=>
$$internal$macro
=>$$internal$macro
indir(`$$internal$macro')
=>Internal macro (name $$internal$macro)
ここでの要点は、大きなマクロパッケージで、
間違って呼ばれてしまうことのないマクロを定義できるということです。
それらは組み込みマクロindirによってだけ呼びだすことができます。