That sentence is ... exceptional?
Yep, yep. I already cringed at the double except and now I notice the "Except for the exceptions" 🙈
Except as explained below, an implicit tt(return) statement is
executed following the same logic described for tt(ERR_EXIT).
Awesome! So much better.
>> If tt(ERR_RETURN) and tt(ERR_EXIT) are both set, the latter takes
>> precedence. Hence, exit rather than return is triggered when a command
>> has a non-zero exit status.
Does this need to explain the interaction of the cases where ERR_EXIT
is ignored but ERR_RETURN is not? As written it seems to imply that
exit would always occur in the cases where it would otherwise be a
return.
Good point. I rephrased as follows:
If tt(ERR_RETURN) and tt(ERR_EXIT) are both set, it may happen that
both exit and return should be triggered. In that case only exit is
triggered.
This implicitly covers the special case. I hope it's not necessary to explain it explicitly as it's a rather corner case and it would significantly increase the length of the explanation.
Philippe