mirror of
https://github.com/storytold/vectorcraft.git
synced 2026-11-11 17:44:02 +00:00
A getter, a conversion, a callback of a built-in function or a file $.evalFile runs is executed on native frames, so the run cannot stop at a $.sleep there. Such a call used to only mark the run to pause, so the code after it ran first and the wait came later. $.sleep with more than 0 milliseconds now throws an Error there, as alert, confirm and prompt do. toSource checked the 16,777,216-unit length limit only after a whole string was written. A long string of characters that are escaped could reach the heap limit first, which ends the run instead of throwing a RangeError. The limit is now checked before each part is added.