* Space Lua: Refactor control flow signals
Removes "return throws an exception" failure mode. @zef :)
Signed-off-by: Matouš Jan Fialka <mjf@mjf.cz>
* Remove unused function
Signed-off-by: Matouš Jan Fialka <mjf@mjf.cz>
* Remove another unused function
Signed-off-by: Matouš Jan Fialka <mjf@mjf.cz>
* Remove unused `LuaBreak`/`LuaReturn` exception control flow
Signed-off-by: Matouš Jan Fialka <mjf@mjf.cz>
---------
Signed-off-by: Matouš Jan Fialka <mjf@mjf.cz>
In Lua, only the last expression in an argument list preserves multiple
results and all earlier expressions yield exactly one value (their first).
For example:
```
f(a(), b(), c())
```
where
```
a -> (1,2)
b -> (3,4)
c -> (5,6)
```
becomes
```
f(1, 3, 5, 6)
```
which matches Lua behaviour (tested in version 5.4).
Changes:
* Function argument lists keep multiple results only from the last
argument.
* Fixes failing truthiness tests (`true and ret_one_two()`).
Sidenote: the `truthiness_test.lua` was not called at all because of
my obvious copy/paste typo (the `arithmetical_test.lua` was called twice
instead; now fixed too and both test suites pass ok).