anchor.diff:                  ((overlay-get overlay :display-left)
                    (when (and (point<= view-point start)
                               (point<= end view-end-point))
  -                   (let ((i (count-lines view-point start)))
  -                     (when (< i (length (screen-left-lines screen)))
  +                   (let ((i (calc-row start)))
  +                     (when (< i (screen-height screen))
                          (let ((str (overlay-get overlay :text)))
                            (setf left-width (max left-width (length str)))
                            (setf (aref (screen-left-lines screen) i)
  
positive.code:                                         (length string))
                                      attribute)))))
  
  (defun disp-set-overlay (screen attribute view-point start end)
    (let ((screen-row (count-lines view-point start)))
      (disp-set-line screen attribute screen-row (point-charpos start) nil)
      (with-point ((point start))
        (line-offset point 1)
  
negative.code:                       (point< start view-end-point))
                   (disp-set-line screen
                                  (overlay-attribute overlay)
                                  (calc-row start)
                                  (point-charpos start)
                                  (point-charpos end)))
                  ((and (point<= view-point start)
                        (point< end view-end-point))
                   (disp-set-overlay screen
                                     (overlay-attribute overlay)
                                     (calc-row start)
                                     start
                                     end))
                  ((and (point<= start view-point)
  