diff options
author | dos-reis <gdr@axiomatics.org> | 2007-10-31 01:41:13 +0000 |
---|---|---|
committer | dos-reis <gdr@axiomatics.org> | 2007-10-31 01:41:13 +0000 |
commit | 847e8111104c485b09b879499efe4ec3beb8942b (patch) | |
tree | cf28332ac203416194292fe44ef44d3855b5ba42 /src/interp/g-util.boot | |
parent | 161d80a8ff9c0d819710de6a83a3cb5bbcfdbe61 (diff) | |
download | open-axiom-847e8111104c485b09b879499efe4ec3beb8942b.tar.gz |
* Makefile.pamphlet (define.$(FASLEXT)): New rule.
(<<define.clisp>>): Remove.
* c-util.boot (CONTINUE): Comment out.
* define.boot.pamphlet: Push into package "BOOT". Fix syntax.
* i-intern.boot.pamphlet (put): Move to g-util.boot
(get): Likewise.
(get0): Likewise.
(get1): Likewise.
(get2): Likewise.
* setq.lisp (/EDITFILE): Don't set here. Define it in
sys-globals.boot.
(NRTPARSE): Don't set here. Define in define.boot.
Diffstat (limited to 'src/interp/g-util.boot')
-rw-r--r-- | src/interp/g-util.boot | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/src/interp/g-util.boot b/src/interp/g-util.boot index 128e683b..117e8552 100644 --- a/src/interp/g-util.boot +++ b/src/interp/g-util.boot @@ -48,6 +48,48 @@ PPtoFile(x, fname) == SHUT stream x + +get(x,prop,e) == + $InteractiveMode => get0(x,prop,e) + get1(x,prop,e) + +get0(x,prop,e) == + null atom x => get(QCAR x,prop,e) + u:= QLASSQ(x,CAR QCAR e) => QLASSQ(prop,u) + (tail:= CDR QCAR e) and (u:= fastSearchCurrentEnv(x,tail)) => + QLASSQ(prop,u) + nil + +get1(x,prop,e) == + --this is the old get + null atom x => get(QCAR x,prop,e) + prop="modemap" and $insideCapsuleFunctionIfTrue=true => + LASSOC("modemap",getProplist(x,$CapsuleModemapFrame)) + or get2(x,prop,e) + LASSOC(prop,getProplist(x,e)) or get2(x,prop,e) + +get2(x,prop,e) == + prop="modemap" and constructor? x => + (u := getConstructorModemap(x)) => [u] + nil + nil + +put(x,prop,val,e) == + $InteractiveMode and not EQ(e,$CategoryFrame) => + putIntSymTab(x,prop,val,e) + --e must never be $CapsuleModemapFrame + null atom x => put(first x,prop,val,e) + newProplist:= augProplistOf(x,prop,val,e) + prop="modemap" and $insideCapsuleFunctionIfTrue=true => + SAY ["**** modemap PUT on CapsuleModemapFrame: ",val] + $CapsuleModemapFrame:= + addBinding(x,augProplistOf(x,"modemap",val,$CapsuleModemapFrame), + $CapsuleModemapFrame) + e + addBinding(x,newProplist,e) + + + -- Convert an arbitrary lisp object to canonical boolean. bool x == NULL NULL x |