anchor.diff:  
   (defclass parse-tree ()
     ((start-mark :initform nil :initarg :start-mark :reader start-mark)
  -   (size :initform nil :initarg :size)))
  -
  -(defgeneric start-offset (parse-tree))
  +   (size :initform nil :initarg :size))
  +  (:documentation "The base class for all parse trees."))
  +
  +(defgeneric start-offset (parse-tree)
  +  (:documentation "The offset in the buffer of the first
  +character of a parse tree."))
   
   (defmethod start-offset ((tree parse-tree))
     (let ((mark (start-mark tree)))
  
positive.code:   (:documentation "This condition is signaled whenever an attempt is
  made to execute a by-experssion motion command and no expression is available." ))
  
  (defgeneric update-syntax (buffer syntax))
  
  (defgeneric update-syntax-for-display (buffer syntax from to))
  
  (defgeneric syntax-line-indentation (mark tab-width syntax)
    (:documentation "Return the correct indentation for the line containing
  
negative.code: 	 (setf start-mark (clone-mark offset))
  	 (setf (offset start-mark) (offset offset)))))
  
  (defgeneric end-offset (parse-tree)
    (:documentation "The offset in the buffer of the character
  following the last one of a parse tree."))
  
  (defmethod end-offset ((tree parse-tree))
    (with-slots (start-mark size) tree
  