# [tex-live] etex

David Carlisle d.p.carlisle at gmail.com
Tue Jan 10 14:23:49 CET 2017

currently it is non-zero (always 1, I think) if there has been any
error (including forced "errors" from \show..)
and 0 otherwise, even if there were warnings.

> and (more importantly to me) to let it use exit status 1 in case
> in the log about mismatched \if's or missing \endgroup's  ?

you get 1 if there is an error over mismatched if for example

\fi
\end

gives the error

! Extra \fi.

and exit status of 1

conversely

\if aa
\end

is not an error you just get a warning

(\end occurred when \if on line 3 was incomplete)

and an exit status of 0.

So the distinction is not really that tex gives different exit status
for different errors, but that some things that one might expect to be
an error are just a warning.

I think the distinction matters as the exit code is a system dependent
thing and could be potentially changed, but changing whether primitive
TeX syntax generates an error or a warning would be changing the
documented behaviour of tex which is more problematic (perhaps)

David