Go to the first, previous, next, last section, table of contents.


Exiting from m4

If you need to exit from m4 before the entire input has been read, you can use m4exit:

m4exit(opt code)

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 Saving input) is not reread.


Go to the first, previous, next, last section, table of contents.