anchor.diff:          actual-end-offset)))
   
   (defmethod display-drei-view-contents ((pane basic-pane) (view drei-buffer-view))
  -  (setf (displayed-lines-count view) 0
  -        (max-line-width view) 0)
  -  (multiple-value-bind (cursor-x cursor-y) (stream-cursor-position pane)
  -    (with-output-recording-options (pane :record nil :draw t)
  -      (loop with start-offset = (offset (beginning-of-line (top view)))
  -         with pump-state = (pump-state-for-offset view start-offset)
  -         with pane-height = (bounding-rectangle-height (or (pane-viewport pane) pane))
  -         for line = (line-information view (displayed-lines-count view))
  -         do (multiple-value-bind (new-pump-state line-height)
  -                (draw-line-strokes pane view pump-state start-offset cursor-x cursor-y)
  -              (setf pump-state new-pump-state
  -                    start-offset (1+ (line-end-offset line)))
  -              (incf cursor-y (+ line-height (stream-vertical-spacing pane))))
  -         when (or (and (not (extend-pane-bottom view))
  -                       (>= (y2 (line-dimensions line)) pane-height))
  -                  (= (line-end-offset line) (size (buffer view))))
  -         return (progn
  -                  (setf (offset (bot view)) (line-end-offset line))
  -                  (clear-stale-lines pane view))))))
  +  (with-bounding-rectangle* (x1 y1 x2 y2) view
  +    (let ((old-width (- x2 x1))
  +          (old-height (- y2 y1)))
  +      (setf (displayed-lines-count view) 0
  +            (max-line-width view) 0)
  +      (multiple-value-bind (cursor-x cursor-y) (stream-cursor-position pane)
  +        (with-output-recording-options (pane :record nil :draw t)
  +          (loop with start-offset = (offset (beginning-of-line (top view)))
  +                with pump-state = (pump-state-for-offset view start-offset)
  +                with pane-height = (bounding-rectangle-height (or (pane-viewport pane) pane))
  +                for line = (line-information view (displayed-lines-count view))
  +                do (multiple-value-bind (new-pump-state line-height)
  +                       (draw-line-strokes pane view pump-state start-offset
  +                                          cursor-x cursor-y old-width)
  +                     (setf pump-state new-pump-state
  +                           start-offset (1+ (line-end-offset line)))
  +                     (incf cursor-y (+ line-height (stream-vertical-spacing pane))))
  +                when (or (and (not (extend-pane-bottom view))
  +                              (>= (y2 (line-dimensions line)) pane-height))
  +                         (= (line-end-offset line) (size (buffer view))))
  +                return (progn
  +                         (setf (offset (bot view)) (line-end-offset line))
  +                         (clear-stale-lines pane view old-width old-height))))))))
   
   (defun offset-in-stroke-position (stream view stroke offset)
     "Calculate the position in device units of `offset' in
  
positive.code:     (do-undisplayed-line-strokes (stroke line)
        (if (null (stroke-start-offset stroke))
            (return)
            (setf (stroke-start-offset stroke) nil)))))
  
  (defvar *maximum-chunk-size* 100
    "The maximum amount of objects put into a stroke by a
  
negative.code:                            ((coordinates-intersects-dimensions
                               (stroke-dimensions stroke) x1 y1 x2 y2)
                              (setf (stroke-dirty stroke) t)
                              (setf (stroke-modified stroke) t))))))))
          (with-bounding-rectangle* (vx1 vy1 vx2 vy2) view
            (declare (ignore vy1 vx2 vy2))
            (setf (max-line-width view)
                  (max (max-line-width view)
                       (- x2 vx1))))))))
  
  (defmethod display-drei-view-cursor ((stream extended-output-stream)
                                       (view drei-buffer-view)
  