b18d08f64f
Lua 5.0 behaviours of the client that an addon can observe, which benilla-lua's 5.1 base got differently: - string.sub and string.find keep a position's low 32 bits (`0x7fbd55`). - An escaped byte at or above 0x80 matches nothing (`0x7fcbc6`). - `error()` checks its argument (`0x702993`) and adds the position at any level but 0 (`0x7029a8`). - `__unm` gets the operand and nil (`0x6f8edc`). - `__index` chains reach 102 tables and `__newindex` 101. - math.deg multiplies by 180/pi (`0x7fb14d`). The bare aliases run as their own `compat.lua` chunk (`0x703b21`), each on the client's line. Its closures keep a local `math`, so their error lines match and replacing the global `math` leaves them working. `seterrorhandler` keeps the top value, and nil clears it (`0x702930`). Each fix has a test. Fixes #2632 Fixes #2633 Fixes #2634 Fixes #2635 Fixes #2636 Fixes #2637 Fixes #2638 Fixes #2639 Fixes #2640 Fixes #2654 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>