anchor.diff:  	(max (offset (high-mark buffer)) (+ offset n)))
     (setf (slot-value buffer 'modified) t))
   
  -(defgeneric clear-modify (buffer))
  +(defgeneric clear-modify (buffer)
  +  (:documentation "Set the high-mark to the beginning of the
  +beginning of the buffer and the low-mark to the end of the
  +buffer, and clear the modification flag. This means that
  +`modified-p' will return NIL for this buffer until the next time
  +it is modified."))
   
   (defmethod clear-modify ((buffer standard-buffer))
     (beginning-of-buffer (high-mark buffer))
  
positive.code: 	count (eql (buffer-object buffer offset) #\Newline)))
  
  (defgeneric mark< (mark1 mark2)
    (:documentation "Return t if the offset of mark1 is strictly less 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)))
  
negative.code: 	count t))
  
  (defgeneric line-number (mark)
    (: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."))
  
  (defmethod column-number ((mark mark-mixin))
    (buffer-column-number (buffer mark) (offset mark)))
  