aboutsummaryrefslogtreecommitdiff
path: root/src/interp
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2009-05-09 19:34:42 +0000
committerdos-reis <gdr@axiomatics.org>2009-05-09 19:34:42 +0000
commit4b4a0dc6ce39b7ee849f81ddf66355713f0cbf27 (patch)
treec50785d865c040b210650401f6616f5a324fb595 /src/interp
parent5484d5179027a4599dbac35f17283b26297bc229 (diff)
downloadopen-axiom-4b4a0dc6ce39b7ee849f81ddf66355713f0cbf27.tar.gz
* interp/compiler.boot (compApplication): Tidy.
Diffstat (limited to 'src/interp')
-rw-r--r--src/interp/compiler.boot6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/interp/compiler.boot b/src/interp/compiler.boot
index c45a5ce8..e51da828 100644
--- a/src/interp/compiler.boot
+++ b/src/interp/compiler.boot
@@ -706,8 +706,10 @@ compApplication(op,argl,m,T) ==
for x in argl for m in argml]
argTl = "failed" => nil
form:=
- atom T.expr and not (MEMQ(op,$formalArgList) or MEMQ(T.expr,$formalArgList)) =>
- emitLocalCallInsn(T.expr,[a.expr for a in argTl],e)
+ atom T.expr and
+ not (MEMQ(op,$formalArgList) or MEMQ(T.expr,$formalArgList)) and
+ null get(T.expr,"value",e) =>
+ emitLocalCallInsn(T.expr,[a.expr for a in argTl],e)
['call, ['applyFun, T.expr], :[a.expr for a in argTl]]
coerce([form, retm, e],resolve(retm,m))
op = 'elt => nil