You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Closed #10673 regressed: when substr() argument #1 is a nested string-return builtin and argument #2 is a negative offset, VM returns the decimal offset string (-4, -2, …) instead of the correct tail slice.
Zend pattern used for file modes: substr(sprintf('%o', fileperms($path)), -4).
Positive offsets with the same nesting work (substr(sprintf('%s','abc'), 0, 2) → ab).
Activity
PurHur commentedon Jun 29, 2026
claim: cursor-agent-lane-c — batch (issues #13616); VM nested string builtin + substr negative offset regression (lib/ call bridge, not ext/ implementation)
Fix substr() nested string builtin + negative offset arg wiring (#13616…
PurHur commentedon Jun 29, 2026
Merged via #13632
Fix: sibling inline call-arg producer wiring in
lib/Compiler.php—UnaryMinuspreludes between hoisted FuncCall producers no longer breaksiblingMultiArgProducerWiresByDistinctDeadArgOrdinal; nested-only producers (e.g.filepermsfeedingsprintf) are skipped when resolvingfirstSiblingforsubstr(..., -N)chains.Verification:
repro exit=0; compliance green.