aboutsummaryrefslogtreecommitdiff
path: root/src/interp/nruncomp.boot
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2011-01-27 17:08:27 +0000
committerdos-reis <gdr@axiomatics.org>2011-01-27 17:08:27 +0000
commit8e0d0dbfa31e6a035ec5e954c192742ade763dda (patch)
tree2eb913a591c3582a95e0419e2aed3c9df458dda0 /src/interp/nruncomp.boot
parent8a5fd55bbfb440f3b4d787c345782b546dd96a6b (diff)
downloadopen-axiom-8e0d0dbfa31e6a035ec5e954c192742ade763dda.tar.gz
* interp/nruncomp.boot (NRTputInHead): Tidy.
Diffstat (limited to 'src/interp/nruncomp.boot')
-rw-r--r--src/interp/nruncomp.boot9
1 files changed, 3 insertions, 6 deletions
diff --git a/src/interp/nruncomp.boot b/src/interp/nruncomp.boot
index 2d2a0184..6734e132 100644
--- a/src/interp/nruncomp.boot
+++ b/src/interp/nruncomp.boot
@@ -689,8 +689,8 @@ NRTputInHead bod ==
bod is ['SPADCALL,:args,fn] =>
NRTputInTail rest bod --NOTE: args = COPY of rest bod
-- The following test allows function-returning expressions
- fn is [elt,dom,ind] and not (dom='$) and elt in '(getShellEntry ELT QREFELT CONST) =>
- k:= NRTassocIndex dom => lastNode(bod).first := [$elt,'_$,k]
+ fn is [elt,dom,ind] and dom ~='$ and elt in '(getShellEntry ELT QREFELT CONST) =>
+ k := NRTassocIndex dom => lastNode(bod).first := ['%vref,'_$,k]
nil
NRTputInHead fn
bod
@@ -699,9 +699,6 @@ NRTputInHead bod ==
bod
bod is ["QUOTE",:.] => bod
bod is ["CLOSEDFN",:.] => bod
- bod is ["SPADCONST",dom,ind] =>
- keyedSystemError("S2GE0016",['"NRTputInHead",
- '"unexpected SPADCONST form"])
NRTputInHead first bod
NRTputInTail rest bod
bod
@@ -711,7 +708,7 @@ NRTputInTail x ==
atom (u := first y) =>
u='$ or LASSOC(u,$devaluateList) => nil
k:= NRTassocIndex u =>
- atom u => y.first := [$elt,'_$,k]
+ atom u => y.first := ['%vref,'_$,k]
-- u atomic means that the slot will always contain a vector
y.first := ['SPADCHECKELT,'_$,k]
--this reference must check that slot is a vector