anchor.diff:      (case c
         (#\" nil)                         ; End of string
         (#\\ (let ((c (read-char stream)))
  -             (let ((unescaped (cdr (assoc c +json-lisp-escaped-chars+))))
  -               (typecase unescaped
  -                 (character unescaped)
  -                 (cons
  -                  (destructuring-bind (len . rdx) unescaped
  -                    (let ((code
  -                           (let ((repr (make-string len)))
  -                             (dotimes (i len)
  -                               (setf (aref repr i) (read-char stream)))
  -                             (handler-case (parse-integer repr :radix rdx)
  -                               (parse-error ()
  -                                 (json-syntax-error stream esc-error-fmt
  -                                                    (format nil "\\~C" c)
  -                                                    repr))))))
  -                      (restart-case
  -                          (or (and (< code char-code-limit)
  -                                   (code-char code))
  -                              (error 'no-char-for-code :code code))
  -                        (substitute-char (char)
  -                          :report "Substitute another char."
  -                          :interactive
  -                          (lambda ()
  -                            (format *query-io* "Char: ")
  -                            (list (read-char *query-io*)))
  -                          char)
  -                        (pass-code ()
  -                          :report "Pass the code to char handler."
  -                          code)))))
  -                 (t (if *use-strict-json-rules*
  -                        (json-syntax-error stream esc-error-fmt "\\" c)
  -                        c))))))
  +             (escaped-char-dispatch c
  +               :code-handler
  +                 ((len rdx)
  +                  (let ((code
  +                         (let ((repr (make-string len)))
  +                           (dotimes (i len)
  +                             (setf (aref repr i) (read-char stream)))
  +                           (handler-case (parse-integer repr :radix rdx)
  +                             (parse-error ()
  +                               (json-syntax-error stream esc-error-fmt
  +                                                  (format nil "\\~C" c)
  +                                                  repr))))))
  +                    (restart-case
  +                        (or (and (< code char-code-limit) (code-char code))
  +                            (error 'no-char-for-code :code code))
  +                      (substitute-char (char)
  +                        :report "Substitute another char."
  +                        :interactive
  +                        (lambda ()
  +                          (format *query-io* "Char: ")
  +                          (list (read-char *query-io*)))
  +                        char)
  +                      (pass-code ()
  +                        :report "Pass the code to char handler."
  +                        code))))
  +                 :default-handler
  +                   (if *use-strict-json-rules*
  +                       (json-syntax-error stream esc-error-fmt "\\" c)
  +                       c))))
         (t c))))
   
   
  
positive.code:    :object-key #'accumulator-add-key-or-set-prototype
     :object-value #'accumulator-add-value-or-set-prototype
     :end-of-object #'accumulator-get-object
     :beginning-of-string #'init-accumulator
     :string-char #'accumulator-add
     :end-of-string #'accumulator-get-string
     :aggregate-scope (union *aggregate-scope-variables*
                             '(*accumulator* *accumulator-last*))
     :object-scope (union *object-scope-variables*
  
negative.code:    :object-key #'accumulator-add-key
     :object-value #'accumulator-add-value
     :end-of-object #'accumulator-get
     :beginning-of-string #'init-string-stream-accumulator
     :string-char #'string-stream-accumulator-add
     :end-of-string #'string-stream-accumulator-get
     :aggregate-scope (union *aggregate-scope-variables*
                             '(*accumulator* *accumulator-last*))
     :internal-decoder #'decode-json))
  