Move lexical binding renaming to JS:VARIABLE printer (part one)
authorClinton Ebadi <clinton@unknownlamer.org>
Thu, 8 Oct 2009 18:11:16 +0000 (14:11 -0400)
committerClinton Ebadi <clinton@unknownlamer.org>
Thu, 8 Oct 2009 18:11:16 +0000 (14:11 -0400)
commit0c69cff0f464d6d62f5868027645235fbd425ef9
treecf8f20b97afd36dc094c1a4c72ce58b566fd0cb7
parent16a6a6394a567e7f784a2a0f28bbf5aac29c17e7
Move lexical binding renaming to JS:VARIABLE printer (part one)
This moves lexical binding renaming into the printer for
`js:variable' (where it belongs -- using symbol-macros for this makes
the compiler a lot messier than it need be). Right now a new block is
unnecessarily introduced for every `let' expression.

* Rewrite `let' special form
* Enclose variable name in `js:variable' when expanding `var' special
  form
* Maintain lexical binding stack in printer for `js:let'
* Perform renaming for all `js:variable' forms at print time
src/printer.lisp
src/special-forms.lisp