anchor.diff:            (when draw
               (loop for (start end object) in stroke-parts
                  for width across part-widths
  -               do (cond ((and object (eq object #\Tab))
  +               do (cond ((eql object #\Tab)
                            nil)
                           (object
                            (draw-text* stream object (+ cursor-x width)
  
positive.code:                  (incf width w)
                   (vector-push-extend width widths))))
       finally (return (values width parts widths))))
  
  (defun stroke-drawing-fn (stream view stroke cursor-x cursor-y draw)
    "Draw `stroke' to `stream' baseline-adjusted at the position (`cursor-x',
  
negative.code: at (`cursor-x', `cursor-y'), but without actually drawing
  anything. Will use the function specified in the drawing-options
  of `stroke' to carry out the actual calculations."
    (unless (and (= cursor-x (x1 (stroke-dimensions stroke)))
                 (not (stroke-dirty stroke)))
      (invalidate-stroke stroke :modified t))
    (when (stroke-dirty stroke)
      (funcall (drawing-options-function (stroke-drawing-options stroke)) stream view stroke
  