anchor.diff:                            (bounding-rectangle-height stream))))
       (with-slots (baseline vspace) stream
         (multiple-value-bind (cx cy) (stream-cursor-position stream)
  -        (setf (%stream-char-height stream) (max (%stream-char-height stream) (text-style-height (medium-text-style medium) medium)))
  -        (setf cx 0
  -              cy (+ cy (%stream-char-height stream) vspace))
  +        (maxf (%stream-char-height stream) (text-style-height (medium-text-style medium) medium))
  +        (setf cx 0)
  +        (incf cy (+ (%stream-char-height stream) vspace))
           ;; VIEW-HEIGHT being NIL means that stream doesn't have a
           ;; bounding-rectangle and we never do break a page.
           (when (and view-height (> cy view-height))
  
positive.code:          (new-height   (text-style-height text-style medium))
           (margin       (stream-text-margin stream))
           (end          (or end (length string))))
      (flet ((find-split (delta)  ;; FIXME: This can be done smarter.
               (loop for i from (1+ start) upto end
                     as sub-width = (stream-string-width stream string
                                                         :start start :end i
                                                         :text-style text-style)
                     while (<= sub-width delta)
                     finally (return (1- i)))))
        (when (eql end 0)
          (return-from seos-write-string))
        (with-slots (baseline vspace) stream
  
negative.code:             (when (>= (+ cx width) margin)
                (ecase (stream-end-of-line-action stream)
                  (:wrap
                   (setq split (find-split (- margin cx))))
                  (:scroll
                   (multiple-value-bind (tx ty)
                       (bounding-rectangle-position (sheet-region stream))
  