次: Incompatibilities, 前: Compatibility, 上: Compatibility
m4で拡張された機能
本バージョンのm4にはSystem V m4に存在しない機能が
いくつかあります。
これらの追加された機能はコマンドラインオプション`-G'を使うことで、
他のコマンドラインオプションによってくつがえされない限り、すべて抑制されます。
$n表記において、
nは複数の数字を含むことができますが、
System V m4は1つの数字しか受けつけません。
これによりGNU m4ではマクロが引数を9つだけでなく
いくつでも取ることができます。(see Arguments)
includeとsincludeでインクルードされるファイルは、
作業ディレクトリで見つからないときは指定されたサーチパスのなかから
捜し出されます。サーチパスは`-I'オプションと環境引数`M4PATH'で
指定します。(see Search Path)
undivertへの引数は数字以外でもよく、
そのときはその名前を持つファイルを解釈しないまま出力に含めます。
(see Undivert)
printfをモデルとした
組み込みマクロformatを通じてサポートされています。(see Format)
regexp (see Regexp)と
patsubst (see Patsubst)によってサポートされています。
esyscmd (see Esyscmd)で
m4に読み込むことができます。
builtin (see Builtin)により任意の組み込みマクロへ
間接的にアクセスできます。
indir (see Indir)を通じてマクロを間接的に呼び出せます。
__file__と__line__ (see Errprint)
を通じて現在の入力ファイルの名前と現在の入力行番号へアクセスできます。
dumpdefとマクロトレースの出力書式を
debugmode (see Debug Levels)で制御することができます。
debugfile (see Debug Output)
で制御可能です。
上記の拡張に加えGNU m4には次のコマンドラインオプションが
実装されています ― `-F', `-G', `-I',
`-L', `-R', `-V', `-W', `-d',
`-l', `-o', `-t'。
これらオプションの説明はSee Invoking m4を参照してください。
またGNU m4のデバッグとトレース機構は
他バージョンのm4にあるものより遥かに大規模です。