[iterate-devel] Iterate broken on ACL 7.0 beta?

Arthur Lemmens alemmens at xs4all.nl
Wed Sep 29 07:41:31 UTC 2004


Andreas Fuchs wrote:

> I suspect that the COND form that appears so often in the backtrace is
> not macroexpanded correctly (or treated as a special form by allegro7
> again - there is a comment indicating that in the "old" iterate
> distribution).

Yes, cond seems to be treated as a special form by acl 7.0 beta:
(special-operator-p 'cond) returns T. But (macro-function 'cond)
also returns a macro expansion function for cond.

> I'll need to know which values
>
> (macroexpand (cond ((>= value 10) nil (collect (cons key (next i))))) nil)
>
> returns on your allegro 7 installation.

If I wrap a quote around your cond form above (I'm pretty sure that's what
you really meant), I get

(COND ((>= VALUE 10) NIL (COLLECT (CONS KEY (NEXT I)))))
NIL

which confirms your suspicion, I suppose.

> Also, you are welcome to try the patch I suspect will fix the problem:

Thanks, that solves the problem.

Regards,

Arthur





More information about the iterate-devel mailing list