| Server IP : 217.160.0.212 / Your IP : 216.73.216.141 Web Server : Apache System : Linux www 6.18.51-i1-ampere #1196 SMP Fri Sep 11 20:43:55 CEST 2026 aarch64 User : sws1073854427 ( 1073854427) PHP Version : 8.4.23 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /usr/share/emacs/28.2/lisp/ |
Upload File : |
;ELC
;;; Compiled
;;; in Emacs version 28.2
;;; with all optimizations.
(byte-code "\300\301!\210\300\302!\207" [require map subr-x] 2)
#@243 Type to convert JSON objects to.
Must be one of `alist', `plist', or `hash-table'. Consider let-binding
this around your call to `json-read' instead of `setq'ing it. Ordering
is maintained for `alist' and `plist', but not for `hash-table'.
(defvar json-object-type 'alist (#$ . 149))
#@152 Type to convert JSON arrays to.
Must be one of `vector' or `list'. Consider let-binding this around
your call to `json-read' instead of `setq'ing it.
(defvar json-array-type 'vector (#$ . 442))
#@533 Type to convert JSON keys to.
Must be one of `string', `symbol', `keyword', or nil.
If nil, `json-read' will guess the type based on the value of
`json-object-type':
If `json-object-type' is: nil will be interpreted as:
`hash-table' `string'
`alist' `symbol'
`plist' `keyword'
Note that values other than `string' might behave strangely for
Sufficiently Weird keys. Consider let-binding this around your call to
`json-read' instead of `setq'ing it.
(defvar json-key-type nil (#$ . 644))
#@241 Value to use when reading JSON `false'.
If this has the same value as `json-null', you might not be able to tell
the difference between `false' and `null'. Consider let-binding this
around your call to `json-read' instead of `setq'ing it.
(defvar json-false :json-false (#$ . 1221))
#@241 Value to use when reading JSON `null'.
If this has the same value as `json-false', you might not be able to
tell the difference between `false' and `null'. Consider let-binding
this around your call to `json-read' instead of `setq'ing it.
(defvar json-null nil (#$ . 1512))
#@53 Value to use as an element separator when encoding.
(defvar json-encoding-separator "," (#$ . 1793))
#@173 String used for a single indentation level during encoding.
This value is repeated for each further nested element.
Used only when `json-encoding-pretty-print' is non-nil.
(defvar json-encoding-default-indentation " " (#$ . 1901))
#@107 String used to start indentation during encoding.
Used only when `json-encoding-pretty-print' is non-nil.
(defvar json--print-indentation-prefix "\n" (#$ . 2140))
#@161 Current indentation level during encoding.
Dictates repetitions of `json-encoding-default-indentation'.
Used only when `json-encoding-pretty-print' is non-nil.
(defvar json--print-indentation-depth 0 (#$ . 2310))
#@58 String used to separate key-value pairs during encoding.
(defvar json--print-keyval-separator ":" (#$ . 2529))
#@70 If non-nil, then the output of `json-encode' will be pretty-printed.
(defvar json-encoding-pretty-print nil (#$ . 2646))
#@242 If non-nil, delimiters ] and } will be formatted Lisp-style.
This means they will be placed on the same line as the last
element of the respective array or object, without indentation.
Used only when `json-encoding-pretty-print' is non-nil.
(defvar json-encoding-lisp-style-closings nil (#$ . 2774))
#@267 Sorting predicate for JSON object keys during encoding.
If nil, no sorting is performed. Else, JSON object keys are
ordered by the specified sort predicate during encoding. For
instance, setting this to `string<' will have JSON object keys
ordered alphabetically.
(defvar json-encoding-object-sort-predicate nil (#$ . 3081))
#@193 If non-nil, a function to call before reading a JSON array or object.
It is called by `json-read-array' and `json-read-object',
respectively, with one argument, which is the current JSON key.
(defvar json-pre-element-read-function nil (#$ . 3415))
#@161 If non-nil, a function to call after reading a JSON array or object.
It is called by `json-read-array' and `json-read-object',
respectively, with no arguments.
(defvar json-post-element-read-function nil (#$ . 3670))
(byte-code "\300\301\302\303#\210\304\301\302\305#\207" [defalias json-join string-join nil make-obsolete "28.1"] 4)
#@70 Non-nil if and only if LIST is an alist with simple keys.
(fn LIST)
(defalias 'json-alist-p #[257 "\211\242:\203 \211@@:\204 \211A\211\262\204 \211?\207" [] 3 (#$ . 4010)])
(byte-code "\300\301\302\303#\300\301\304\305#\300\207" [function-put json-alist-p pure t side-effect-free error-free] 5)
#@70 Non-nil if and only if LIST is a plist with keyword keys.
(fn LIST)
(defalias 'json-plist-p #[257 "\300\242!\203 \211A:\203 \211AA\211\262\204 \211?\207" [keywordp] 3 (#$ . 4316)])
(byte-code "\300\301\302\303#\300\301\304\305#\300\207" [function-put json-plist-p pure t side-effect-free error-free] 5)
#@220 Return PLIST in reverse order.
Unlike `nreverse', this keeps the ordering of each property
relative to its value intact. Like `nreverse', this function may
destructively modify PLIST to produce the result.
(fn PLIST)
(defalias 'json--plist-nreverse #[257 "\300AA\211\203 A\241\210\262\211\262\211AA\262A\241\210\202 \266\207" [nil] 5 (#$ . 4632)])
#@128 Eval BODY in a temporary buffer bound to `standard-output'.
Return the resulting buffer contents as a string.
(fn &rest BODY)
(defalias 'json--with-output-to-string '(macro . #[128 "\300\301\302\303BBBD\207" [with-output-to-string with-current-buffer standard-output (setq-local inhibit-modification-hooks t)] 6 (#$ . 5001)]))
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put json--with-output-to-string lisp-indent-function 0 put edebug-form-spec t] 5)
#@244 Eval BODY with the JSON encoding nesting incremented by one step.
This macro sets up appropriate variable bindings for
`json--print-indentation' to produce the correct indentation when
`json-encoding-pretty-print' is non-nil.
(fn &rest BODY)
(defalias 'json--with-indentation '(macro . #[128 "\300\301BB\207" [let ((json--print-indentation-prefix (if json-encoding-pretty-print json--print-indentation-prefix "")) (json--print-keyval-separator (if json-encoding-pretty-print ": " ":")) (json--print-indentation-depth (1+ json--print-indentation-depth)))] 4 (#$ . 5481)]))
(byte-code "\300\301\302\303#\210\304\301\305\306#\300\207" [put json--with-indentation edebug-form-spec t function-put lisp-indent-function 0] 4)
#@114 Insert the current indentation for JSON encoding at point.
Has no effect if `json-encoding-pretty-print' is nil.
(defalias 'json--print-indentation #[0 "\205 c\210\n\304\211W\205 \305c\266\211T\262\202 \266\202\207" [json-encoding-pretty-print json--print-indentation-prefix json--print-indentation-depth json-encoding-default-indentation 0 nil] 4 (#$ . 6209)])
#@163 Advance N characters forward, or 1 character if N is nil.
On reaching the end of the accessible region of the buffer, stop
and signal an error.
(fn &optional N)
(defalias 'json-advance #[256 "\211u\207" [] 2 (#$ . 6587)])
(byte-code "\300\301\302\303#\300\207" [function-put json-advance compiler-macro json-advance--inliner] 4)
#@33
(fn INLINE--FORM &optional N)
(defalias 'json-advance--inliner #[513 "\3002 \301D0\207" [inline--just-use forward-char] 4 (#$ . 6923)])
#@93 Return the character at point.
At the end of the accessible region of the buffer, return 0.
(defalias 'json-peek #[0 "g\207" [] 1 (#$ . 7069)])
(byte-code "\300\301\302\303#\300\207" [function-put json-peek compiler-macro json-peek--inliner] 4)
#@21
(fn INLINE--FORM)
(defalias 'json-peek--inliner #[257 "\3002 \301C0\207" [inline--just-use following-char] 2 (#$ . 7320)])
#@114 Advance past the character at point, returning it.
Signal `json-end-of-file' if called at the end of the buffer.
(defalias 'json-pop #[0 "\300f\206 \301\302\300\"\300u\210\207" [nil signal json-end-of-file] 3 (#$ . 7453)])
(byte-code "\300\301\302\303#\300\207" [function-put json-pop compiler-macro json-pop--inliner] 4)
#@21
(fn INLINE--FORM)
(defalias 'json-pop--inliner #[257 "\3002 \301\302\303C\304\305\306D\307EE\310CE0\207" [inline--just-use prog1 or char-after signal quote json-end-of-file nil json-advance] 7 (#$ . 7782)])
#@36 Skip past the whitespace at point.
(defalias 'json-skip-whitespace #[0 "\300\301w\207" [" \n
" nil] 2 (#$ . 7998)])
(byte-code "\300\301\302\303#\300\207" [function-put json-skip-whitespace compiler-macro json-skip-whitespace--inliner] 4)
#@21
(fn INLINE--FORM)
(defalias 'json-skip-whitespace--inliner #[257 "\3002 \301\302D0\207" [inline--just-use skip-chars-forward " \n
"] 3 (#$ . 8244)])
(byte-code "\300\301\302\"\210\300\303\304\301#\210\300\305\306\301#\210\300\307\310\301#\210\300\311\312\301#\210\300\313\314\301#\210\300\315\316\301#\210\300\317\320\301#\210\300\321\322\301#\210\300\323\324\325#\207" [define-error json-error "Unknown JSON error" json-readtable-error "JSON readtable error" json-unknown-keyword "Unrecognized keyword" json-number-format "Invalid number format" json-string-escape "Bad Unicode escape" json-string-format "Bad string format" json-key-format "Bad JSON object key" json-object-format "Bad JSON object" json-array-format "Bad JSON array" json-end-of-file "End of file while parsing JSON" (end-of-file json-error)] 4)
#@108 Keeps track of the path during recursive calls to `json-read'.
Used internally by `json-path-to-position'.
(defvar json--path nil (#$ . 9070))
#@96 Record the KEY to the current JSON path.
Used internally by `json-path-to-position'.
(fn KEY)
(defalias 'json--record-path #[257 "`BB\211\207" [json--path] 3 (#$ . 9219)])
#@117 Check if the last parsed JSON structure passed POSITION.
Used internally by `json-path-to-position'.
(fn POSITION)
(defalias 'json--check-position #[257 "@@\301`T#\203 \302\303\304\305\306\"\237\307\310`\257\"\210\210\211A\242\207" [json--path < throw :json-path :path mapcar cdr :match-start :match-end] 10 (#$ . 9402)])
#@721 Return the path to the JSON element at POSITION.
When STRING is provided, return the path to the position in the
string, else to the position in the current buffer.
The return value is a property list with the following
properties:
:path -- A list of strings and numbers forming the path to
the JSON element at the given position. Strings
denote object names, while numbers denote array
indices.
:match-start -- Position where the matched JSON element begins.
:match-end -- Position where the matched JSON element ends.
This can, for instance, be useful to determine the path to a JSON
element in a deeply nested structure.
(fn POSITION &optional STRING)
(defalias 'json-path-to-position #[513 "\212\211\204 eb\210\303\304\305\306\"\3072\"