anchor.diff:      (:name "paredit"
        :keymap *paredit-mode-keymap*))
   
  -(defun move-to-forward-open-paren (p)
  -  (loop while (and (not (syntax-open-paren-char-p (character-at p)))
  -                   (/= (point-charpos p) 0))
  -        do (character-offset p -1)))
  +(defun move-to-backward-open-paren (p)
  +  (let ((count 0))
  +    (loop while (and (not (and (syntax-open-paren-char-p (character-at p))
  +                               (= count 0)))
  +                     (/= (point-charpos p) 0))
  +          do (let ((ch (character-at p)))
  +               (when (syntax-open-paren-char-p ch)
  +                 (decf count))
  +               (when (syntax-closed-paren-char-p ch)
  +                 (incf count))
  +               (character-offset p -1)))))
   
   (defun move-to-word-end (q)
     (loop while (not (syntax-space-char-p (character-at q)))
  
positive.code: (define-command paredit-barf () ()
    (with-point ((origin (current-point))
                 (p (current-point)))
      (move-to-forward-open-paren p)
      (when (syntax-open-paren-char-p (character-at p))
        (move-to-closed-paren p)
          (character-offset p -1)
  
negative.code: (define-command paredit-slurp () ()
    (with-point ((origin (current-point))
                 (p (current-point)))
      (move-to-backward-open-paren p)
      (when (syntax-open-paren-char-p (character-at p))
        (move-to-closed-paren p)
        (character-offset p -1)
  