From 8e0d0dbfa31e6a035ec5e954c192742ade763dda Mon Sep 17 00:00:00 2001 From: dos-reis Date: Thu, 27 Jan 2011 17:08:27 +0000 Subject: * interp/nruncomp.boot (NRTputInHead): Tidy. --- src/interp/nruncomp.boot | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) (limited to 'src/interp') 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 -- cgit v1.2.3