[iterate-devel] Fix for broken progn

Attila Lendvai attila.lendvai at gmail.com
Thu Jun 3 09:42:40 UTC 2010


> Hi, the attached patch fixes a nasty bug in iterate: Without it, forms
> like (iterate (leave (if T (progn) 3))) evaluate to 3, because
> walk-progn simply strips empty progn forms.


heh, we were just bitten by this...

i've pushed a failing test, but i'm not sure that this is the proper
way to fix this bug. maybe a walk-if should be added...

...but i lost my nerves quickly when dealing with the iterate code
walker, because i've already started an iterate clone* which is based
on a more serious code walker and is hardly above 500 lines while
dealing with environments properly, etc.

thanks for the report though!

-- 
 attila

*: http://dwim.hu/darcsweb/darcsweb.cgi?r=HEAD%20hu.dwim.reiterate;a=summary




More information about the iterate-devel mailing list