X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=views.lisp;h=4b0867e0ca5ec3b19cb40e2f9467a9f6854ef654;hb=fb79a796c6ff0b90aedc377a804b48a7b543f65b;hp=70819fd276faa89a894cb03156d4e386fd4db58a;hpb=0bb5498ce669d7f3c6d619bea10056b24db30b0a;p=hyperobject.git diff --git a/views.lisp b/views.lisp index 70819fd..4b0867e 100644 --- a/views.lisp +++ b/views.lisp @@ -7,7 +7,7 @@ ;;;; 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 ;;;; ************************************************************************* @@ -134,7 +134,7 @@ :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)))) @@ -331,12 +331,12 @@ (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)))