anchor.diff:      (scan-lists p -1 1)
       (when (syntax-open-paren-char-p (character-at p))
         (scan-lists p 1 0)
  -      (character-offset p -1)
  -      (with-point ((kill-begin p))
  -        (character-offset p -1)
  +      (character-offset p -2)
  +      (with-point ((yank-point p))
           (if (syntax-closed-paren-char-p (character-at p))
  -            (scan-lists kill-begin -1 0)
  -            (backward-word-begin kill-begin 1 t))
  -        (character-offset p 1)
  +            (scan-lists yank-point -1 1)
  +            (backward-word-begin yank-point 1 t))
  +        (move-point (current-point) yank-point)
  +        (skip-whitespace-backward yank-point)
           (kill-ring-new)
  -        (kill-region kill-begin p)
  -        (with-point ((yank-point kill-begin))
  -          (skip-whitespace-backward yank-point)
  -          (delete-backward-whitespace kill-begin)
  -          (character-offset yank-point 1)
  -          (yank-with-space yank-point))))
  +        (with-point ((q p))
  +          (character-offset p 1)
  +          (character-offset q 2)
  +          (kill-region p q))
  +        (move-point (current-point) yank-point)
  +        (yank)))
       (move-point (current-point) origin)))
   
   (loop for (k . f) in '(("(" . paredit-insert-paren)
  
positive.code:   (with-point ((q p))
      (skip-whitespace-backward q)
      (syntax-open-paren-char-p (character-at q))))
  
  (defun yank-with-space (yank-point)
    (unless (backward-open-paren-char-p yank-point)
      (move-point (current-point) yank-point))
    (insert-character yank-point #\space)
    (yank))
  
  (defun delete-backward-whitespace (point-end)
    (with-point ((point-start point-end))
      (skip-whitespace-backward point-start)
      (delete-between-points point-start point-end)))
  
  (define-command paredit-insert-paren () ()
    (let ((p (current-point)))
  
negative.code:     (when (syntax-open-paren-char-p (character-at p))
        (scan-lists p 1 0)
        (character-offset p -1)
        (with-point ((kill-point p))
          (character-offset p 1)
          (skip-whitespace-forward p)
          (when (not (syntax-closed-paren-char-p (character-at p)))
            (with-point ((yank-point p :left-inserting))
              (if (syntax-open-paren-char-p (character-at p))
                  (scan-lists yank-point 1 0)
                  (move-to-word-end yank-point))
              (kill-ring-new)
              (with-point ((q kill-point))
                (character-offset q 1)
                (kill-region kill-point q))
              (move-point (current-point) yank-point)
              (yank)))))
      (move-point (current-point) origin)))
  
  (define-command paredit-barf () ()
  