<!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>