anchor.diff:                 ((< linum (marker-linum marker))
                   (decf (marker-linum marker)))))
              (setf (car del-lines)
  -                 (fat-concat (car del-lines)
  -                             (fat-substring (line-fatstr line) pos)))
  +                 (concatenate 'string
  +                              (car del-lines)
  +                              (subseq (line-str line) pos)))
              (unless (line-next line)
                (return))
  -           (push (make-fatstring "" 0) del-lines)
  +           (push "" del-lines)
              (unless (eq n t)
                (decf n (1+ (- (fat-length (line-fatstr line)) pos))))
              (decf (buffer-nlines buffer))
  
positive.code:                          pos
                           (- (marker-charpos marker) n)))))
             (setf (car del-lines)
                   (fat-concat (car del-lines)
                               (fat-substring (line-fatstr line) pos (+ pos n))))
             (setf (line-fatstr line)
                   (fat-concat (fat-substring (line-fatstr line) 0 pos)
                               (fat-substring (line-fatstr line) (+ pos n))))
  
negative.code:                      (buffer-tail-line buffer))
               (setf (buffer-tail-line buffer) line))
             (line-free (line-next line)))))
        (setq del-lines (nreverse del-lines))
        (with-push-undo (buffer)
          (let ((linum linum)
                (pos pos))
  