前: Errprint, 上: Miscellaneous
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)の再読み込みなどが
行われないからです。