<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body text="#000000" bgcolor="#ffffff">
<font face="sans-serif">SYSTEM DESCRIPTION ><br>
Iterate version: latest from darcs repository and 1.4.3<br>
Lisp implementation: SBCL 1.0.33<br>
<br>
BUG DESCRIPTION><br>
when using FOR..IN-HASHTABLE the code generated for hash-table
traversing is always put at the beginning of generate code, with the
result that the hash-table to be traversed must be in scope since the
beginning of the ITER form.<br>
<br>
EXAMPLE ><br>
<br>
(macroexpand-1 '(iter:iter<br>
(iter:with table = (make-hash-table))<br>
(iter:for (k v) in-hashtable table)<br>
(format t "~A ~A ~%" k v)))<br>
==><br>
(WITH-HASH-TABLE-ITERATOR (#:HASH-TABLE-ITERATOR-810 TABLE) ; <--
'TABLE used before being bound<br>
(LET* ((TABLE (MAKE-HASH-TABLE)) (#:G811 NIL) (K NIL) (V NIL))<br>
(BLOCK NIL<br>
(TAGBODY<br>
(PROGN)<br>
LOOP-TOP-NIL<br>
(PROGN<br>
(MULTIPLE-VALUE-SETQ (#:G811 K V) (#:HASH-TABLE-ITERATOR-810))<br>
(IF (NOT #:G811)<br>
(GO LOOP-END-NIL))<br>
(FORMAT T "~A ~A ~%" K V))<br>
(PROGN)<br>
(GO LOOP-TOP-NIL)<br>
LOOP-END-NIL<br>
(PROGN))<br>
NIL)))</font><br>
<br>
thank you,<br>
<br>
Andrea<br>
</body>
</html>