aboutsummaryrefslogtreecommitdiff
path: root/src/interp/lisplib.boot
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2013-06-15 15:07:51 +0000
committerdos-reis <gdr@axiomatics.org>2013-06-15 15:07:51 +0000
commit22a6f56b6009ac7cdbc4d38ef4ab6f7bfa46dc44 (patch)
tree9e468affbeb1d8a5ec341a5c17cf6483ab2058fc /src/interp/lisplib.boot
parentb8f356b0f9492f8a32bc1951b3b598e3ec1e9d4e (diff)
downloadopen-axiom-22a6f56b6009ac7cdbc4d38ef4ab6f7bfa46dc44.tar.gz
Store category defaults constructor as part of category constructor DB.
Diffstat (limited to 'src/interp/lisplib.boot')
-rw-r--r--src/interp/lisplib.boot12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/interp/lisplib.boot b/src/interp/lisplib.boot
index 28534646..08b9417b 100644
--- a/src/interp/lisplib.boot
+++ b/src/interp/lisplib.boot
@@ -32,8 +32,7 @@
-- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-import nlib
-import c_-util
+import database
import debug
namespace BOOT
@@ -475,6 +474,11 @@ writeLookupFunction db ==
writeLoadInfo(db,quote fun,'lookupFunction,'dbLookupFunction)
nil
+writeCategoryDefault db ==
+ pac := dbConstructorDefault db
+ insn := ['%store,['dbConstructorDefault,mkCtorDBForm db],quote pac]
+ printBackendStmt(dbLibstream db,expandToVMForm insn)
+
writeKind db ==
writeInfo(db,dbConstructorKind db,'constructorKind,'dbConstructorKind)
@@ -540,7 +544,9 @@ leaveIfErrors(libName,kind) ==
finalizeLisplib(db,libName) ==
form := dbConstructorForm db
writeTemplate db
- writeLookupFunction db
+ do -- shared slot; careful.
+ dbConstructorKind db = 'category => writeCategoryDefault db
+ writeLookupFunction db
writeConstructorForm db
writeKind db
writeConstructorModemap db