Olof-Joachim Frahm | 6 May 2010 16:23
Picon

Fix for broken progn

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.

Regards, Olof

-- 
The world is burning.  Run.
Attachment (iterate.progn.patch): text/x-patch, 1 bytes
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.

Regards, Olof

--

-- 
The world is burning.  Run.
Olof-Joachim Frahm | 26 May 2010 21:24
Picon

Re: UNS: Fix for broken progn

Meh, an empty patch is a stupid idea.  Attached is the real thing.
Apologies for the noise.

-- 
The world is burning.  Run.
Attachment (iterate.progn.patch): text/x-patch, 761 bytes
Meh, an empty patch is a stupid idea.  Attached is the real thing.
Apologies for the noise.

--

-- 
The world is burning.  Run.
Attila Lendvai | 3 Jun 2010 11:42
Picon
Gravatar

Re: Fix for broken progn

> 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


Gmane