translator: precisely check for go tags when finding free lisp vars
commit0ecdc16d7d60c406d31cf39ed06f84a2520df920
authorKris Katterjohn <katterjohn@gmail.com>
Mon, 8 Mar 2021 05:04:51 +0000 (8 00:04 -0500)
committerKris Katterjohn <katterjohn@gmail.com>
Mon, 8 Mar 2021 05:04:51 +0000 (8 00:04 -0500)
tree1abebd885365b946d0a5952b2432cf20dc1bf8d5
parentbdc958b8364841948be042180a7ff07d394ac04d
translator: precisely check for go tags when finding free lisp vars

In Common Lisp go tags are allowed to be symbols or integers and they
are compared with EQL, while in Maclisp go tags are allowed to be any
atoms and they are compared with EQ.  The translator has been assuming
that go tags could be any sort of atom here, which was correct under
Maclisp but not strictly correct under Common Lisp.

Now use GO-TAG-P (introduced in commit bdc958b8) instead of ATOM when
checking for go tags when finding free lisp vars.

No functional changes.  It's just clearer to use GO-TAG-P instead of
ATOM.

No problems with the test suite or share test suite.
rtest_translator runs as expected.
src/trans3.lisp