On Wed, 15 Dec 2021 20:48:29 +0100
Hans Hagen
You can check in the next upload:
- The 'failure' that you saw was actually a real lua error because I hadn't adapted some fancy, a very old 'around' 2006 feature, seldom used as it's more 'an example of possibilities' code to luametatex yet ... fwiw, we still share some lua files between engines.
Thanks for looking into that. I'll check the next upload.
- Afaiks you should now get return code 1 for other cases (say you give \foo without meaning). It's a it tricky as this info has to pass through several subsystems.
Hard TeX errors (like \undefined) already return 1.
- The runaway error is actually kind of special (there are a few more) where the engine simply quits in confusion and doesn't exit hard as error (often because tex could somehow recover). If needed I can actually do a real error but it's not entirely compatible then (not that i care that much about compatibility in these shady areas.)
I'd vote to handle those as hard errors because 1) Luametatex isn't focused on compatibility. 2) The user explicitly requested error reporting (by providing --errors). 3) No one is recovering tex runs these days. Marco