Function: json-readtable-dispatch

json-readtable-dispatch is a macro defined in json.el.gz.

Signature

(json-readtable-dispatch CHAR)

Documentation

Dispatch reader function for CHAR at point.

If CHAR is nil, signal json-end-of-file.

Source Code

;; Defined in /usr/src/emacs/lisp/json.el.gz
;;;; Reader

(defmacro json-readtable-dispatch (char)
  "Dispatch reader function for CHAR at point.
If CHAR is nil, signal `json-end-of-file'."
  (declare (debug t))
  (macroexp-let2 nil char char
    `(cond ,@(map-apply
              (lambda (key expr)
                `((eq ,char ,key) ,expr))
              `((?\" ,#'json-read-string)
                (?\[ ,#'json-read-array)
                (?\{ ,#'json-read-object)
                (?n  ,#'json-read-keyword "null")
                (?f  ,#'json-read-keyword "false")
                (?t  ,#'json-read-keyword "true")
                ,@(mapcar (lambda (c) (list c #'json-read-number))
                          '(?- ?0 ?1 ?2 ?3 ?4 ?5 ?6 ?7 ?8 ?9))))
           (,char (signal 'json-readtable-error (list ,char)))
           (t     (signal 'json-end-of-file ())))))