[developers] [spr31181] closure change in ACL 8.0 (from 6.2)?
David Margolies
dm at franz.com
Fri Feb 10 19:06:10 CET 2006
I response to you question about problems with closures, I wrote:
moving from 7.0 to 8.0, i noticed the following now breaks:
(eval-when #+:ansi-eval-when (:load-toplevel :compile-toplevel :execute)
#-:ansi-eval-when (load eval compile)
(let ((n -1))
(defun reset-failure-count ()
(setf n -1))
(defstruct failure
(id (incf n))
nature type1 type2 glb path suffix context)))
the `failure' constructor apparently closured `n' in the past and now
no longer does. i admit i have yet to look up the ANSI spec on this,
in fact was hoping you could tell me. either way, i felt you should
consider adding an entry on it in section 6.2 of the release notes.
Could you send us a transcript (use dribble-bug if possible) showing
the compilation/loading/and execution of this code.
(The dribble-bug will include the output of print-system-state. If
you do not use dribble-bug, could you send us that output separately.)
I do not believe I have heard more from you on this. (If you sent
more information and I somehow missed it, could you please send it
again mentioning spr31181 in the subject line.)
Thanks,
David Margolies
Franz Inc.
More information about the developers
mailing list