[iterate-devel] Iterate error with multiple-value-setq

(I originally sent this to Andreas Fuchs. No reply, then I found this address.) In Lispworks 4.3 on Mac OS X, Iterate 1.0.9, I get a warning: Unknown special form MULTIPLE-VALUE-BIND-CALL. The lisp environment claims that MULTIPLE-VALUE-BIND-CALL is a special operator, but ITERATE doesn't know how to handle it. when I put a multiple-value-setq inside an iterate like this: (defun test-iter (a b) (iter (repeat 4) (multiple-value-setq (a b) (foo)))) The loop expands to: (LET* ((#:COUNT181 NIL)) (BLOCK NIL (TAGBODY (SETQ #:COUNT181 4) LOOP-TOP-NIL (IF (<= #:COUNT181 0) (GO LOOP-END-NIL)) (VALUES (LET* () (MULTIPLE-VALUE-CALL #'(LAMBDA (&OPTIONAL #:G1829 #:G1830 &REST #:|m-v-b-&rest1831|) (DECLARE (IGNORE #:|m-v-b-&rest1831|)) (LET* () (VALUES (SETQ A #:G1829) (SETQ B #:G1830)))) (FOO)))) (SETQ #:COUNT181 (1- #:COUNT181)) (GO LOOP-TOP-NIL) LOOP-END-NIL) NIL)) - Stoney -- Stonewall Ballard stoney@sb.org http://stoney.sb.org/
participants (1)
-
Stonewall Ballard