Good catch. I've noticed if you, mistakenly, put a
print() in a long loop bad things happen, even if the loop only executes once.
Example:
+ Code SnippetFOR i = 0 TO 100000
Print("ABC 123 !?")
NEXT i
Sync()
DO
Print(ScreenFPS())
Sync()
LOOP
Here, my FPS will only be ~17 after running the long print loop only once. Also, windows reports using 600MB of RAM and high CPU usage.
So, perhaps the original issue wasn't "can't do negative spaces" but, instead "can't print a string with 4294967295 characters".
Maybe the
print() function could use some safety checks on string-length and number-of-calls per-frame.
Only changing the
spaces() code to:
if ( length < 0 ) is still fine. If the most significant bit (or signed bit) is set it's a good indication something went wrong.