anchor.diff:      (cond ((= start end)
              (values 0 0 0 0 0))
             (t
  -           (let ((position-newline (position #\newline string :start start)))
  +           (let ((position-newline (position #\newline string :start start :end end)))
                (cond ((not (null position-newline))
                       (multiple-value-bind (width ascent descent left right
                                                   font-ascent font-descent direction
  
positive.code:     (cond ((= start end)
             (values 0 0 0 0 0))
            (t
             (let ((position-newline (position #\newline string :start start)))
               (cond ((not (null position-newline))
                      (multiple-value-bind (width ascent descent left right
                                                  font-ascent font-descent direction
  
negative.code:     (cond ((= start end)
             (values 0 0 0 0))
            (t
             (let ((position-newline (position #\newline string :start start :end end)))
               (cond ((not (null position-newline))
                      (multiple-value-bind (width ascent descent left right
                                                  font-ascent font-descent direction
  