aboutsummaryrefslogtreecommitdiff
path: root/src/interp/nrunopt.boot
diff options
context:
space:
mode:
Diffstat (limited to 'src/interp/nrunopt.boot')
-rw-r--r--src/interp/nrunopt.boot10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/interp/nrunopt.boot b/src/interp/nrunopt.boot
index 124497ed..a4d10e00 100644
--- a/src/interp/nrunopt.boot
+++ b/src/interp/nrunopt.boot
@@ -142,7 +142,8 @@ makeCompactSigCode(sig,$isOpPackageName) == [fn for x in sig] where
fn() ==
x = '_$_$ => 2
x = '$ => 0
- not INTEGERP x => systemError ['"code vector slot is ",x,"; must be number"]
+ not INTEGERP x =>
+ systemError ['"code vector slot is ",x,'"; must be number"]
-- x = 6 and $isOpPackageName => 0 --treat slot 6 as $ for default packages
x
@@ -177,6 +178,13 @@ getLookupFun infovec ==
MAXINDEX infovec = 4 => infovec.4
'lookupIncomplete
+makeSpadConstant [fn,dollar,slot] ==
+ val := FUNCALL(fn,dollar)
+ u:= dollar.slot
+ RPLACA(u,function IDENTITY)
+ RPLACD(u,val)
+ val
+
stuffSlot(dollar,i,item) ==
dollar.i :=
atom item => [SYMBOL_-FUNCTION item,:dollar]