aboutsummaryrefslogtreecommitdiff
path: root/src/interp/compiler.boot
diff options
context:
space:
mode:
Diffstat (limited to 'src/interp/compiler.boot')
-rw-r--r--src/interp/compiler.boot5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/interp/compiler.boot b/src/interp/compiler.boot
index e9a97c6f..e070e214 100644
--- a/src/interp/compiler.boot
+++ b/src/interp/compiler.boot
@@ -334,8 +334,7 @@ compWithMappingMode(x,m is ["Mapping",m',:sl],oldE) ==
return [['%function,x],m,e]
x is ["+->",:.] => compLambda(x,m,oldE)
if string? x then x := makeSymbol x
- vl := formalVarList #sl
- for m in sl for v in vl repeat
+ for m in sl for v in (vl:= take(#sl,$FormalMapVariableList)) repeat
[.,.,e]:= compMakeDeclaration(v,m,e)
(vl ~= nil) and not hasFormalMapVariable(x, vl) =>
[u,.,.] := comp([x,:vl],m',e) or return nil
@@ -1357,7 +1356,7 @@ compHas(pred is ["has",a,b],m,e) ==
compHasFormat(db,pred is ["has",olda,b],e) ==
argl := $form.args
- formals := formalVarList #argl
+ formals := take(#argl,$FormalMapVariableList)
a := applySubst(pairList(formals,argl),olda)
[a,.,e] := comp(a,$EmptyMode,e) or return nil
a := applySubst(pairList(argl,formals),a)