aboutsummaryrefslogtreecommitdiff
path: root/src/interp/lisplib.boot
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2011-11-10 05:49:48 +0000
committerdos-reis <gdr@axiomatics.org>2011-11-10 05:49:48 +0000
commiteaa625fa6948517ad21ae33b8e472982e70aadf1 (patch)
treecbaf5b81a148f53e4e2371412340a9cd7e5a57fa /src/interp/lisplib.boot
parentc684b87671ae86f1697e3d86d8cea7952fe777a3 (diff)
downloadopen-axiom-eaa625fa6948517ad21ae33b8e472982e70aadf1.tar.gz
* interp/daase.lisp (dbLookupFunction): New accessor macro.
* interp/c-util.boot (lookupDefiningFunction): Use it. Tidy. * interp/define.boot ($lookupFunction): Remove. (getInfovecCode): Use dbLookupFunction. (compDefineFunctor1): Set it. Do not emit %incomplete anymore. * interp/lisplib.boot (writeLookupFunction): New. (finalizeLisplib): Use it.
Diffstat (limited to 'src/interp/lisplib.boot')
-rw-r--r--src/interp/lisplib.boot13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/interp/lisplib.boot b/src/interp/lisplib.boot
index 9449eff4..beebddb8 100644
--- a/src/interp/lisplib.boot
+++ b/src/interp/lisplib.boot
@@ -476,15 +476,17 @@ writeLoadInfo(ctor,info,key,prop,file) ==
insn := ['%store,[prop,mkCtorDBForm ctor],info]
LAM_,FILEACTQ(key,expandToVMForm insn)
-literalData x ==
- x = nil => nil
- quote x
-
writeTemplate(db,file) ==
dbConstructorKind db = 'category => nil
- writeLoadInfo(dbConstructor db,literalData dbTemplate db,
+ writeLoadInfo(dbConstructor db,dbTemplate db,
'template,'dbTemplate,file)
+writeLookupFunction(db,file) ==
+ fun := dbLookupFunction db =>
+ writeLoadInfo(dbConstructor db,quote fun,
+ 'lookupFunction,'dbLookupFunction,file)
+ nil
+
writeKind(ctor,kind,file) ==
writeInfo(ctor,kind,'constructorKind,'dbConstructorKind,file)
@@ -541,6 +543,7 @@ finalizeLisplib(ctor,libName) ==
form := dbConstructorForm db
mm := getConstructorModemap ctor
writeTemplate(db,$libFile)
+ writeLookupFunction(db,$libFile)
writeConstructorForm(ctor,form,$libFile)
writeKind(ctor,kind,$libFile)
writeConstructorModemap(ctor,mm,$libFile)