%PDF- %PDF-
Direktori : /usr/local/share/emacs/27.2/lisp/emacs-lisp/ |
Current File : //usr/local/share/emacs/27.2/lisp/emacs-lisp/subr-x.elc |
;ELC ;;; Compiled ;;; in Emacs version 27.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. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; #@205 Internal implementation for `thread-first' and `thread-last'. When Argument FIRST? is non-nil argument is threaded first, else last. FORMS are the expressions to be threaded. (fn FIRST\=\? &rest FORMS) (defalias 'internal--thread-argument '(macro . #[385 "\211:\203_ \211@A\211:\203\\ \211@\211:\203D \211@AA\211\300\f\211\2030 BB\2028 \301C\"BBBB\266\204\266\203\202W A\211\300 DBBB\266\203\262\262\202^ @\207\211@\207" [internal--thread-argument append] 18 (#$ . 409)])) #@283 Thread FORMS elements as the first argument of their successor. Example: (thread-first 5 (+ 20) (/ 25) - (+ 40)) Is equivalent to: (+ (- (/ (+ 5 20) 25)) 40) Note how the single `-' got converted into a list before threading. (fn &rest FORMS) (defalias 'thread-first '(macro . #[128 "\300\301BB\207" [internal--thread-argument t] 4 (#$ . 919)])) (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put thread-first lisp-indent-function 1 put edebug-form-spec (form &rest [&or symbolp (sexp &rest form)])] 5) #@281 Thread FORMS elements as the last argument of their successor. Example: (thread-last 5 (+ 20) (/ 25) - (+ 40)) Is equivalent to: (+ 40 (- (/ 25 (+ 20 5)))) Note how the single `-' got converted into a list before threading. (fn &rest FORMS) (defalias 'thread-last '(macro . #[128 "\300\301BB\207" [internal--thread-argument nil] 4 (#$ . 1484)])) (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put thread-last lisp-indent-function 1 put edebug-form-spec thread-first] 5) #@116 Wrap ELT in a list if it is not one. If ELT is of the form ((EXPR)), listify (EXPR) with a dummy symbol. (fn ELT) (defalias 'internal--listify #[257 "\2119\203 \211D\207\211A\204 \300\301!@D\207\207" [make-symbol "s"] 3 (#$ . 2016)]) (put 'internal--listify 'byte-optimizer 'byte-compile-inline-expand) #@49 Check BINDING is properly formed. (fn BINDING) (defalias 'internal--check-binding #[257 "\211G\300V\203 \301\302\303B\"\210\207" [2 signal error "`let' bindings can have only one value-form"] 5 (#$ . 2330)]) (put 'internal--check-binding 'byte-optimizer 'byte-compile-inline-expand) #@85 Build the conditional value form for BINDING using PREV-VAR. (fn BINDING PREV-VAR) (defalias 'internal--build-binding-value-form #[514 "@\211\300A@ED\207" [and] 7 (#$ . 2622)]) (put 'internal--build-binding-value-form 'byte-optimizer 'byte-compile-inline-expand) #@72 Check and build a single BINDING with PREV-VAR. (fn BINDING PREV-VAR) (defalias 'internal--build-binding #[514 "\2119\203 \211D\262\202 \211A\204 \300\301!@D\262\211G\302V\203) \303\304\305B\"\210@\211\306A@ED\207" [make-symbol "s" 2 signal error "`let' bindings can have only one value-form" and] 9 (#$ . 2895)]) #@70 Check and build conditional value forms for BINDINGS. (fn BINDINGS) (defalias 'internal--build-bindings #[257 "\300C\301\302\303\304\305\306!\307\"\310\311%\"\207" [t mapcar make-byte-code 257 "\301\300\242\"\300@\240\210\211\207" vconcat vector [internal--build-binding] 4 "\n\n(fn BINDING)"] 9 (#$ . 3229)]) #@187 Bind variables according to VARLIST and evaluate THEN or ELSE. This is like `if-let' but doesn't handle a VARLIST of the form (SYMBOL SOMETHING) specially. (fn VARLIST THEN &rest ELSE) (defalias 'if-let* '(macro . #[642 "\203 \300\301!\211\262\302\303!@@BBBE\207\300\304E\207" [let* internal--build-bindings if last nil] 9 (#$ . 3552)])) (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put if-let* lisp-indent-function 2 put edebug-form-spec ((&rest [&or symbolp (symbolp form) (form)]) form body)] 5) #@190 Bind variables according to VARLIST and conditionally evaluate BODY. This is like `when-let' but doesn't handle a VARLIST of the form (SYMBOL SOMETHING) specially. (fn VARLIST &rest BODY) (defalias 'when-let* '(macro . #[385 "\300\301!E\207" [if-let* macroexp-progn] 6 (#$ . 4085)])) (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put when-let* lisp-indent-function 1 put edebug-form-spec if-let*] 5) #@199 Bind variables according to VARLIST and conditionally evaluate BODY. Like `when-let*', except if BODY is empty and all the bindings are non-nil, then the result is non-nil. (fn VARLIST &rest BODY) (defalias 'and-let* '(macro . #[385 "\300\203\"