[iterate-devel] Iterate error with multiple-value-setq
Stonewall Ballard
stoney at sb.org
Fri Nov 19 21:06:22 UTC 2004
(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 at sb.org http://stoney.sb.org/
More information about the iterate-devel
mailing list