anchor.diff:                   (incf width w)
                    (vector-push-extend width widths))))
        finally (return (values width parts widths))))
  +
  +(defconstant +roman-face-style+ (make-text-style nil :roman nil)
  +  "A text style specifying a roman face, but with unspecified
  +family and size.")
   
   (defun stroke-drawing-fn (stream view stroke cursor-x cursor-y draw)
     "Draw `stroke' to `stream' baseline-adjusted at the position (`cursor-x',
  
positive.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 (= cursor-x (x1 (stroke-dimensions stroke)))
      (invalidate-stroke stroke :modified t))
    (when (stroke-dirty stroke)
      (funcall (drawing-options-function (stroke-drawing-options stroke)) stream view stroke
  
negative.code:      with widths = (make-array 1 :adjustable t :fill-pointer t)
       with tab-width
       for (start end object) in parts
       do (cond ((eql object #\Tab)
                 (incf width 
                       (- (or tab-width
                              (setf tab-width (tab-width stream (stream-default-view stream))))
  