anchor.diff:    (with-point ((p p))
       (when (or skip (syntax-open-paren-char-p (character-at p)))
         (scan-lists p 1 0)
  -      (character-offset p *forward-matching-paren-offset*))))
  +      (character-offset p *cursor-offset*))))
   
   (defun backward-matching-paren (p)
     (when (syntax-closed-paren-char-p (character-at p))
  
positive.code:              (when (symbolp command)
                 (with-point ((start (current-point)))
                   (let ((*vi-yank-recursive* t)
                         (*forward-matching-paren-offset* 0))
                     (catch tag
                       (call-command command n)
                       (when (point/= start (current-point))
  
negative.code:              (when (symbolp command)
                 (with-point ((start (current-point)))
                   (let ((*vi-delete-recursive* t)
                         (*cursor-offset* 0))
                     (catch tag
                       (call-command command nil)
                       (when (point/= start (current-point))
  