aboutsummaryrefslogtreecommitdiff
path: root/src/interp/i-map.boot
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2010-05-25 13:48:06 +0000
committerdos-reis <gdr@axiomatics.org>2010-05-25 13:48:06 +0000
commit0e3d2ebd83ca054adef910dfedde962bcc9b7a39 (patch)
treeb8a4714ab2e4b191fbf482ebf66ca8caa6cb510d /src/interp/i-map.boot
parentdd99f144ce50c2c3d2a1e1685a2d74ff533f6535 (diff)
downloadopen-axiom-0e3d2ebd83ca054adef910dfedde962bcc9b7a39.tar.gz
* interp/i-spec2.boot (evalREPEAT): Generate %repeat forms.
(interpREPEAT): Likewise. * interp/i-spec1.boot (interpCOLLECT): Generate %collect forms. * interp/i-map.boot (findLocalVars1): Handle %repeat forms the same as REPEAT forms. * interp/g-opt.boot (changeThrowToExit): Don't look into %repeat forms. (expandInit): New. (expandLoop): New. abstract from expandCollect. (expandCollect): Use it. Rework. (expandRepeat): New.
Diffstat (limited to 'src/interp/i-map.boot')
-rw-r--r--src/interp/i-map.boot2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/interp/i-map.boot b/src/interp/i-map.boot
index 9bb6bf4e..bfc99b6d 100644
--- a/src/interp/i-map.boot
+++ b/src/interp/i-map.boot
@@ -1031,7 +1031,7 @@ findLocalVars1(op,form) ==
form is ['is,l,pattern] =>
findLocalVars1(op,l)
for var in listOfVariables rest pattern repeat mkLocalVar(op,var)
- form is [oper,:itrl,body] and oper in '(REPEAT COLLECT %collect) =>
+ form is [oper,:itrl,body] and oper in '(REPEAT COLLECT %collect %repeat) =>
findLocalsInLoop(op,itrl,body)
form is [y,:argl] =>
y is "Record" or (y is "Union" and argl is [[":",.,.],:.]) =>