anchor.diff:                                                  (text-size stream stroke-string
                                                    :text-style (merge-text-styles
                                                                 (face-style (drawing-options-face drawing-options))
  -                                                              (medium-default-text-style stream)))
  +                                                              (medium-merged-text-style (sheet-medium stream))))
                                                   (values (- x2 x1) (- y2 y1)))
             (clear-rectangle* stream cursor-x cursor-y
                               (+ cursor-x width) (+ cursor-y height
  
positive.code:                             (return-from worker
                                (values (x1 stroke-dimensions) (y1 stroke-dimensions)
                                        (dimensions-height line-dimensions)
                                        (- (if (= end-offset (1+ start-offset))
                                               (x2 stroke-dimensions)
                                               (offset-in-stroke-position pane view stroke (1+ offset)))
                                           (x1 stroke-dimensions)))))
                             ((and (<= start-offset offset)
                                   (< offset end-offset))
                              (return-from worker
  
negative.code:                   worker (values (x2 line-dimensions) (y1 line-dimensions)
                                   (dimensions-height line-dimensions))))))))
      (with-accessors ((buffer buffer) (top top) (bot bot)) view
        (let ((default-object-width
               (text-style-width
                (medium-merged-text-style (sheet-medium pane)) pane)))
          (cond
            ((< offset (offset top)) nil)
            ((< (offset bot) offset) t)
  