r3613: *** empty log message ***
[hyperobject.git] / base-class.lisp
index 4c0315661cf8c06f18cea17e3405a204d4d81faa..0da829b3d209a27fb0dffeac4ccd016b080efc52 100644 (file)
@@ -7,24 +7,25 @@
 ;;;; Programmer:    Kevin M. Rosenberg
 ;;;; Date Started:  Apr 2000
 ;;;;
-;;;; $Id: base-class.lisp,v 1.1 2002/11/25 02:10:38 kevin Exp $
+;;;; $Id: base-class.lisp,v 1.3 2002/12/13 05:44:19 kevin Exp $
 ;;;;
 ;;;; This file is Copyright (c) 2000-2002 by Kevin M. Rosenberg
 ;;;; *************************************************************************
 
 (in-package :hyperobject)
+(eval-when (:compile-toplevel :execute)
+  (declaim (optimize (speed 2) (safety 2) (compilation-speed 0) (debug 2))))
+
 
 (defclass hyperobject ()
   ()
   (:metaclass hyperobject-class)
   (:description "Basic hyperobject class"))
 
-
 (defmethod print-object ((obj hyperobject) (s stream))
   (print-unreadable-object (obj s :type t :identity t)
-    (let ((fmt (make-instance 'hyperobject::textformat)))
-      (apply #'format 
-            s (funcall (obj-data-fmtstr fmt) obj)
+    (let ((view (get-category-view obj :compact-text)))
+      (apply #'format s (slot-value view 'obj-data-fmtstr)
             (multiple-value-list 
-             (funcall (funcall (obj-data-value-func fmt) obj) obj))))))
+             (funcall (slot-value view 'obj-data-value-func) obj))))))