Previous: Errprint, Up: Miscellaneous


13.2 m4を終了させる

すべての入力を読み込んでしまう前にm4を終了したいときは m4exitを使うことができます。

     m4exit(opt code)

このマクロはcodeを終了コード(exit code)としてm4を終了させます。 codeを省略したときは終了コードは0になります。

     define(`fatal_error', `errprint(`m4: '__file__: __line__`: fatal error: $*
     ')m4exit(1)')
     ⇒
     fatal_error(`This is a BAD one, buster')
     error-->m4: 57.m4exit: 5: fatal error: This is a BAD one, buster

この例ではfatal_errorマクロが呼び出された後、m4は終了コード1で 終了します。このマクロはエラー終了だけを行うためのものです、なぜなら通常の 終了手続き、例えば出力切替え先のテキスト(diverted text)の逆切替え (undivert)や保存されているテキスト(see M4wrap)の再読み込みなどが 行われないからです。