diff options
Diffstat (limited to 'src/interp/nrunopt.boot')
-rw-r--r-- | src/interp/nrunopt.boot | 10 |
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] |