anchor.diff:                                       'cursor
                                        (count-lines view-point point)
                                        charpos
  -                                     (1+ charpos)))))
  +                                     (1+ charpos)
  +                                     :transparency nil))))
   
   (defun reset-screen-lines (screen view-point)
     (with-point ((point view-point))
  
positive.code:                            (make-string (- end-charpos (length string))
                                          :initial-element #\space))))
        (setf (cdr (aref (screen-lines screen) screen-row))
              (lem-base/line::put-elements attributes
                                           start-charpos
                                           (or end-charpos (length string))
                                           attribute)))))
  
  (defun draw-attribute-to-screen-region (screen attribute screen-row start end)
    (flet ((draw-line (row start-charpos &optional end-charpos)
  
negative.code: 
  
  (defun overlay-attributes (under-attributes over-start over-end over-attribute)
    ;; under-attributes := ((start-charpos end-charpos attribute) ...)
    (let* ((over-attribute (ensure-attribute over-attribute))
           (under-part-attributes (lem-base/line::subseq-elements under-attributes
                                                                  over-start
                                                                  over-end))
           (merged-attributes (lem-base/line::remove-elements under-attributes
                                                              over-start
                                                              over-end)))
      (flet ((add-element (start end attribute)
               (when (< start end)
                 (push (list start end (ensure-attribute attribute))
                       merged-attributes))))
        (if (null under-part-attributes)
            (add-element over-start over-end over-attribute)
            (loop :for prev-under := 0 :then under-end-offset
                  :for (under-start-offset under-end-offset under-attribute)
                  :in under-part-attributes
                  :do (add-element (+ over-start prev-under)
                                   (+ over-start under-start-offset)
                                   over-attribute)
                      (add-element (+ over-start under-start-offset)
                                   (+ over-start under-end-offset)
                                   (alexandria:if-let (under-attribute
                                                       (ensure-attribute under-attribute nil))
                                     (merge-attribute under-attribute
                                                      over-attribute)
                                     over-attribute))
                  :finally (add-element (+ over-start under-end-offset)
                                        over-end
                                        over-attribute))))
      (lem-base/line::normalization-elements merged-attributes)))
  
  (defun draw-attribute-to-screen-line (screen attribute screen-row start-charpos end-charpos
                                        &key (transparency t))
    (when (and (<= 0 screen-row)
               (< screen-row (screen-height screen))
               (not (null (aref (screen-lines screen) screen-row)))
  