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

Hoehle, Joerg-Cyril Joerg-Cyril.Hoehle at t-systems.com
Thu Nov 25 15:11:41 UTC 2004


Hi,
Stonewall Ballard wrote:
>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:

>The loop expands to:
>                        (MULTIPLE-VALUE-CALL #'(LAMBDA (&OPTIONAL 

A) I can't find m-v-BIND-call in the expansion. Is there a typo?


B) Could you please try out the following:

(defun special-form? (symbol)
  (or (assoc symbol *special-form-alist*)))

and change
(defun walk (form)
   ...
to
      ((special-form? (car form)) ; handle known special operators first
       (walk-special-form form))
      ((macro-function (car form) *env*)
       (walk (macroexpand form *env*)))
      ((special-operator-p (car form))
       (clause-warning "Unknown special form ~A -- won't be walked by Iterate" form)
       (list form))
  ... starts-clause?

What do you get?

Regards,
	Joerg Hoehle




More information about the iterate-devel mailing list