Re: bug report
Frode Vatvedt Fjeld <[email protected]> Wed, 18 Aug 2004 21:51:48 +0200
| Newsgroups | gmane.lisp.movitz.devel |
|---|---|
| Message-ID | <[email protected]> |
"Alessio Stalla" <[email protected]> writes: > 1) the way setq is implemented in muerte, it always assigns values to > special variables, so that e.g. > > (let ((x 5)) (setq x 6)) Right, lexical variables in eval was probably added much later than setq/setf, and I've never really written so extensive forms at the REPL that this issue ever came up. I'll fix it right away. > 2) This is probably harder to notice: under certain conditions, labels > and flet do not properly capture bindings: I was trying to > movitz-compile this defun > > (defun my-test-labels (x) > (labels ((p () (print x)) > (q (y) (list x y))) > (p))) > > but it gave me this error: > > The slot MOVITZ::REFERENCE-SLOT is unbound in the object > #<MOVITZ::BORROWED-BINDING name: X {4913F8FD}> This is touching some of the hairier corners of the compiler, so don't be too surprised to find compiler bugs when using labels etc. I'll look into this too, shortly. Thanks for the bug-reports. -- Frode Vatvedt Fjeld