anchor.diff:                                       reg-end
                                        :attribute cap
                                        nil))))
  -    (let ((move-action (syntax-match-move-action syntax)))
  -      (if move-action
  -          (progn
  -            (line-offset point start)
  -            (or (tm-move-action syntax point move-action)
  -                (line-offset point 0 end)))
  -          (line-offset point 0 end)))))
  +    (cond ((syntax-match-move-action syntax)
  +           (line-offset point start)
  +           (or (tm-move-action syntax point)
  +               (line-offset point 0 end)))
  +          (t
  +           (line-offset point 0 end)))))
   
   (defun tm-apply-result (point result)
     (let ((syntax (tm-result-syntax result)))
  
positive.code:                              (setf end-result result)
                               (return))))))))))
  
  (defun tm-move-action (syntax point move-action)
    (with-point ((start point)
                 (end point))
      (let ((end (funcall move-action end)))
        (when (and end (point< point end))
          (loop :until (same-line-p point end)
                :do
  
negative.code:            (cond ((eq (get-syntax-context line) 'end-move-action)
                    (with-point ((p point))
                      (previous-single-property-change p :attribute)
                      (let ((goal (tm-move-action context p)))
                        (when goal
                          (move-point point goal)))))
                   (t
  