aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/ChangeLog6
-rw-r--r--src/interp/daase.lisp6
-rw-r--r--src/interp/database.boot7
3 files changed, 11 insertions, 8 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index b7d639da..61d7b845 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,9 @@
+2016-01-17 Gabriel Dos Reis <gdr@axiomatics.org>
+
+ * interp/daase.lisp (GETDATABASE): Remove PARENTS case.
+ * interp/database.boot (getConstructorParentsFromDB): Take data
+ from compiled code.
+
2016-01-16 Gabriel Dos Reis <gdr@axiomatics.org>
* interp/sys-driver.boot (initializeDatabase): Be frugal when
diff --git a/src/interp/daase.lisp b/src/interp/daase.lisp
index 3e799091..a340fd13 100644
--- a/src/interp/daase.lisp
+++ b/src/interp/daase.lisp
@@ -680,10 +680,6 @@
(setq stream *browse-stream*)
(when struct
(setq data (database-documentation struct))))
- (parents
- (setq stream *browse-stream*)
- (when struct
- (setq data (|dbPrincipals| struct))))
(users
(setq stream *browse-stream*)
(when struct
@@ -718,8 +714,6 @@
(setf (|dbConstructorForm| struct) data))
(documentation
(setf (database-documentation struct) data))
- (parents
- (setf (|dbPrincipals| struct) data))
(users
(setf (database-users struct) data))
(dependents
diff --git a/src/interp/database.boot b/src/interp/database.boot
index 423cf547..e667ab74 100644
--- a/src/interp/database.boot
+++ b/src/interp/database.boot
@@ -165,9 +165,12 @@ getConstructorPredicates ctor ==
dbBeingDefined? db => dbPredicates db
dbPredicates loadDBIfNecessary db
-getConstructorParentsFromDB: %Symbol -> %List %Symbol
+getConstructorParentsFromDB: %Symbol -> %Alist(%Instantiation,%Code)
getConstructorParentsFromDB ctor ==
- GETDATABASE(ctor,"PARENTS")
+ db := constructorDB ctor
+ if not dbBeingDefined? db and dbPrincipals db isnt [.,:.] then
+ loadDBIfNecessary db
+ dbPrincipals db
getSuperDomainFromDB: %Symbol -> %Form
getSuperDomainFromDB ctor ==