anchor.diff:  
   (define-abstract-pane-mapping 'list-pane 'generic-list-pane)
   
  -(defclass meta-list-pane (list-pane)
  +(defclass meta-list-pane ()
     ((mode        :initarg :mode
                   :initform :some-of
                   :reader list-pane-mode
  
positive.code:     (declare (ignore sx1 sy1))
      (with-bounding-rectangle* (rx0 ry0 rx1 ry1)
        (if (bounding-rectangle-p region)
                region
                (sheet-region pane))  ; workaround for non-rectangular regions (such as +everywhere+)
        (let ((item-height (generic-list-pane-item-height pane))
              (highlight-ink (list-pane-highlight-ink pane)))
          (do ((index (floor (- ry0 sy0) item-height) (1+ index)))
  
negative.code:                                       :test (list-pane-test pane))))))
              (fun item-values (gadget-value pane))))))
  
  (defun generic-list-pane-item-from-x-y (pane mx my)
    "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."
    (declare (ignore mx))
    (with-bounding-rectangle* (sx0 sy0 sx1 sy1)  (sheet-region pane)
      (declare (ignorable sx0 sx1 sy1))
        (with-slots (items) pane
          (let* ((item-height (generic-list-pane-item-height pane))
                 (number-of-items (generic-list-pane-items-length pane))
  