;ELC
;;; Compiled
;;; in Emacs version 26.1
;;; with all optimizations.
;;; This file uses dynamic docstrings, first added in Emacs 19.29.
;;; This file does not contain utf-8 non-ASCII characters,
;;; and so can be loaded in Emacs versions earlier than 23.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
#@1333 Tell the byte-compiler that function FN is defined, in FILE.
The FILE argument is not used by the byte-compiler, but by the
`check-declare' package, which checks that FILE contains a
definition for FN.
FILE can be either a Lisp file (in which case the ".el"
extension is optional), or a C file. C files are expanded
relative to the Emacs "src/" directory. Lisp files are
searched for using `locate-library', and if that fails they are
expanded relative to the location of the file containing the
declaration. A FILE with an "ext:" prefix is an external file.
`check-declare' will check such files if they are found, and skip
them without error if they are not.
Optional ARGLIST specifies FN's arguments, or is t to not specify
FN's arguments. An omitted ARGLIST defaults to t, not nil: a nil
ARGLIST specifies an empty argument list, and an explicit t
ARGLIST is a placeholder that allows supplying a later arg.
Optional FILEONLY non-nil means that `check-declare' will check
only that FILE exists, not that it defines FN. This is intended
for function definitions that `check-declare' does not recognize,
e.g., `defstruct'.
Note that for the purposes of `check-declare', this statement
must be the first non-whitespace on a line.
For more information, see Info node `(elisp)Declaring Functions'.
(fn FN FILE &rest ARGS)
(defalias 'declare-function '(macro . #[642 "\300\207" [nil] 4 (#$ . 410)]))
(byte-code "\300\301\302\303#\210\304\305\306\"\210\304\307\310\"\207" [set-advertised-calling-convention declare-function (fn file &optional arglist fileonly) nil defalias not null sxhash sxhash-equal] 4)
#@93 Evaluate FORM, expecting it not to return.
If FORM does return, signal an error.
(fn FORM)
(defalias 'noreturn '(macro . #[257 "\300\301BB\207" [prog1 ((error "Form marked with `noreturn' did return"))] 4 (#$ . 2031)]))
(put 'noreturn 'edebug-form-spec t)
#@193 Evaluate FORM, expecting a constant return value.
This is the global do-nothing version. There is also `testcover-1value'
that complains if FORM ever does return differing values.
(fn FORM)
(defalias '1value '(macro . #[257 "\207" [] 2 (#$ . 2296)]))
(put '1value 'edebug-form-spec t)
#@378 Set the `edebug-form-spec' property of SYMBOL according to SPEC.
Both SYMBOL and SPEC are unevaluated. The SPEC can be:
0 (instrument no arguments); t (instrument all arguments);
a symbol (naming a function with an Edebug specification); or a list.
The elements of the list describe the argument types; see
Info node `(elisp)Specification List' for details.
(fn SYMBOL SPEC)
(defalias 'def-edebug-spec '(macro . #[514 "\300\301D\302\301DF\207" [put quote 'edebug-form-spec] 7 (#$ . 2590)]))
#@748 Return a lambda expression.
A call of the form (lambda ARGS DOCSTRING INTERACTIVE BODY) is
self-quoting; the result of evaluating the lambda expression is the
expression itself. The lambda expression may then be treated as a
function, i.e., stored as the function value of a symbol, passed to
`funcall' or `mapcar', etc.
ARGS should take the same form as an argument list for a `defun'.
DOCSTRING is an optional documentation string.
If present, it should describe how to call the function.
But documentation strings are usually not useful in nameless functions.
INTERACTIVE should be a call to the function `interactive', which see.
It may also be omitted.
BODY should be a list of Lisp expressions.
(fn ARGS [DOCSTRING] [INTERACTIVE] BODY)
(defalias 'lambda '(macro . #[128 "\300\301BD\207" [function lambda] 4 (#$ . 3092)]))
(byte-code "\300\301\302\303#\300\301\304\305#\306\301\307\310#\207" [function-put lambda doc-string-elt 2 lisp-indent-function defun put edebug-form-spec (&define lambda-list lambda-doc [&optional ("interactive" interactive)] def-body)] 6)
#@64 Set variable VAR to value VAL in current buffer.
(fn VAR VAL)
(defalias 'setq-local '(macro . #[514 "\300\301\302DDE\207" [set make-local-variable quote] 6 (#$ . 4173)]))
(put 'setq-local 'edebug-form-spec '(symbolp form))
#@203 Define VAR as a buffer-local variable with default value VAL.
Like `defvar' but additionally marks the variable as being automatically
buffer-local wherever it is set.
(fn VAR VAL &optional DOCSTRING)
(defalias 'defvar-local '(macro . #[770 "\300\301F\302\303DDE\207" [progn defvar make-variable-buffer-local quote] 8 (#$ . 4406)]))
(byte-code "\300\301\302\303#\210\304\301\305\306#\300\207" [put defvar-local edebug-form-spec defvar function-put doc-string-elt 3] 4)
#@206 Add NEWELT to the list stored in the generalized variable PLACE.
This is morally equivalent to (setf PLACE (cons NEWELT PLACE)),
except that PLACE is only evaluated once (after NEWELT).
(fn NEWELT PLACE)
(defalias 'push '(macro . #[514 "\2119\203
\300\301EE\207\302\303!\210\304!\203 \211\202 \305\306!\307\310\311\312\313\314!\315\"\316\317%\"=\2039 \211\202@ \320DC\"\207" [setq cons require macroexp macroexp-copyable-p make-symbol "v" gv-get make-byte-code 514 "\211\301\300E!\207" vconcat vector [cons] 6 "\n\n(fn GETTER SETTER)" macroexp-let*] 12 (#$ . 4888)]))
(put 'push 'edebug-form-spec '(form gv-place))
#@223 Return the first element of PLACE's value, and remove it from the list.
PLACE must be a generalized variable whose value is a list.
If the value is nil, `pop' returns nil but does not actually
change the list.
(fn PLACE)
(defalias 'pop '(macro . #[257 "\3009\203 \301\302\303DEE\202 \304\305\"D\207" [car-safe prog1 setq cdr gv-get #[514 "\300!\203 \211\202 \301\302!\303\304D!E=\203 \211\202' \305DC\"\207" [macroexp-copyable-p make-symbol "x" prog1 cdr macroexp-let*] 9 "\n\n(fn GETTER SETTER)"]] 8 (#$ . 5528)]))
(put 'pop 'edebug-form-spec '(gv-place))
#@181 If COND yields non-nil, do BODY, else return nil.
When COND yields non-nil, eval BODY forms sequentially and return
value of last one, or nil if there are none.
(fn COND BODY...)
(defalias 'when '(macro . #[385 "\300\301BE\207" [if progn] 6 (#$ . 6114)]))
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put when lisp-indent-function 1 put edebug-form-spec t] 5)
#@173 If COND yields nil, do BODY, else return nil.
When COND yields nil, eval BODY forms sequentially and return
value of last one, or nil if there are none.
(fn COND BODY...)
(defalias 'unless '(macro . #[385 "\300\301BBB\207" [if nil] 6 (#$ . 6501)]))
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put unless lisp-indent-function 1 put edebug-form-spec t] 5)
#@169 Loop over a list.
Evaluate BODY with VAR bound to each car from LIST, in turn.
Then evaluate RESULT to get return value, default nil.
(fn (VAR LIST [RESULT]) BODY...)
(defalias 'dolist '(macro . #[385 ":\204\f \301\302\303D\"\210\304\305G\306#\204 \301\307\310GD\"\210\311\203N \312A@DC\313\312@\314DDC\315\316 \317DEC\"BBEAABBB\202\207 \312A@D@D\313\316@\314DE\315\316\317\nDEC\"BBBAA\205\204 \316@\320BBAABBBB\207" [lexical-binding signal wrong-type-argument consp <= 2 3 wrong-number-of-arguments (2 . 3) --dolist-tail-- let while car append setq cdr (nil)] 15 (#$ . 6883)]))
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put dolist lisp-indent-function 1 put edebug-form-spec ((symbolp form &optional form) body)] 5)
#@242 Loop a certain number of times.
Evaluate BODY with VAR bound to successive integers running from 0,
inclusive, to COUNT, exclusive. Then evaluate RESULT to get
the return value (nil if RESULT is omitted).
(fn (VAR COUNT [RESULT]) BODY...)
(defalias 'dotimes '(macro . #[385 "\301\302A@\203J \303\304DDD\305\306E\304\n@DC\nBB\307\310DEFAA\205B \304 @DC\nAABBCBBB\262\202t \304D@DD\305\306@E\311\307@\310
@DEC\"BBAABBB\207" [lexical-binding --dotimes-limit-- 0 --dotimes-counter-- let while < setq 1+ append] 15 (#$ . 7665)]))
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put dotimes lisp-indent-function 1 put edebug-form-spec dolist] 5)
#@477 Do not evaluate any arguments, and return nil.
If a `declare' form appears as the first form in the body of a
`defun' or `defmacro' form, SPECS specifies various additional
information about the function or macro; these go into effect
during the evaluation of the `defun' or `defmacro' form.
The possible values of SPECS are specified by
`defun-declarations-alist' and `macro-declarations-alist'.
For more information, see info node `(elisp)Declare Form'.
(fn &rest SPECS)
(defalias 'declare '(macro . #[128 "\300\207" [nil] 2 (#$ . 8367)]))
#@200 Execute BODY; if an error occurs, return nil.
Otherwise, return result of last form in BODY.
See also `with-demoted-errors' that does something similar
without silencing all errors.
(fn &rest BODY)
(defalias 'ignore-errors '(macro . #[128 "\300\301\302B\303BBB\207" [condition-case nil progn ((error nil))] 5 (#$ . 8919)]))
(byte-code "\300\301\302\303#\210\304\301\305\306#\300\207" [put ignore-errors edebug-form-spec t function-put lisp-indent-function 0] 4)
#@75 Number used to construct the name of the next symbol created by `gensym'.
(defvar gensym-counter 0 (#$ . 9389))
#@155 Return a new uninterned symbol.
The name is made by appending `gensym-counter' to PREFIX.
PREFIX is a string, and defaults to "g".
(fn &optional PREFIX)
(defalias 'gensym #[256 "\211T\301\302\303\206\f \304#!\207" [gensym-counter make-symbol format "%s%d" "g"] 7 (#$ . 9508)])
#@112 Do nothing and return nil.
This function accepts any number of arguments, but ignores them.
(fn &rest IGNORE)
(defalias 'ignore #[128 "\300\207" [nil] 2 (#$ . 9797) nil])
#@374 Signal an error, making a message by passing args to `format-message'.
In Emacs, the convention is that error messages start with a capital
letter but *do not* end with a period. Please follow this convention
for the sake of consistency.
Note: (error "%s" VALUE) makes the message VALUE without
interpreting format characters like `%', `\=`', and `\=''.
(fn &rest ARGS)
(defalias 'error #[128 "\300\301\302\303\"C\"\207" [signal error apply format-message] 6 (#$ . 9976)])
(set-advertised-calling-convention 'error '(string &rest args) "23.1")
#@572 Signal a pilot error, making a message by passing args to `format-message'.
In Emacs, the convention is that error messages start with a capital
letter but *do not* end with a period. Please follow this convention
for the sake of consistency.
This is just like `error' except that `user-error's are expected to be the
result of an incorrect manipulation on the part of the user, rather than the
result of an actual problem.
Note: (user-error "%s" VALUE) makes the message VALUE without
interpreting format characters like `%', `\=`', and `\=''.
(fn FORMAT &rest ARGS)
(defalias 'user-error #[385 "\300\301\302\303#C\"\207" [signal user-error apply format-message] 8 (#$ . 10531)])
#@294 Define NAME as a new error signal.
MESSAGE is a string that will be output to the echo area if such an error
is signaled without being caught by a `condition-case'.
PARENT is either a signal or a list of signals from which it inherits.
Defaults to `error'.
(fn NAME MESSAGE &optional PARENT)
(defalias 'define-error #[770 "\211\204 \300\262\211:\203 \301\302\303\304\"\"\202 \211\305NB\306\305\307\310B!!#\210\2052 \306\311#\207" [error apply append mapcar #[257 "\211\300N\206 \301\302\"B\207" [error-conditions error "Unknown signal `%s'"] 5 "\n\n(fn PARENT)"] error-conditions put delete-dups copy-sequence error-message] 11 (#$ . 11224)])
#@158 Return non-nil if OBJECT seems to be a frame configuration.
Any list whose car is `frame-configuration' is assumed to be a frame
configuration.
(fn OBJECT)
(defalias 'frame-configuration-p #[257 "\211:\205 \211@\300=\207" [frame-configuration] 3 (#$ . 11892)])
#@294 Return a function that is a partial application of FUN to ARGS.
ARGS is a list of the first N arguments to pass to FUN.
The result is a new function which does the same as FUN, except that
the first N arguments are fixed at the values with which this function
was called.
(fn FUN &rest ARGS)
(defalias 'apply-partially #[385 "\300\301\302\303\304\"\305\"\306\307%\207" [make-byte-code 128 "\302\300\303\301\"\"\207" vconcat vector [apply append] 6 "\n\n(fn &rest ARGS2)"] 9 (#$ . 12162)])
#@15
(fn FORM X)
(defalias 'internal--compiler-macro-cXXr #[514 "@\300@!\211G\301Z\302\303\"\204/ \304!\203) K9\203) \305KAB\"\202O \306\307!\202O \211\310\224V\203N H\311=\203B \312\202C \313D\262\211S\262\202/ \207" [symbol-name 2 string-match "c[ad]+r\\'" fboundp internal--compiler-macro-cXXr error "Compiler macro for cXXr applied to non-cXXr form" 0 97 car cdr] 8 (#$ . 12663)])
#@41 Return the car of the car of X.
(fn X)
(defalias 'caar #[257 "\211@@\207" [] 2 (#$ . 13066)])
(byte-code "\300\301\302\303#\300\207" [function-put caar compiler-macro internal--compiler-macro-cXXr] 4)
#@41 Return the car of the cdr of X.
(fn X)
(defalias 'cadr #[257 "\211A@\207" [] 2 (#$ . 13274)])
(byte-code "\300\301\302\303#\300\207" [function-put cadr compiler-macro internal--compiler-macro-cXXr] 4)
#@41 Return the cdr of the car of X.
(fn X)
(defalias 'cdar #[257 "\211@A\207" [] 2 (#$ . 13482)])
(byte-code "\300\301\302\303#\300\207" [function-put cdar compiler-macro internal--compiler-macro-cXXr] 4)
#@41 Return the cdr of the cdr of X.
(fn X)
(defalias 'cddr #[257 "\211AA\207" [] 2 (#$ . 13690)])
(byte-code "\300\301\302\303#\300\207" [function-put cddr compiler-macro internal--compiler-macro-cXXr] 4)
#@58 Return the `car' of the `car' of the `car' of X.
(fn X)
(defalias 'caaar #[257 "\211@@@\207" [] 2 (#$ . 13898)])
(byte-code "\300\301\302\303#\300\207" [function-put caaar compiler-macro internal--compiler-macro-cXXr] 4)
#@58 Return the `car' of the `car' of the `cdr' of X.
(fn X)
(defalias 'caadr #[257 "\211A@@\207" [] 2 (#$ . 14126)])
(byte-code "\300\301\302\303#\300\207" [function-put caadr compiler-macro internal--compiler-macro-cXXr] 4)
#@58 Return the `car' of the `cdr' of the `car' of X.
(fn X)
(defalias 'cadar #[257 "\211@A@\207" [] 2 (#$ . 14354)])
(byte-code "\300\301\302\303#\300\207" [function-put cadar compiler-macro internal--compiler-macro-cXXr] 4)
#@58 Return the `car' of the `cdr' of the `cdr' of X.
(fn X)
(defalias 'caddr #[257 "\211AA@\207" [] 2 (#$ . 14582)])
(byte-code "\300\301\302\303#\300\207" [function-put caddr compiler-macro internal--compiler-macro-cXXr] 4)
#@58 Return the `cdr' of the `car' of the `car' of X.
(fn X)
(defalias 'cdaar #[257 "\211@@A\207" [] 2 (#$ . 14810)])
(byte-code "\300\301\302\303#\300\207" [function-put cdaar compiler-macro internal--compiler-macro-cXXr] 4)
#@58 Return the `cdr' of the `car' of the `cdr' of X.
(fn X)
(defalias 'cdadr #[257 "\211A@A\207" [] 2 (#$ . 15038)])
(byte-code "\300\301\302\303#\300\207" [function-put cdadr compiler-macro internal--compiler-macro-cXXr] 4)
#@58 Return the `cdr' of the `cdr' of the `car' of X.
(fn X)
(defalias 'cddar #[257 "\211@AA\207" [] 2 (#$ . 15266)])
(byte-code "\300\301\302\303#\300\207" [function-put cddar compiler-macro internal--compiler-macro-cXXr] 4)
#@58 Return the `cdr' of the `cdr' of the `cdr' of X.
(fn X)
(defalias 'cdddr #[257 "\211AAA\207" [] 2 (#$ . 15494)])
(byte-code "\300\301\302\303#\300\207" [function-put cdddr compiler-macro internal--compiler-macro-cXXr] 4)
#@71 Return the `car' of the `car' of the `car' of the `car' of X.
(fn X)
(defalias 'caaaar #[257 "\211@@@@\207" [] 2 (#$ . 15722)])
(byte-code "\300\301\302\303#\300\207" [function-put caaaar compiler-macro internal--compiler-macro-cXXr] 4)
#@71 Return the `car' of the `car' of the `car' of the `cdr' of X.
(fn X)
(defalias 'caaadr #[257 "\211A@@@\207" [] 2 (#$ . 15966)])
(byte-code "\300\301\302\303#\300\207" [function-put caaadr compiler-macro internal--compiler-macro-cXXr] 4)
#@71 Return the `car' of the `car' of the `cdr' of the `car' of X.
(fn X)
(defalias 'caadar #[257 "\211@A@@\207" [] 2 (#$ . 16210)])
(byte-code "\300\301\302\303#\300\207" [function-put caadar compiler-macro internal--compiler-macro-cXXr] 4)
#@71 Return the `car' of the `car' of the `cdr' of the `cdr' of X.
(fn X)
(defalias 'caaddr #[257 "\211AA@@\207" [] 2 (#$ . 16454)])
(byte-code "\300\301\302\303#\300\207" [function-put caaddr compiler-macro internal--compiler-macro-cXXr] 4)
#@71 Return the `car' of the `cdr' of the `car' of the `car' of X.
(fn X)
(defalias 'cadaar #[257 "\211@@A@\207" [] 2 (#$ . 16698)])
(byte-code "\300\301\302\303#\300\207" [function-put cadaar compiler-macro internal--compiler-macro-cXXr] 4)
#@71 Return the `car' of the `cdr' of the `car' of the `cdr' of X.
(fn X)
(defalias 'cadadr #[257 "\211A@A@\207" [] 2 (#$ . 16942)])
(byte-code "\300\301\302\303#\300\207" [function-put cadadr compiler-macro internal--compiler-macro-cXXr] 4)
#@71 Return the `car' of the `cdr' of the `cdr' of the `car' of X.
(fn X)
(defalias 'caddar #[257 "\211@AA@\207" [] 2 (#$ . 17186)])
(byte-code "\300\301\302\303#\300\207" [function-put caddar compiler-macro internal--compiler-macro-cXXr] 4)
#@71 Return the `car' of the `cdr' of the `cdr' of the `cdr' of X.
(fn X)
(defalias 'cadddr #[257 "\211AAA@\207" [] 2 (#$ . 17430)])
(byte-code "\300\301\302\303#\300\207" [function-put cadddr compiler-macro internal--compiler-macro-cXXr] 4)
#@71 Return the `cdr' of the `car' of the `car' of the `car' of X.
(fn X)
(defalias 'cdaaar #[257 "\211@@@A\207" [] 2 (#$ . 17674)])
(byte-code "\300\301\302\303#\300\207" [function-put cdaaar compiler-macro internal--compiler-macro-cXXr] 4)
#@71 Return the `cdr' of the `car' of the `car' of the `cdr' of X.
(fn X)
(defalias 'cdaadr #[257 "\211A@@A\207" [] 2 (#$ . 17918)])
(byte-code "\300\301\302\303#\300\207" [function-put cdaadr compiler-macro internal--compiler-macro-cXXr] 4)
#@71 Return the `cdr' of the `car' of the `cdr' of the `car' of X.
(fn X)
(defalias 'cdadar #[257 "\211@A@A\207" [] 2 (#$ . 18162)])
(byte-code "\300\301\302\303#\300\207" [function-put cdadar compiler-macro internal--compiler-macro-cXXr] 4)
#@71 Return the `cdr' of the `car' of the `cdr' of the `cdr' of X.
(fn X)
(defalias 'cdaddr #[257 "\211AA@A\207" [] 2 (#$ . 18406)])
(byte-code "\300\301\302\303#\300\207" [function-put cdaddr compiler-macro internal--compiler-macro-cXXr] 4)
#@71 Return the `cdr' of the `cdr' of the `car' of the `car' of X.
(fn X)
(defalias 'cddaar #[257 "\211@@AA\207" [] 2 (#$ . 18650)])
(byte-code "\300\301\302\303#\300\207" [function-put cddaar compiler-macro internal--compiler-macro-cXXr] 4)
#@71 Return the `cdr' of the `cdr' of the `car' of the `cdr' of X.
(fn X)
(defalias 'cddadr #[257 "\211A@AA\207" [] 2 (#$ . 18894)])
(byte-code "\300\301\302\303#\300\207" [function-put cddadr compiler-macro internal--compiler-macro-cXXr] 4)
#@71 Return the `cdr' of the `cdr' of the `cdr' of the `car' of X.
(fn X)
(defalias 'cdddar #[257 "\211@AAA\207" [] 2 (#$ . 19138)])
(byte-code "\300\301\302\303#\300\207" [function-put cdddar compiler-macro internal--compiler-macro-cXXr] 4)
#@71 Return the `cdr' of the `cdr' of the `cdr' of the `cdr' of X.
(fn X)
(defalias 'cddddr #[257 "\211AAAA\207" [] 2 (#$ . 19382)])
(byte-code "\300\301\302\303#\300\207" [function-put cddddr compiler-macro internal--compiler-macro-cXXr] 4)
#@219 Return the last link of LIST. Its car is the last element.
If LIST is nil, return nil.
If N is non-nil, return the Nth-to-last link of LIST.
If N is bigger than the length of LIST, return LIST.
(fn LIST &optional N)
(defalias 'last #[513 "\211\203 \211\300Y\205' \301!W\203 \211Z\233\202 \207\205' \301!S\233\207" [0 safe-length] 5 (#$ . 19627)])
#@147 Return a copy of LIST with the last N elements removed.
If N is omitted or nil, the last element is removed from the
copy.
(fn LIST &optional N)
(defalias 'butlast #[513 "\211\203\f \211\300X\203\f \207\301\302!\"\207" [0 nbutlast copy-sequence] 5 (#$ . 19995)])
#@118 Modifies LIST to remove the last N elements.
If N is omitted or nil, remove the last element.
(fn LIST &optional N)
(defalias 'nbutlast #[513 "G\204 \300\262W\205 \301V\203 \211SZ\233\302\241\210\207" [1 0 nil] 5 (#$ . 20269)])
#@42 Return t if NUMBER is zero.
(fn NUMBER)
(defalias 'zerop #[257 "\211\300U\207" [0] 3 (#$ . 20516)])
(byte-code "\300\301\302\303#\300\207" [function-put zerop compiler-macro zerop--anon-cmacro] 4)
#@17
(fn _ NUMBER)
(defalias 'zerop--anon-cmacro #[514 "\300\301E\207" [= 0] 5 (#$ . 20720)])
#@209 Destructively remove `equal' duplicates from LIST.
Store the result in LIST and return it. LIST must be a proper list.
Of several `equal' occurrences of an element in LIST, the first
one is kept.
(fn LIST)
(defalias 'delete-dups #[257 "\211G\211\300V\203C \301\302\303\304$\305\306@\307#\210A\211\262\203> |