anchor.diff:  (defun buffer-delete-char (buffer linum pos n)
     (with-buffer-modify buffer
       (let ((line (buffer-get-line buffer linum))
  -          (del-lines (list (make-fatstring "" 0))))
  +          (del-lines (list "")))
         (loop while (or (eq n t) (plusp n)) do
           (cond
             ((and (not (eq n t))
  
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:                ((< linum (marker-linum marker))
                  (decf (marker-linum marker)))))
             (setf (car del-lines)
                   (concatenate 'string
                                (car del-lines)
                                (subseq (line-str line) pos)))
             (unless (line-next line)
               (return))
             (push "" del-lines)
             (unless (eq n t)
               (decf n (1+ (- (fat-length (line-fatstr line)) pos))))
             (decf (buffer-nlines buffer))
  