X-Git-Url: http://git.kpe.io/?p=hyperobject.git;a=blobdiff_plain;f=views.lisp;h=8d43e6995ac21af847bb9fa4d7df8d7f9fd38b20;hp=b8074830479fe8f40096c7fc3cae324858ced219;hb=7bca13c10f4aee6affb132b7016a693dee9116c9;hpb=15567a20f92d9af44aaba8b8c697b215215816fa diff --git a/views.lisp b/views.lisp index b807483..8d43e69 100644 --- a/views.lisp +++ b/views.lisp @@ -363,7 +363,7 @@ (unless (slots view) (setf (slots view) (default-print-slots obj-cl))) (let ((links '()) - (print-func (make-array 10 :fill-pointer 0 :adjustable t))) + (print-func (make-array 20 :fill-pointer 0 :adjustable t))) (do* ((slots (slots view) (cdr slots)) (slot-name (car slots) (car slots)) @@ -589,6 +589,7 @@ (setf (list-end-printer view) #'xmlformat-list-end-func) (setf (obj-start-printer view) (format nil "<~(~a~)>" name)) (setf (obj-start-indent view) t) + (setf (obj-end-printer view) (format nil "~%" name)) (setf (subobj-end-printer view) (format nil "~%" name)) (setf (subobj-end-indent view) nil) (setf (obj-data-indent view) nil))) @@ -771,11 +772,13 @@ (fmt-obj-start obj view strm indent) (fmt-obj-data obj view strm (1+ indent) refvars link-printer) (fmt-obj-end obj view strm indent) - (when subobjects - (fmt-subobj-start obj view strm indent) - (view-subobjects obj strm vid indent filter subobjects - refvars link-printer) - (fmt-subobj-end obj view strm indent)))) + (if subobjects + (progn + (fmt-subobj-start obj view strm indent) + (view-subobjects obj strm vid indent filter subobjects + refvars link-printer) + (fmt-subobj-end obj view strm indent)) + (fmt-subobj-start obj view strm indent)))) (fmt-list-end (car objlist) view strm indent nobjs))) objs)