FMSLogo limits the number of times it will wrap around the turtle world when moving with FOWARD or BACK. The limit is 32. This limit dates back to at least MSWLogo 6.5b. I expect that this limit was originally added to prevent a stack overflow error, since the wrapping is implemented using recursion.
UCBLogo has in iterative implementation of wrapping and has no such limit. It would be good if FMSLogo also had no limit.
This limit is not a problem for users, since no one has reported it and I only found it by reading the code. I've even done things like "RT 1 FD 1000000" which shows the bug, but I never thought about why the screen didn't get darker.
To Reproduce:
WRAP
CLEARSCREEN
FORWARD 1000*1000
SHOW POS
What Happens:
POS outputs [0 -500] because a foward was wrapped, but the next forward movement was not made.
Expected Result:
POS outputs [0 0]
Or for a graphical version
WRAP
CLEARSCREEN
RIGHT 1
SETPENCOLOR 2
REPEAT 1000 [ FORWARD 1000 ]
SETPENCOLOR 3
BACK 1000 * 1000
What Happens:
The screen is mostly green (pencolor 2)
Expected result:
The screen is mostly cyan (pencolor 3)