%PDF- %PDF-
Direktori : /usr/local/share/emacs/27.2/lisp/emacs-lisp/ |
Current File : //usr/local/share/emacs/27.2/lisp/emacs-lisp/cl-generic.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. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (byte-code "\301\302!B\301\207" [package--builtin-versions purecopy (cl-generic 1 0)] 2) #@82 compiler-macro for inlining `cl--generic-generalizer-p'. (fn CL-WHOLE-ARG CL-X) (defalias 'cl--generic-generalizer-p--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block cl--generic-generalizer-p (and (memq (type-of cl-x) cl-struct-cl--generic-generalizer-tags) t)) nil] 9 (#$ . 499)]) (put 'cl--generic-generalizer-p 'compiler-macro 'cl--generic-generalizer-p--cmacro) #@13 (fn CL-X) (defalias 'cl--generic-generalizer-p #[257 "\301!>\205 \302\207" [cl-struct-cl--generic-generalizer-tags type-of t] 3 (#$ . 910)]) (byte-code "\300\301\302\303#\304\305\306\301#\207" [function-put cl--generic-generalizer-p side-effect-free error-free put cl--generic-generalizer cl-deftype-satisfies] 5) #@85 compiler-macro for inlining `cl--generic-generalizer-name'. (fn CL-WHOLE-ARG CL-X) (defalias 'cl--generic-generalizer-name--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block cl--generic-generalizer-name (progn (or (cl--generic-generalizer-p cl-x) (signal 'wrong-type-argument (list 'cl--generic-generalizer cl-x))) (aref cl-x 1))) nil] 9 (#$ . 1235)]) (put 'cl--generic-generalizer-name 'compiler-macro 'cl--generic-generalizer-name--cmacro) #@73 Access slot "name" of `cl--generic-generalizer' struct CL-X. (fn CL-X) (defalias 'cl--generic-generalizer-name #[257 "\301!>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-cl--generic-generalizer-tags type-of signal wrong-type-argument cl--generic-generalizer 1] 5 (#$ . 1720)]) (byte-code "\300\301\302\303#\300\207" [function-put cl--generic-generalizer-name side-effect-free t] 4) #@89 compiler-macro for inlining `cl--generic-generalizer-priority'. (fn CL-WHOLE-ARG CL-X) (defalias 'cl--generic-generalizer-priority--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block cl--generic-generalizer-priority (progn (or (cl--generic-generalizer-p cl-x) (signal 'wrong-type-argument (list 'cl--generic-generalizer cl-x))) (aref cl-x 2))) nil] 9 (#$ . 2117)]) (put 'cl--generic-generalizer-priority 'compiler-macro 'cl--generic-generalizer-priority--cmacro) #@77 Access slot "priority" of `cl--generic-generalizer' struct CL-X. (fn CL-X) (defalias 'cl--generic-generalizer-priority #[257 "\301!>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-cl--generic-generalizer-tags type-of signal wrong-type-argument cl--generic-generalizer 2] 5 (#$ . 2622)]) (byte-code "\300\301\302\303#\300\207" [function-put cl--generic-generalizer-priority side-effect-free t] 4) #@97 compiler-macro for inlining `cl--generic-generalizer-tagcode-function'. (fn CL-WHOLE-ARG CL-X) (defalias 'cl--generic-generalizer-tagcode-function--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block cl--generic-generalizer-tagcode-function (progn (or (cl--generic-generalizer-p cl-x) (signal 'wrong-type-argument (list 'cl--generic-generalizer cl-x))) (aref cl-x 3))) nil] 9 (#$ . 3031)]) (put 'cl--generic-generalizer-tagcode-function 'compiler-macro 'cl--generic-generalizer-tagcode-function--cmacro) #@85 Access slot "tagcode-function" of `cl--generic-generalizer' struct CL-X. (fn CL-X) (defalias 'cl--generic-generalizer-tagcode-function #[257 "\301!>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-cl--generic-generalizer-tags type-of signal wrong-type-argument cl--generic-generalizer 3] 5 (#$ . 3576)]) (byte-code "\300\301\302\303#\300\207" [function-put cl--generic-generalizer-tagcode-function side-effect-free t] 4) #@102 compiler-macro for inlining `cl--generic-generalizer-specializers-function'. (fn CL-WHOLE-ARG CL-X) (defalias 'cl--generic-generalizer-specializers-function--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block cl--generic-generalizer-specializers-function (progn (or (cl--generic-generalizer-p cl-x) (signal 'wrong-type-argument (list 'cl--generic-generalizer cl-x))) (aref cl-x 4))) nil] 9 (#$ . 4010)]) (put 'cl--generic-generalizer-specializers-function 'compiler-macro 'cl--generic-generalizer-specializers-function--cmacro) #@90 Access slot "specializers-function" of `cl--generic-generalizer' struct CL-X. (fn CL-X) (defalias 'cl--generic-generalizer-specializers-function #[257 "\301!>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-cl--generic-generalizer-tags type-of signal wrong-type-argument cl--generic-generalizer 4] 5 (#$ . 4580)]) (byte-code "\300\301\302\303#\304\305\306\"\207" [function-put cl--generic-generalizer-specializers-function side-effect-free t defalias copy-cl--generic-generalizer copy-sequence] 4) #@132 compiler-macro for inlining `cl-generic-make-generalizer'. (fn CL-WHOLE-ARG NAME PRIORITY TAGCODE-FUNCTION SPECIALIZERS-FUNCTION) (defalias 'cl-generic-make-generalizer--cmacro #[1285 "\300\301\302\303\211\211 & \207" [cl--defsubst-expand (name priority tagcode-function specializers-function) (cl-block cl-generic-make-generalizer (record 'cl--generic-generalizer name priority tagcode-function specializers-function)) nil] 15 (#$ . 5091)]) (put 'cl-generic-make-generalizer 'compiler-macro 'cl-generic-make-generalizer--cmacro) #@119 Constructor for objects of type `cl--generic-generalizer'. (fn NAME PRIORITY TAGCODE-FUNCTION SPECIALIZERS-FUNCTION) (defalias 'cl-generic-make-generalizer #[1028 "\300\301%\207" [record cl--generic-generalizer] 10 (#$ . 5636)]) (byte-code "\300\301\302\303#\304\305\306\307\310\306\311\312\305\303& \207" [function-put cl-generic-make-generalizer side-effect-free t cl-struct-define cl--generic-generalizer nil cl-structure-object record ((cl-tag-slot) (name nil :type string) (priority nil :type integer) (tagcode-function) (specializers-function)) cl-struct-cl--generic-generalizer-tags] 11) #@650 Define a new kind of generalizer. NAME is the name of the variable that will hold it. PRIORITY defines which generalizer takes precedence. The catch-all generalizer has priority 0. Then `eql' generalizer has priority 100. TAGCODE-FUNCTION takes as first argument a varname and should return a chunk of code that computes the tag of the value held in that variable. Further arguments are reserved for future use. SPECIALIZERS-FUNCTION takes as first argument a tag value TAG and should return a list of specializers that match TAG. Further arguments are reserved for future use. (fn NAME PRIORITY TAGCODE-FUNCTION SPECIALIZERS-FUNCTION) (defalias 'cl-generic-define-generalizer '(macro . #[1028 "\300\301\302D\257E\207" [defconst cl-generic-make-generalizer quote] 11 (#$ . 6243)])) (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put cl-generic-define-generalizer lisp-indent-function 1 put edebug-form-spec (symbolp body)] 5) (defconst cl--generic-t-generalizer (byte-code "\300\301\302\303\304\305%\207" [#[385 "\300\207" [nil] 3 "\n\n(fn NAME &rest _)"] #[385 "\300\207" [(t)] 3 "\n\n(fn TAG &rest _)"] record cl--generic-generalizer cl--generic-t-generalizer 0] 8)) #@88 compiler-macro for inlining `cl--struct-cl--generic-method-p'. (fn CL-WHOLE-ARG CL-X) (defalias 'cl--struct-cl--generic-method-p--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block cl--struct-cl--generic-method-p (and (memq (type-of cl-x) cl-struct-cl--generic-method-tags) t)) nil] 9 (#$ . 7458)]) (put 'cl--struct-cl--generic-method-p 'compiler-macro 'cl--struct-cl--generic-method-p--cmacro) #@13 (fn CL-X) (defalias 'cl--struct-cl--generic-method-p #[257 "\301!>\205 \302\207" [cl-struct-cl--generic-method-tags type-of t] 3 (#$ . 7895)]) (byte-code "\300\301\302\303#\304\305\306\301#\207" [function-put cl--struct-cl--generic-method-p side-effect-free error-free put cl--generic-method cl-deftype-satisfies] 5) #@88 compiler-macro for inlining `cl--generic-method-specializers'. (fn CL-WHOLE-ARG CL-X) (defalias 'cl--generic-method-specializers--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block cl--generic-method-specializers (progn (or (cl--struct-cl--generic-method-p cl-x) (signal 'wrong-type-argument (list 'cl--generic-method cl-x))) (aref cl-x 1))) nil] 9 (#$ . 8223)]) (put 'cl--generic-method-specializers 'compiler-macro 'cl--generic-method-specializers--cmacro) #@76 Access slot "specializers" of `cl--generic-method' struct CL-X. (fn CL-X) (defalias 'cl--generic-method-specializers #[257 "\301!>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-cl--generic-method-tags type-of signal wrong-type-argument cl--generic-method 1] 5 (#$ . 8724)]) (byte-code "\300\301\302\303#\300\301\304\305#\300\207" [function-put cl--generic-method-specializers side-effect-free t gv-expander #[514 "\300\301\302\"\207" [error "%s is a read-only slot" cl--generic-method-specializers] 5 "\n\n(fn CL-DO CL-X)"]] 5) #@86 compiler-macro for inlining `cl--generic-method-qualifiers'. (fn CL-WHOLE-ARG CL-X) (defalias 'cl--generic-method-qualifiers--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block cl--generic-method-qualifiers (progn (or (cl--struct-cl--generic-method-p cl-x) (signal 'wrong-type-argument (list 'cl--generic-method cl-x))) (aref cl-x 2))) nil] 9 (#$ . 9266)]) (put 'cl--generic-method-qualifiers 'compiler-macro 'cl--generic-method-qualifiers--cmacro) #@74 Access slot "qualifiers" of `cl--generic-method' struct CL-X. (fn CL-X) (defalias 'cl--generic-method-qualifiers #[257 "\301!>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-cl--generic-method-tags type-of signal wrong-type-argument cl--generic-method 2] 5 (#$ . 9757)]) (byte-code "\300\301\302\303#\300\301\304\305#\300\207" [function-put cl--generic-method-qualifiers side-effect-free t gv-expander #[514 "\300\301\302\"\207" [error "%s is a read-only slot" cl--generic-method-qualifiers] 5 "\n\n(fn CL-DO CL-X)"]] 5) #@84 compiler-macro for inlining `cl--generic-method-uses-cnm'. (fn CL-WHOLE-ARG CL-X) (defalias 'cl--generic-method-uses-cnm--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block cl--generic-method-uses-cnm (progn (or (cl--struct-cl--generic-method-p cl-x) (signal 'wrong-type-argument (list 'cl--generic-method cl-x))) (aref cl-x 3))) nil] 9 (#$ . 10291)]) (put 'cl--generic-method-uses-cnm 'compiler-macro 'cl--generic-method-uses-cnm--cmacro) #@72 Access slot "uses-cnm" of `cl--generic-method' struct CL-X. (fn CL-X) (defalias 'cl--generic-method-uses-cnm #[257 "\301!>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-cl--generic-method-tags type-of signal wrong-type-argument cl--generic-method 3] 5 (#$ . 10773)]) (byte-code "\300\301\302\303#\300\301\304\305#\300\207" [function-put cl--generic-method-uses-cnm side-effect-free t gv-expander #[514 "\300\301\302\"\207" [error "%s is a read-only slot" cl--generic-method-uses-cnm] 5 "\n\n(fn CL-DO CL-X)"]] 5) #@84 compiler-macro for inlining `cl--generic-method-function'. (fn CL-WHOLE-ARG CL-X) (defalias 'cl--generic-method-function--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block cl--generic-method-function (progn (or (cl--struct-cl--generic-method-p cl-x) (signal 'wrong-type-argument (list 'cl--generic-method cl-x))) (aref cl-x 4))) nil] 9 (#$ . 11300)]) (put 'cl--generic-method-function 'compiler-macro 'cl--generic-method-function--cmacro) #@72 Access slot "function" of `cl--generic-method' struct CL-X. (fn CL-X) (defalias 'cl--generic-method-function #[257 "\301!>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-cl--generic-method-tags type-of signal wrong-type-argument cl--generic-method 4] 5 (#$ . 11782)]) (byte-code "\300\301\302\303#\300\301\304\305#\306\307\310\"\207" [function-put cl--generic-method-function side-effect-free t gv-expander #[514 "\300\301\302\"\207" [error "%s is a read-only slot" cl--generic-method-function] 5 "\n\n(fn CL-DO CL-X)"] defalias copy-cl--generic-method copy-sequence] 5) #@117 compiler-macro for inlining `cl--generic-make-method'. (fn CL-WHOLE-ARG SPECIALIZERS QUALIFIERS USES-CNM FUNCTION) (defalias 'cl--generic-make-method--cmacro #[1285 "\300\301\302\303\211\211 & \207" [cl--defsubst-expand (specializers qualifiers uses-cnm function) (cl-block cl--generic-make-method (record 'cl--generic-method specializers qualifiers uses-cnm function)) nil] 15 (#$ . 12367)]) (put 'cl--generic-make-method 'compiler-macro 'cl--generic-make-method--cmacro) #@103 Constructor for objects of type `cl--generic-method'. (fn SPECIALIZERS QUALIFIERS USES-CNM FUNCTION) (defalias 'cl--generic-make-method #[1028 "\300\301%\207" [record cl--generic-method] 10 (#$ . 12855)]) (byte-code "\300\301\302\303#\304\305\306\307\310\306\311\312\305\303& \207" [function-put cl--generic-make-method side-effect-free t cl-struct-define cl--generic-method nil cl-structure-object record ((cl-tag-slot) (specializers nil :read-only t :type list) (qualifiers nil :read-only t :type (list-of atom)) (uses-cnm nil :read-only t :type boolean) (function nil :read-only t :type function)) cl-struct-cl--generic-method-tags] 11) #@81 compiler-macro for inlining `cl--struct-cl--generic-p'. (fn CL-WHOLE-ARG CL-X) (defalias 'cl--struct-cl--generic-p--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block cl--struct-cl--generic-p (and (memq (type-of cl-x) cl-struct-cl--generic-tags) t)) nil] 9 (#$ . 13506)]) (put 'cl--struct-cl--generic-p 'compiler-macro 'cl--struct-cl--generic-p--cmacro) #@13 (fn CL-X) (defalias 'cl--struct-cl--generic-p #[257 "\301!>\205 \302\207" [cl-struct-cl--generic-tags type-of t] 3 (#$ . 13902)]) (byte-code "\300\301\302\303#\304\305\306\301#\207" [function-put cl--struct-cl--generic-p side-effect-free error-free put cl--generic cl-deftype-satisfies] 5) #@73 compiler-macro for inlining `cl--generic-name'. (fn CL-WHOLE-ARG CL-X) (defalias 'cl--generic-name--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block cl--generic-name (progn (or (cl--struct-cl--generic-p cl-x) (signal 'wrong-type-argument (list 'cl--generic cl-x))) (aref cl-x 1))) nil] 9 (#$ . 14203)]) (put 'cl--generic-name 'compiler-macro 'cl--generic-name--cmacro) #@61 Access slot "name" of `cl--generic' struct CL-X. (fn CL-X) (defalias 'cl--generic-name #[257 "\301!>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-cl--generic-tags type-of signal wrong-type-argument cl--generic 1] 5 (#$ . 14616)]) (byte-code "\300\301\302\303#\300\301\304\305#\300\207" [function-put cl--generic-name side-effect-free t gv-expander #[514 "\300\301\302\"\207" [error "%s is a read-only slot" cl--generic-name] 5 "\n\n(fn CL-DO CL-X)"]] 5) #@79 compiler-macro for inlining `cl--generic-dispatches'. (fn CL-WHOLE-ARG CL-X) (defalias 'cl--generic-dispatches--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block cl--generic-dispatches (progn (or (cl--struct-cl--generic-p cl-x) (signal 'wrong-type-argument (list 'cl--generic cl-x))) (aref cl-x 2))) nil] 9 (#$ . 15085)]) (put 'cl--generic-dispatches 'compiler-macro 'cl--generic-dispatches--cmacro) #@67 Access slot "dispatches" of `cl--generic' struct CL-X. (fn CL-X) (defalias 'cl--generic-dispatches #[257 "\301!>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-cl--generic-tags type-of signal wrong-type-argument cl--generic 2] 5 (#$ . 15528)]) (byte-code "\300\301\302\303#\300\207" [function-put cl--generic-dispatches side-effect-free t] 4) #@81 compiler-macro for inlining `cl--generic-method-table'. (fn CL-WHOLE-ARG CL-X) (defalias 'cl--generic-method-table--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block cl--generic-method-table (progn (or (cl--struct-cl--generic-p cl-x) (signal 'wrong-type-argument (list 'cl--generic cl-x))) (aref cl-x 3))) nil] 9 (#$ . 15884)]) (put 'cl--generic-method-table 'compiler-macro 'cl--generic-method-table--cmacro) #@69 Access slot "method-table" of `cl--generic' struct CL-X. (fn CL-X) (defalias 'cl--generic-method-table #[257 "\301!>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-cl--generic-tags type-of signal wrong-type-argument cl--generic 3] 5 (#$ . 16337)]) (byte-code "\300\301\302\303#\300\207" [function-put cl--generic-method-table side-effect-free t] 4) #@76 compiler-macro for inlining `cl--generic-options'. (fn CL-WHOLE-ARG CL-X) (defalias 'cl--generic-options--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block cl--generic-options (progn (or (cl--struct-cl--generic-p cl-x) (signal 'wrong-type-argument (list 'cl--generic cl-x))) (aref cl-x 4))) nil] 9 (#$ . 16699)]) (put 'cl--generic-options 'compiler-macro 'cl--generic-options--cmacro) #@64 Access slot "options" of `cl--generic' struct CL-X. (fn CL-X) (defalias 'cl--generic-options #[257 "\301!>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-cl--generic-tags type-of signal wrong-type-argument cl--generic 4] 5 (#$ . 17127)]) (byte-code "\300\301\302\303#\304\305\306\"\207" [function-put cl--generic-options side-effect-free t defalias copy-cl--generic copy-sequence] 4) #@73 compiler-macro for inlining `cl--generic-make'. (fn CL-WHOLE-ARG NAME) (defalias 'cl--generic-make--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (name) (cl-block cl--generic-make (record 'cl--generic name nil nil nil)) nil] 9 (#$ . 17524)]) (put 'cl--generic-make 'compiler-macro 'cl--generic-make--cmacro) #@59 Constructor for objects of type `cl--generic'. (fn NAME) (defalias 'cl--generic-make #[257 "\300\301\302\211\211%\207" [record cl--generic nil] 7 (#$ . 17862)]) (byte-code "\300\301\302\303#\304\305\306\307\310\306\311\312\305\303& \207" [function-put cl--generic-make side-effect-free t cl-struct-define cl--generic nil cl-structure-object record ((cl-tag-slot) (name nil :type symbol :read-only t) (dispatches nil :type (list-of (cons natnum (list-of generalizers)))) (method-table nil :type (list-of cl--generic-method)) (options nil :type list)) cl-struct-cl--generic-tags] 11) #@67 Return the options of the generic function GENERIC. (fn GENERIC) (defalias 'cl-generic-function-options #[257 "\301!>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-cl--generic-tags type-of signal wrong-type-argument cl--generic 4] 5 (#$ . 18452)]) #@13 (fn NAME) (defalias 'cl--generic '(macro . #[257 "\300\301BB\207" [get ('cl--generic)] 4 (#$ . 18714)])) #@52 Return non-nil if F is a generic function. (fn F) (defalias 'cl-generic-p #[257 "\2119\205 \211\300N\207" [cl--generic] 3 (#$ . 18828)]) #@31 (fn NAME &optional NOERROR) (defalias 'cl-generic-ensure-function #[513 "\301\302N\211\262\204\"