Added
- Option `--data-to-code` (or just `-d`) that puts the data in
hexadecimal strings in the code and adds a small stub to load the data
in the string at right address
- Option `--no-load` to disable using the load trick altogether.
`load''` is not entirely semantically identical to `function()end`, as
the `load''` cannot access local variables in the outer scope.
However, this is such a rare occurrence that only disable it when
absolutely necessary.
Changed
- Parse errors report the offending line more accurately
Fixed
- Printing function calls with a single table or string parameter
- Local variables without immediate assignment crashed the parser
- The initial minification used reserved keywords (in particular: `or`)
- Handling carts with multiple CODE chunks
- Variable names that started with `or` or `and` could give an parse
error; for example, in `x=1 orange=2` the first statement was parsed
as `x=1 or ange`, followed by `=1` which gave the parse error.
- Escaping `\r` and `\f` in quoted string literals
- `-- {` was not considered comment, even though it was not considered
permutation block either
- Add space between a numeral and following period when printing. For
example, `1 ..2` (string concatenation) should not be printed as
`1..2`, as LUA then parses the beginning of it as floating point
numeral `1.`