translator: fix the finding of free lisp vars in DO forms
commit67322f311dd358cc9b48d9df279e1017042d2686
authorKris Katterjohn <katterjohn@gmail.com>
Wed, 24 Feb 2021 22:13:02 +0000 (24 17:13 -0500)
committerKris Katterjohn <katterjohn@gmail.com>
Wed, 24 Feb 2021 22:13:02 +0000 (24 17:13 -0500)
treeb148dd10f229eca752a03bba9a9c745d9913f744
parent02709796ddfb48e7ccfd69b92964116588275b00
translator: fix the finding of free lisp vars in DO forms

There have been some bugs here:

* Go tags were not skipped.

* If a var bound by DO had the same name as a var used in any of
  the init forms, then that var in the init form was not found
  to be free.

* If a bound var specification was a symbol (instead of a list
  consisting of a symbol and optional init and step forms) then
  a lisp error would occur while searching for free lisp vars.

While here, add and reword some comments.

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