anchor.diff:            current-column
             point-to-offset))
   
  -(defun invoke-save-excursion (function)
  -  (let ((point (copy-point (current-point) :right-inserting))
  -        (mark (when (buffer-mark-p (current-buffer))
  -                (copy-point (buffer-mark (current-buffer))
  -                            :right-inserting))))
  -    (unwind-protect (funcall function)
  -      (setf (current-buffer) (point-buffer point))
  -      (move-point (current-point) point)
  -      (delete-point point)
  -      (when mark
  -        (set-current-mark mark)
  -        (delete-point mark)))))
  -
   (defun buffers-start (buffer)
     (buffer-start-point buffer))
   
  
positive.code:               (point-buffer point2)))
    (eq (point-line point1) (point-line point2)))
  
  (defun line-start (point)
    (setf (point-charpos point) 0)
    point)
  
  (defun line-end (point)
    (setf (point-charpos point)
          (line-length (point-line point)))
    point)
  
  (defun buffer-start (point)
    (move-point point (buffers-start (point-buffer point))))
  
  (defun buffer-end (point)
    (move-point point (buffers-end (point-buffer point))))
  
  (defun %move-to-position (point line charpos)
    (assert (line-alive-p line))
  
negative.code: (defun current-column ()
    (point-column (current-point)))
  
  (defun invoke-save-excursion (function)
    (let ((point (copy-point (current-point) :right-inserting))
          (mark (when (buffer-mark-p (current-buffer))
                  (copy-point (buffer-mark (current-buffer))
                              :right-inserting))))
      (unwind-protect (funcall function)
        (setf (current-buffer) (point-buffer point))
        (move-point (current-point) point)
        (delete-point point)
        (when mark
          (set-current-mark mark)
          (delete-point mark)))))
  