anchor.diff:  	count t))
   
   (defgeneric line-number (mark)
  -  (:documentation "Return the line number of the mark.  Lines are numbered from zero."))
  +  (:documentation "Return the line number of the mark.  Lines are
  +numbered from zero."))
   
   (defmethod line-number ((mark mark-mixin))
     (buffer-line-number (buffer mark) (offset mark)))
   
   (defgeneric column-number (mark)
  -  (:documentation "Return the column number of the mark. The column number of a mark is
  - the number of objects between it and the preceding newline, or
  - between it and the beginning of the buffer if the mark is on the
  - first line of the buffer."))
  +  (:documentation "Return the column number of the mark. The
  +column number of a mark is the number of objects between it and
  +the preceding newline, or between it and the beginning of the
  +buffer if the mark is on the first line of the buffer."))
   
   (defmethod column-number ((mark mark-mixin))
     (buffer-column-number (buffer mark) (offset mark)))
  
positive.code: 
  (defgeneric beginning-of-buffer (mark)
    (:documentation "Move the mark to the beginning of the buffer.
    This is equivalent to (setf (offset mark) 0), but returns
    mark."))
  
  ;; Easy way to make sure mark is always returned.
  (defmethod beginning-of-buffer :around (mark)
  
negative.code:   (= mark1 (offset mark2)))
  
  (defgeneric mark> (mark1 mark2)
    (:documentation "Return T if the offset of `mark1' is strictly
  greater than that of `mark2'.  An error is signaled if the two
  marks are not positioned in the same buffer.  It is acceptable to
  pass an offset in place of one of the marks."))
  
  (defmethod mark> ((mark1 mark-mixin) (mark2 mark-mixin))
    (assert (eq (buffer mark1) (buffer mark2)))
  