r5025: *** empty log message ***
authorKevin M. Rosenberg <kevin@rosenberg.net>
Thu, 22 May 2003 21:03:52 +0000 (21:03 +0000)
committerKevin M. Rosenberg <kevin@rosenberg.net>
Thu, 22 May 2003 21:03:52 +0000 (21:03 +0000)
views.lisp

index 70819fd276faa89a894cb03156d4e386fd4db58a..4b0867e0ca5ec3b19cb40e2f9467a9f6854ef654 100644 (file)
@@ -7,7 +7,7 @@
 ;;;; Programmer:    Kevin M. Rosenberg
 ;;;; Date Started:  Apr 2000
 ;;;;
 ;;;; Programmer:    Kevin M. Rosenberg
 ;;;; Date Started:  Apr 2000
 ;;;;
-;;;; $Id: views.lisp,v 1.46 2003/05/22 20:40:03 kevin Exp $
+;;;; $Id: views.lisp,v 1.47 2003/05/22 21:03:52 kevin Exp $
 ;;;;
 ;;;; This file is Copyright (c) 2000-2003 by Kevin M. Rosenberg
 ;;;; *************************************************************************
 ;;;;
 ;;;; This file is Copyright (c) 2000-2003 by Kevin M. Rosenberg
 ;;;; *************************************************************************
                                 :category :compact-text)))
        view))
     ((consp view-def)
                                 :category :compact-text)))
        view))
     ((consp view-def)
-     (eval `(make-instance ,view-def)))
+     (apply #'make-instance 'object-view view-def))
     (t
      (error "Invalid parameter to make-object-view: ~S" view-def))))
 
     (t
      (error "Invalid parameter to make-object-view: ~S" view-def))))
 
       (when (and (view-has-links-p view) (esd-hyperlink slot))
        (push (slot-definition-name slot) links)))
 
       (when (and (view-has-links-p view) (esd-hyperlink slot))
        (push (slot-definition-name slot) links)))
 
-    (when (plusp (length print-func))
-      (setf (obj-data-print-code view) `(lambda (x s links)
-                                        (declare (ignorable links))
-                                        ,@(map 'list #'identity print-func)))
-      (setf (obj-data-printer view)
-           (compile nil (eval (obj-data-print-code view)))))
+    (vector-push-extend 'x print-func) ;; return object
+    (setf (obj-data-print-code view) `(lambda (x s links)
+                                      (declare (ignorable links))
+                                      ,@(map 'list #'identity print-func)))
+    (setf (obj-data-printer view)
+         (compile nil (eval (obj-data-print-code view))))
     
     (setf (link-slots view) (nreverse links)))
 
     
     (setf (link-slots view) (nreverse links)))