anchor.diff:    ;; この関数はlineでpointを管理するときに色々することになる
     (setf (point-line point) line))
   
  -(defun %move-to-position (point linum line charpos)
  -  (let ((buffer (point-buffer point)))
  -    (assert (line-alive-p line))
  -    (assert (<= 1
  -                linum
  -                (buffer-nlines buffer)))
  -    (assert (<= 0 charpos))
  -    (%change-line point line)
  -    (setf (point-linum point) linum)
  -    (setf (point-charpos point) (min (line-length line) charpos)))
  +(defun %move-to-position (point line charpos)
  +  (assert (line-alive-p line))
  +  (assert (<= 0 charpos))
  +  (%change-line point line)
  +  (setf (point-charpos point) (min (line-length line) charpos))
     point)
   
   (defun move-point (point new-point)
     (%move-to-position point
  -                     (point-linum new-point)
                        (point-line new-point)
                        (point-charpos new-point)))
   
  
positive.code:   (cond
      ((plusp n)
       (do ((n n (1- n))
            (linum (point-linum point) (1+ linum))
            (line (point-line point) (line-next line)))
           ((null line) nil)
         (when (zerop n)
           (%move-to-position point linum line charpos)
           (return point))))
      ((minusp n)
       (do ((n n (1+ n))
            (linum (point-linum point) (1- linum))
            (line (point-line point) (line-prev line)))
           ((null line) nil)
         (when (zerop n)
           (%move-to-position point linum line charpos)
           (return point))))
      (t
       (setf (point-charpos point)
  
negative.code:                            0)
                         (if lastp
                             (point-charpos end)
                             nil))
            :until lastp))
    (values))
  
  (defun map-region (start end function)
  