d5e43dd3e1
The table library and `unpack` now run as the client's 5.0 natives (`0x822d40`). benilla's closure layer over them is gone. `unpack` refuses past 2,048 slots (`0x6f2f43`) and reads its table alone. `getn` converts a numeric-string `n` (`0x6f4f80`). `next` says "for" (`0x871aac`). The bit library answers unsigned except `arshift` and `mod` (`0x7faa6d`). Its folds take every argument, and `math.pow`, `atan2` and `mod` check argument 1 first. A Rust callback's error now carries the caller's `file:line`, as `luaL_error` does (`0x6f4940`); only the sound verbs raise bare. Error text keeps its bytes, from `assert` to the error handler. An audit re-derived every commit from the bytes. Each fix fails its test without it. Fixes #1435 Fixes #1448 Fixes #1449 Fixes #1480 Fixes #1482 Fixes #1483 Fixes #1484 Fixes #1485 Fixes #1760 Fixes #1761 Fixes #1762 Fixes #1763 Fixes #1764 Fixes #1765 Fixes #1766 Fixes #1771 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>