GNU macro processor
13.2 Exiting from m4
If you need to exit from m4 before the entire input has been
read, you can use m4exit:
which causes m4 to exit, with exit code code. If
code is left out, the exit code is zero.
| | 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
|
After this macro call, m4 will exit with exit code 1. This macro
is only intended for error exits, since the normal exit procedures are
not followed, e.g., diverted text is not undiverted, and saved text
(see section 7.5 Saving input) is not reread.