X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=mop.lisp;h=f7f7ae02ed5d0c287197c21f80ae5ad15f686800;hb=b17d32528de6c74cd273ce32c69f3726c8110119;hp=37d3da8a642ccc21f2025173d9f58743bdbed76c;hpb=4e25bac9b8399979850118a2a16be0329e1226b8;p=hyperobject.git diff --git a/mop.lisp b/mop.lisp index 37d3da8..f7f7ae0 100644 --- 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.6 2002/12/05 19:15:02 kevin Exp $ ;;;; ;;;; This file is Copyright (c) 2000-2002 by Kevin M. Rosenberg ;;;; @@ -232,10 +232,16 @@ (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" @@ -306,6 +312,9 @@ (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))