anchor.diff:  ;;; ---------------------------------------------------------------------------
   
   (defmethod display-part ((part doclisp-slot) (mode (eql :table-summary)))
  -  (let* ((parent (some-element-p (parents part)
  -                                 (lambda (parent) 
  -                                   (member (name part) 
  -                                           (direct-slot-names (instance parent)))))) 
  -         (slot-info (slot-properties (instance parent) (name part)))
  +  (let* ((instance (direct-instance part)) 
  +         (slot-info (slot-properties instance (name part)))
            (add-comma? nil)
            (accessors nil))
       
  
positive.code:     
      (documenting part
        ((:tr :class (if (oddp *current-part-index*) "oddrow" ""))
            ((:td :valign "top" :width 200) (link-for mode))
            ((:td :valign "top")
             (awhen (getf slot-info :initform) 
               (html ((:SPAN :CLASS "property-heading") "Initform:")
                     ((:SPAN :CLASS "property-value") (lml-format "~(~A~)" it)))
  
negative.code: ;;; doclisp-slot
  ;;; ---------------------------------------------------------------------------
  
  (defclass* doclisp-slot (doclisp-part)
    ((direct-parent :unbound w))
    (:default-initargs
      :header "Slot"
      :part-kind "slot"))
  
  ;;; ---------------------------------------------------------------------------
  
  ;;?? bit of a hack in progress
  (defmethod direct-instance ((slot doclisp-slot))
    (let ((parent (direct-parent slot)))
      (if parent
        (instance parent)
        ;; no direct parent found, probably not an exported symbol so fake it...
        (iterate-elements
         (parents slot)
         (lambda (parent)
           (awhen (some-element-p 
                   (superclasses (instance parent) :proper? t)
                   (lambda (superclass)
                     (member (name slot) 
                             (direct-slot-names superclass))))
             (return-from direct-instance it)))))))
  
  ;;; ---------------------------------------------------------------------------
  
  (defmethod direct-parent ((slot doclisp-slot))
    (unless (and (slot-boundp slot 'direct-parent)
                 (slot-value slot 'direct-parent))
      (setf (direct-parent slot)
            (some-element-p (parents slot)
                            (lambda (parent) 
                              (member (name slot) 
                                      (direct-slot-names (instance parent)))))))
    (slot-value slot 'direct-parent))
  
  ;;; ---------------------------------------------------------------------------
  
  (defmethod part-documentation ((part doclisp-slot))
    (documentation (get-slot-definition (instance (direct-parent part)) (name part)) t))
  
  ;;; ---------------------------------------------------------------------------
  
  