次: 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
によってだけ呼びだすことができます。