r3576: *** empty log message ***
[hyperobject.git] / mop.lisp
index 37d3da8a642ccc21f2025173d9f58743bdbed76c..45e704aee09c17929079473bf4d0d99c7e7e2a62 100644 (file)
--- a/mop.lisp
+++ b/mop.lisp
@@ -11,7 +11,7 @@
 ;;;; in Text, HTML, and XML formats. This includes hyperlinking
 ;;;; capability and sub-objects.
 ;;;;
-;;;; $Id: mop.lisp,v 1.5 2002/12/02 15:57:17 kevin Exp $
+;;;; $Id: mop.lisp,v 1.7 2002/12/06 16:18:49 kevin Exp $
 ;;;;
 ;;;; This file is Copyright (c) 2000-2002 by Kevin M. Rosenberg
 ;;;;
@@ -47,7 +47,7 @@
             "Unique ID for the class")
    
    (create-table-cmd :initform nil :reader create-table-cmd)
-   (create-index-cmds :initform nil :reader create-index-cmds)
+   (create-indices-cmds :initform nil :reader create-index-cmds)
    (drop-table-cmd :initform nil :reader drop-table-cmd)
 
    (value-func :initform nil :type function)
 (defun finalize-documentation (cl)
   "Calculate class documentation slot"
   (awhen (slot-value cl 'title)
-        (setf (slot-value cl 'title) (car it)))
+        (setf (slot-value cl 'title)
+              (etypecase (slot-value cl 'title)
+                  (cons (car it))
+                  ((or string symbol) it))))
   (awhen (slot-value cl 'description)
-        (setf (slot-value cl 'description) (car it)))
-  
+        (setf (slot-value cl 'description)
+              (etypecase (slot-value cl 'description)
+                  (cons (car it))
+                  ((or string symbol) it))))
+
   (let ((*print-circle* nil))
     (setf (documentation (class-name cl) 'class)
       (format nil "Hyperobject~A~A~A~A"
 (defun hyperobject-class-fields (obj)
   (class-slots (class-of obj)))
 
+(defun hyperobject-class-print-slots (obj)
+  (slot-value (class-of obj) 'print-slots))
+
 (defun hyperobject-class-fmtstr-html-ref (obj)
   (slot-value (class-of obj) 'fmtstr-html-ref))