Fix bug #2921: errcatch fails to catch various errors
commitf11cabfb199ece1ed3c78f73a5d4b920601f3ea3
authorKris Katterjohn <katterjohn@gmail.com>
Sun, 24 Oct 2021 18:56:18 +0000 (24 14:56 -0400)
committerKris Katterjohn <katterjohn@gmail.com>
Sun, 24 Oct 2021 18:56:18 +0000 (24 14:56 -0400)
treec6f4a31b1f6c73f2babc8243006985e207975fcc
parent6a42c7a75f74e4c8adb9664177a5725bba04c7d4
Fix bug #2921: errcatch fails to catch various errors

errcatch now catches throws to the ERRORSW and MACSYMA-QUIT tags.

The ERRORSW switch controls whether or not some errors will throw to
the ERRORSW tag instead of signaling a Maxima error.  ERRORSW is bound
to T in various places in src and various catchers are set up in src.
ERRORSW is also bound to T in the hyperint contrib package while
evaluating errcatch forms.

Errors like parser errors and some numth errors throw to the
MACSYMA-QUIT tag to go back to the toplevel.

If errcatch catches a throw to ERRORSW or MACSYMA-QUIT then errcatch
doesn't know anything about the error.  Maxima's error variable will
be updated to contain a vague error message about errcatch catching an
error, but this message will not be printed by errcatch.

No problems with the test suite or share test suite.  New tests have
been added to rtest1.
src/suprv1.lisp
tests/rtest1.mac