Fix a lisp error when attempting to translate atoms like lisp arrays
commitbb7ee1b072fb0dda143a6b10f2ea7d53e578b96d
authorKris Katterjohn <katterjohn@gmail.com>
Fri, 7 Jan 2022 15:38:12 +0000 (7 10:38 -0500)
committerKris Katterjohn <katterjohn@gmail.com>
Fri, 7 Jan 2022 15:38:12 +0000 (7 10:38 -0500)
tree7ebaae9654770653faabdc99043ea497fa86cec4
parentfe85560cf08f630d6ccf11e10242c7ad70fe2bd0
Fix a lisp error when attempting to translate atoms like lisp arrays

This has always been a bug in Maxima since the port to CL.  The
same bug appeared in commercial Macsyma.

Attempting to translate certain self-evaluating atoms like lisp
arrays would cause a lisp error during translation:

(%i1) define (foo (), make_array ('fixnum, 1))$

(%i2) translate (foo);
<lisp error>

(This example won't trigger the bug in commercial Macsyma since
they apparently removed support for make_array.  Using a pathname
instead of an array triggers it though, and a pathname can be
returned from their compfile.  See also commit 02bbbf66.)

Now we can translate these atoms that are not otherwise handled in
TRANSLATE-ATOM.  This also removes the superfluous quote that has
appeared on translated strings, which is a trivial change but a
nice one.

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