anchor.diff:  
   (defun display-drei-area (drei)
     (with-accessors ((stream editor-pane) (view view)) drei
  +    (clear-output-record drei)
       (replay drei stream)
  +    (with-bounding-rectangle* (x1 y1 x2 y2) drei
  +      (letf (((stream-current-output-record stream) drei))
  +        ;; XXX: This sets the size of the output record.
  +        (draw-rectangle* stream x1 y1 x2 y2 :ink +transparent-ink+)))
       (when (point-cursor drei)
         (with-bounding-rectangle* (x1 y1 x2 y2) (point-cursor drei)
           (when (pane-viewport stream)
  
positive.code:            (descent (text-style-descent style pane))
             (height (+ ascent descent)))
        (multiple-value-bind (x1 y1 x2 y2)
            (call-next-method)
          (values x1 y1
                  (max x2 (+ x1 style-width)
                       (cond ((numberp min-width)
  
negative.code:                             (+ x1 (bounding-rectangle-width (pane-viewport-region pane))))
                             (t 0)))
                  (max y2 (+ y1 height)))))))
  
  (defmethod bounding-rectangle ((drei drei-area))
    (with-bounding-rectangle* (x1 y1 x2 y2) drei
      (make-rectangle* x1 y1 x2 y2)))
  
  ;; XXX: Full redraw for every replay, should probably use the `region'
  ;; parameter to only invalidate some strokes.
  