anchor.diff:                (buffer (point-buffer point))
                 (line (point-line point))
                 (offset-line 0))
  -          (declare (special buffer line))
  +          (declare (special buffer))
             (loop :while (plusp n)
                   :for eolp := (> n (- (line-length line) charpos))
                   :do (cond
                         ((not eolp)
  -                       (%delete-line-between/point point charpos (+ charpos n))
  +                       (%delete-line-between/point point charpos (+ charpos n) line)
                          (shift-markers point offset-line (- n))
                          (return))
                         ((null (line-next line))
  -                       (%delete-line-eol/point point charpos)
  +                       (%delete-line-eol/point point charpos line)
                          (shift-markers point offset-line (- charpos (line-length line)))
                          (return))
                         (t
  -                       (%delete-line/point point charpos)))
  +                       (%delete-line/point point charpos line)))
                       (decf offset-line)
                   :finally (shift-markers point offset-line 0)))))))
   
  
positive.code:                            (setf start (1+ pos))))))))
      string))
  
  (defun %delete-line-between/point (point start end)
    (declare (special killring-stream line))
    (line-property-delete-pos (point-line point)
                              (point-charpos point)
                              (- end start))
  
negative.code:                      (subseq (line-str line) 0 start)
                       (subseq (line-str line) end))))
  
  (defun %delete-line-eol/point (point start line)
    (declare (special killring-stream))
    (line-property-delete-line (point-line point) (point-charpos point))
    (write-string (line-str line) killring-stream :start start)
    (setf (line-str line)
          (subseq (line-str line) 0 start)))
  
  (defun %delete-line/point (point start line)
    (declare (special killring-stream buffer n))
    (line-property-delete-line (point-line point) (point-charpos point))
    (line-merge (point-line point) (line-next (point-line point)) start)
    (write-string (line-str line) killring-stream :start start)
  