2.1 動作モードのコマンドラインオプション
m4全体の動作を制御するオプションがいくつかあります。
--helpヘルプの概要を標準出力に表示し、入力ファイルを読んだり、その他の処理を行ったりせず、直ちに
m4を終了します。--versionプログラムのバージョン番号を標準出力に表示し、入力ファイルを読んだり、その他の処理を行ったりせず、直ちに
m4を終了します。-
-E --fatal-warnings警告の扱いを制御します。指定しない場合、警告が表示されても実行は継続し、終了ステータスには影響しません。ちょうど1回指定すると、警告が致命的なものとして扱われます。警告が出ても実行は継続しますが、終了ステータスは0以外になります。複数回指定すると、最初の警告が出た時点で実行を停止し、0以外のステータスで終了します。この段階的な動作はM4 1.4.9で導入されました。それより前の版と同じ動作にするには、-Eを2回指定してください。
-i--interactive-e今回起動する
m4を対話モードにします。つまり、すべての出力をバッファリングせず、割り込みを無視します。-eという表記は、他のm4実装との互換性のために存在しますが、GNU M4の将来の版で削除される可能性があるため、警告を出します。-P--prefix-builtins組み込みマクロ名を内部的に変更し、すべての名前が接頭辞「m4_」で始まるようにします。たとえば、このオプションを使う場合は、「define」の代わりに「m4_define」、「__file__」の代わりに「m4___file__」と書きます。-Rも指定されている場合、このオプションは効果を持ちません。
-Q--quiet--silentマクロ呼び出しで引数が不足したり余分だったりする場合や、空文字列を0として扱う場合などの警告を抑制します。
--warn-macro-sequence[=regexp]正規表現regexpが、マクロ定義(
defineまたはpushdefによるもの)のどこかで空でない文字列にマッチすると、警告を出します。空のマッチは無視されるので、regexpに空文字列を指定すると警告を無効にできます。任意指定のregexpを省略した場合、既定の正規表現は「\$\({[^}]*}\|[0-9][0-9]+\)」(リテラルの「$」に複数の数字または開き波括弧が続くもの)です。これらの並びは、GNU M4 2.0の既定の動作で意味が変わるためです(マクロ定義内で9個を超える引数を扱う方法が変わることによります。マクロへの引数を参照)。別の正規表現を指定すれば、ある定義を持つマクロがどこで定義されているかを見つける、便利な逆引き機能としても使えます。-W regexp--word-regexp=regexpマクロ名の代替構文としてregexpを使います。この実験的なオプションは、すべてのGNU
m4実装に存在するわけではありません(単語の字句構造の変更を参照)。