anchor.diff:      ((:symbol :expr-prefix :escape)
        (skip-symbol-backward))
       ((:closed-paren)
  -     (skip-list-backward 0)
  -     (loop while (eq :expr-prefix (sexp-get-syntax-type nil))
  -       do (unless (prev-char 1)
  -            (return))
  -       finally (return t)))
  +     (when (skip-list-backward 0)
  +       (loop while (eq :expr-prefix (sexp-get-syntax-type nil))
  +         do (unless (prev-char 1)
  +              (return))
  +         finally (return t))))
       ((:open-paren)
        nil)
       ((:string-quote)
  
positive.code:     (unless (if dir
                  (skip-space-forward)
                  (skip-space-backward))
        (return))
      (let ((type (sexp-get-syntax-type dir)))
        (case type
          ((:open-paren :closed-paren)
  
negative.code:          (if (plusp n)
               #'skip-sexp-forward
               #'skip-sexp-backward)))
      (let ((point (point)))
        (dotimes (_ (abs n) t)
          (unless (and (funcall skip-space)
                       (funcall skip-sexp))
            (point-set point)
            (minibuf-print "scan error")
            (return nil))))))
  
  (define-key *global-keymap* (kbd "M-C-b") 'backward-sexp)
  (define-command backward-sexp (&optional (n 1)) ("p")
  