POLYSTART and POLYEND display a message box and throw a stoping error when they fail because FMSLogo is in an incorrect state for the instruction (such as when POLYSTART is called when a polygon has already been started).
This is inconsistent with how the rest of the procedures behave, so it should be corrected.
I have reproduced this in FMSLogo 7.7.0, but the behavior has existed since at least MSWLogo 6.5b.
How Reproducible:
Every Time
Steps to Reproduce:
POLYSTART
POLYSTART
What Happens:
After the second POLYSTART call a dialog box says "You already have a Polygon started", then the commander prints "Stopping...", which indicates that a stop error was thrown.
Expected Result:
FMSLogo does not display a message box. It throws a new error for polygons.
This is fixed by [r5409]. The fix will be available in FMSLogo 8.0.0.
The new behavior is to throw an "invalid state" error, using the former dialog box's message as the "reason" part of the error message. As in:
Related
Commit: [r5409]