anchor.diff:                 (draw-circle* pane x y 7.0
                                :filled nil :ink +white+
                                :start-angle (* 0.25 pi)
  -                             :end-angle   (* 1.25 pi))                             
  +                             :end-angle   (* 1.25 pi))
                  (draw-circle* pane x y 7.0
                                :filled nil :ink +black+
                                :start-angle (* 1.25 pi)
  
positive.code:                                       :test (list-pane-test pane))))))
              (fun item-values (gadget-value pane))))))
  
  (defun generic-list-pane-item-from-event (pane event)
    "Given a pointer event, determine what item in the pane it has fallen upon. 
  Returns two values, the item itself, and the index within the item list."
    (with-bounding-rectangle* (sx0 sy0 sx1 sy1)  (sheet-region pane)
      (declare (ignorable sx0 sx1 sy1))                            
      (multiple-value-bind (mx my) (values (pointer-event-x event) (pointer-event-y event))
        (declare (ignore mx))
        (with-slots (items) pane
          (let* ((item-height (generic-list-pane-item-height pane))
                 (number-of-items (generic-list-pane-items-length pane))
  
negative.code:   (when (and (not (list-pane-exclusive-p gadget))
               (not (listp (gadget-value gadget))))
      (error "A :nonexclusive list-pane cannot be initialized with a value which is not a list."))
    (when (not (list-pane-exclusive-p gadget))
      (with-slots (value) gadget
        (setf value (copy-list value))))
    #+IGNORE
    (when (and (list-pane-exclusive-p gadget)
               (> (length (gadget-value gadget)) 1))
      (error "An 'exclusive' list-pane cannot be initialized with more than one item selected.")))
  
  