diff options
author | dos-reis <gdr@axiomatics.org> | 2011-01-27 17:08:27 +0000 |
---|---|---|
committer | dos-reis <gdr@axiomatics.org> | 2011-01-27 17:08:27 +0000 |
commit | 8e0d0dbfa31e6a035ec5e954c192742ade763dda (patch) | |
tree | 2eb913a591c3582a95e0419e2aed3c9df458dda0 /src/interp | |
parent | 8a5fd55bbfb440f3b4d787c345782b546dd96a6b (diff) | |
download | open-axiom-8e0d0dbfa31e6a035ec5e954c192742ade763dda.tar.gz |
* interp/nruncomp.boot (NRTputInHead): Tidy.
Diffstat (limited to 'src/interp')
-rw-r--r-- | src/interp/nruncomp.boot | 9 |
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 |