[developers] [spr31181] closure change in ACL 8.0 (from 6.2)?

David Margolies dm at franz.com
Sat Feb 4 00:01:07 CET 2006

Your problem report has been assigned a tracking id of spr31181.
Please use this id in the subject line of any mail related to
it so that we may better track communication on your inquiry.
Also, please address mail to support at franz.com as well as me,
so your questions can be answered if I am unavailable.

  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.)


David Margolies
Franz Inc.

More information about the developers mailing list