anchor.diff:           for stroke-dimensions = (stroke-dimensions stroke)
            do (draw-stroke pane view stroke (x1 stroke-dimensions) baseline)
            finally (progn (end-line-cleaning-up pane line orig-x-offset cursor-y
  -                                              line-width old-line-width
  -                                              line-height old-line-height)
  +                                              line-width line-height)
                           (incf (displayed-lines-count view))
                           (return (values pump-state line-height)))))))
   
  
positive.code:           (y2 dimensions) (+ y1 line-height))))
  
  (defun end-line-cleaning-up (stream line line-x1 line-y1
                               line-width old-line-width
                               line-height old-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."
    (declare (ignore old-line-width))
    (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)
  
negative.code: of the stroke."
    (loop with parts = (analyse-stroke-string stroke-string)
       with width = 0
       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))
  