[Ecls-list] Re: Critical fixes
Juan Jose Garcia Ripoll
jlr at mpq.mpg.de
Fri May 13 04:48:32 UTC 2005
Maciek Pasternacki wrote:
>I found one more bug in compiler; managed just to pin it down to a
>minimal example. Compiled closures returned from function can't refer
>to variables declared as special; when closure-generating code is
>interpreted, everything is OK. Here is my example code:
>
>
The bug was not related to compiler closures referring to special
variables declared in the enclosing code, but rather to the scope of
special declarations. The same bug was revealed by inspecting the code
generated for
(defun bar (a3)
(declare (special a2))
(let ((a2 (* a2 a2)))
...))
Inside the LET form, A2 should be a lexical variable, not a special one
and the previous code should be equivalent to
(defun bar (a3)
(declare (special a2))
(let ((x (* a2 a2)))
...))
I have fixed this in CVS.
Juanjo
-------------- next part --------------
A non-text attachment was scrubbed...
Name: jlr.vcf
Type: text/x-vcard
Size: 361 bytes
Desc: not available
URL: <https://mailman.common-lisp.net/pipermail/ecl-devel/attachments/20050513/a20ad767/attachment.vcf>
More information about the ecl-devel
mailing list