anchor.diff:  of the stroke."
     (loop with parts = (analyse-stroke-string stroke-string)
        with width = 0
  -     with widths = (make-array (length parts) :adjustable t :fill-pointer t)
  +     with widths = (make-array 1 :adjustable t :fill-pointer t)
        with tab-width
        for (start end object) in parts
        do (cond ((and object (eql object #\Tab))
  
positive.code: buffer offset `start-offset', and will be drawn starting
  at (`cursor-x', `cursor-y')."
    (let* ((line (line-information view (displayed-lines-count view)))
           (old-line-height (dimensions-height (line-dimensions line)))
           (old-line-width (dimensions-width (line-dimensions line)))
           (orig-x-offset cursor-x)
           (offset-change (- start-offset (line-start-offset line)))
           (line-spacing (stream-vertical-spacing pane)))
  
negative.code:           (y2 dimensions) (+ y1 line-height))))
  
  (defun end-line-cleaning-up (stream line line-x1 line-y1
                               line-width line-height)
    "End the addition of strokes to `line' for now, and update the
  dimensions of `line'. Update all undisplayed lines to have no
  associated dimensions. Also clear from the bottom of strokes to
  the bottom of the line, and from the end of the line to the end
  of the sheet."
    (end-line line line-x1 line-y1 line-width line-height)
    (with-accessors ((line-x1 x1) (line-y1 y1)
                     (line-x2 x2) (line-y2 y2)) (line-dimensions line)
  