%PDF- <> %âãÏÓ endobj 2 0 obj <> endobj 3 0 obj <>/ExtGState<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/Annots[ 28 0 R 29 0 R] /MediaBox[ 0 0 595.5 842.25] /Contents 4 0 R/Group<>/Tabs/S>> endobj ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<> endobj 2 0 obj<>endobj 2 0 obj<>es 3 0 R>> endobj 2 0 obj<> ox[ 0.000000 0.000000 609.600000 935.600000]/Fi endobj 3 0 obj<> endobj 7 1 obj<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]>>/Subtype/Form>> stream
;ELC ;;; Compiled ;;; in Emacs version 25.2 ;;; 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. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; #@1413 Tell the byte-compiler that function FN is defined, in FILE. Optional ARGLIST is the argument list used by the function. 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. ARGLIST is used by both the byte-compiler and `check-declare' to check for consistency. 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. FILEONLY non-nil means that `check-declare' will only check that FILE exists, not that it defines FN. This is intended for function-definitions that `check-declare' does not recognize, e.g. `defstruct'. To specify a value for FILEONLY without passing an argument list, set ARGLIST to t. This is necessary because nil means an empty argument list, rather than an unspecified one. 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 &optional ARGLIST FILEONLY) (defalias 'declare-function '(macro . #[1026 "\300\207" [nil] 5 (#$ . 410)])) (defalias 'not 'null) #@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 (#$ . 1928)])) (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 (#$ . 2193)])) (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 (#$ . 2487)])) #@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 (#$ . 2989)])) (byte-code "\300\301\302\303#\210\300\301\304\305#\210\306\301\307\310#\207" [function-put lambda doc-string-elt 2 lisp-indent-function defun put edebug-form-spec (&define lambda-list [&optional stringp] [&optional ("interactive" interactive)] def-body)] 4) #@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 (#$ . 4087)])) #@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 (#$ . 4268)])) (byte-code "\300\301\302\303#\210\304\301\305\306#\207" [put defvar-local edebug-form-spec defvar function-put doc-string-elt 3] 4) #@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 (#$ . 4746)]) #@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 (#$ . 5247)])) (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 (#$ . 5887)])) (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 (#$ . 6473)])) (byte-code "\300\301\302\303#\210\304\301\305\306#\207" [function-put when lisp-indent-function 1 put edebug-form-spec t] 4) #@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 (#$ . 6864)])) (byte-code "\300\301\302\303#\210\304\301\305\306#\207" [function-put unless lisp-indent-function 1 put edebug-form-spec t] 4) #@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 "\301\2031 \302A@DC\303\302@\304DDC\305\306 \307DEC\"BBEAABBB\202j \302A@D@D\303\306@\304DE\305\306\307\nDEC\"BBBAA\205g \306@\310BBAABBBB\207" [lexical-binding --dolist-tail-- let while car append setq cdr (nil)] 15 (#$ . 7250)])) (byte-code "\300\301\302\303#\210\304\301\305\306#\207" [function-put dolist lisp-indent-function 1 put edebug-form-spec ((symbolp form &optional form) body)] 4) #@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 (#$ . 7885)])) (byte-code "\300\301\302\303#\210\304\301\305\306#\207" [function-put dotimes lisp-indent-function 1 put edebug-form-spec dolist] 4) #@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 (#$ . 8591)])) #@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 (#$ . 9143)])) (byte-code "\300\301\302\303#\210\304\301\305\306#\207" [put ignore-errors edebug-form-spec t function-put lisp-indent-function 0] 4) #@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 (#$ . 9610) 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 (#$ . 9789)]) (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 (#$ . 10344)]) #@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 (#$ . 11037)]) #@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 (#$ . 11705)]) (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 "\n\n(fn FORM X)"]) #@41 Return the car of the car of X. (fn X) (defalias 'caar #[257 "\211@@\207" [] 2 (#$ . 12362)]) (function-put 'caar 'compiler-macro 'internal--compiler-macro-cXXr) #@41 Return the car of the cdr of X. (fn X) (defalias 'cadr #[257 "\211A@\207" [] 2 (#$ . 12531)]) (function-put 'cadr 'compiler-macro 'internal--compiler-macro-cXXr) #@41 Return the cdr of the car of X. (fn X) (defalias 'cdar #[257 "\211@A\207" [] 2 (#$ . 12700)]) (function-put 'cdar 'compiler-macro 'internal--compiler-macro-cXXr) #@41 Return the cdr of the cdr of X. (fn X) (defalias 'cddr #[257 "\211AA\207" [] 2 (#$ . 12869)]) (function-put 'cddr 'compiler-macro 'internal--compiler-macro-cXXr) #@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 (#$ . 13039)]) #@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 (#$ . 13407)]) #@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 (#$ . 13681)]) #@42 Return t if NUMBER is zero. (fn NUMBER) (defalias 'zerop #[257 "\211\300U\207" [0] 3 (#$ . 13928)]) (function-put 'zerop 'compiler-macro 'zerop--anon-cmacro) (defalias 'zerop--anon-cmacro #[514 "\300\301E\207" [= 0] 5 "\n\n(fn _ NUMBER)"]) #@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>