FORM doesn't accept correction from :erract when second input is negative
A Logo programming environment for Microsoft Windows
Brought to you by:
david_costanzo
The error handling for FORM does not correctly handle when the second is negative. In particular, it throws a recoverable error, but it mostly ignores the output from :erract and (worse) does so in a way that actually outputs whatever :erract outputs.
Instead, FORM should accept a replacement for the negative input from :erract and behave as if it were run with that input instead.
Steps to Reproduce:
SHOW FORM 1.2345 5 2
MAKE "erract [5]
SHOW FORM 1.2345 [] 2
SHOW FORM 1.2345 -1 2
What Happens
The first instruction prints 1.23 .
The third instructions prints 1.23 because the [] is replaced with 5 that is provided by :erract.
The fourth instruction prints 5, which is :erract provided.
Expected Result:
The first, third, and fourth instructions all print 1.23.