SOUND displays a message box and throw a stopping error when it fails due to bad input. For example, if its input is not a list or the inputs are not paired.
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:
SOUND [100]
What Happens:
You see a dialog box that says "Input is not paired", then the commander prints "Stopping...", which indicates that a stop error was thrown.
Expected Result:
FMSLogo does not display a message box. Instead it throws a "doesn't like" error. Ideally, the message would continue to include the hint as what's wrong "input not paired". Ideally it would also be a recoverable error, using the ERRACT mechanism.
This is fixed by [r5422]. The fix will be available in FMSLogo 8.0.0.
All errors are now recoverable bad input errors. The ERRACT subsystem doesn't permit passing hints for recoverable able inputs, so the message "input not paired" is not shown. I'll consider that as a separate feature request.
Related
Commit: [r5422]