robert-strandh / SICL

A fresh implementation of Common Lisp
Other
1.07k stars 79 forks source link

Special &aux bindings don't work in CST-to-AST #135

Closed Bike closed 5 years ago

Bike commented 5 years ago

Pointed out by karlosz based on an ansi test:

(let ((x 'bad))
  (declare (special x))
  (flet ((%f () x))
    (flet ((%g (&aux (x 'good))
            (declare (special x))
            (%f)))
      (%g)))))

Should return GOOD, but with CST-to-AST it seems to return BAD.