;;;; Programmer: Kevin M. Rosenberg
;;;; Date Started: Apr 2000
;;;;
-;;;; $Id: views.lisp,v 1.7 2002/12/05 18:31:36 kevin Exp $
+;;;; $Id: views.lisp,v 1.8 2002/12/05 19:15:02 kevin Exp $
;;;;
;;;; This file is Copyright (c) 2000-2002 by Kevin M. Rosenberg
;;;;
;; make list of hyperlink link fields for printing to refstr template
(dolist (ref (hyperobject-class-hyperlinks x))
- (let ((link-start
- (make-link-start x (link-ref fmt) (name ref) (lookup ref)
- (nth (position (name ref)
- (slot-value x 'print-slots))
- field-values)
- (append (link-parameters ref) refvars)))
- (link-end (make-link-end x (link-ref fmt) (name ref))))
- (push link-start refvalues)
- (push link-end refvalues)))
+ (let ((print-pos (position (name ref) (hyperobject-class-print-slots x))))
+ (when print-pos
+ (let ((link-start (make-link-start x (link-ref fmt) (name ref) (lookup ref)
+ (nth print-pos field-values)
+ (append (link-parameters ref) refvars)))
+ (link-end (make-link-end x (link-ref fmt) (name ref))))
+ (push link-start refvalues)
+ (push link-end refvalues)))))
(setq refvalues (nreverse refvalues))
-
(apply #'format s refstr refvalues)))
(defgeneric obj-data (obj))