;ELC ;;; Compiled ;;; in Emacs version 27.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. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (byte-code "\300\301!\210\300\302!\210\303\304\305\306#\207" [require eieio-core cl-generic put eieio--defalias byte-hunk-handler byte-compile-file-form-defalias] 4) #@179 Like `defalias', but with less side-effects. More specifically, it has no side-effects at all when the new function definition is the same (`eq') as the old one. (fn NAME BODY) (defalias 'eieio--defalias #[514 "\2119\203 \300\301!\210\302!\203K9\203K\262\202 \302!\205&K=?\205.\303\"\207" [cl--assertion-failed (not (symbolp body)) fboundp defalias] 5 (#$ . 575)]) #@440 Create a generic function METHOD. DOC-STRING is the base documentation for this class. A generic function has no body, as its purpose is to decide which method body is appropriate to use. Uses `defmethod' to create methods, and calls `defgeneric' for you. With this implementation the ARGS are currently ignored. You can use `defgeneric' to apply specialized top level documentation to a method. (fn METHOD ARGS &optional DOC-STRING) (defalias 'defgeneric '(macro . #[770 "\300\301D\302\301D\205\303\"EE\207" [eieio--defalias quote eieio--defgeneric-init-form help-add-fundoc-usage] 10 (#$ . 965)])) (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put defgeneric doc-string-elt 3 make-obsolete cl-defgeneric "25.1"] 5) #@1054 Create a new METHOD through `defgeneric' with ARGS. The optional second argument KEY is a specifier that modifies how the method is called, including: :before - Method will be called before the :primary :primary - The default if not specified :after - Method will be called after the :primary :static - First arg could be an object or class The next argument is the ARGLIST. The ARGLIST specifies the arguments to the method as with `defun'. The first argument can have a type specifier, such as: ((VARNAME CLASS) ARG2 ...) where VARNAME is the name of the local variable for the method being created. The CLASS is a class symbol for a class made with `defclass'. A DOCSTRING comes after the ARGLIST, and is optional. All the rest of the args are the BODY of the method. A method will return the value of the last form in the BODY. Summary: (defmethod mymethod [:before | :primary | :after | :static] ((typearg class-name) arg2 &optional opt &rest rest) "doc-string" body) (fn METHOD &rest ARGS) (defalias 'defmethod '(macro . #[385 "\300@!\205 \211A\262\242@\211@\211:\203\211@AB\202:\205'A@\301ABB\302\303  E\304\305 D\305\nD\305D\306D\257E\207" [keywordp lambda progn defgeneric eieio--defmethod quote function] 16 (#$ . 1720)])) (byte-code "\300\301\302\303#\304\301\305\306#\210\307\301\310\311#\207" [function-put defmethod doc-string-elt 3 make-obsolete cl-defmethod "25.1" put edebug-form-spec (&define [&or name ("setf" name :name setf)] [&optional symbolp] cl-generic-method-args [&optional stringp] def-body)] 5) #@20 (fn TAG &rest _) (defalias 'eieio--generic-static-symbol-specializers #[385 "\203\301!>\204\302\303!\210\301!>\205=\304!\305\211\2038\211@\211B\262\306A@DB\262A\266\202\202\210\211\237\266\202\207" [cl-struct-eieio--class-tags type-of cl--assertion-failed (or (null tag) (eieio--class-p tag)) eieio--generic-subclass-specializers nil eieio--static] 8 (#$ . 3333)]) (defconst eieio--generic-static-symbol-generalizer (byte-code "\300\301\302\303\304\305%\207" [#[385 "\300\301D\302DE\207" [and symbolp cl--find-class] 6 "\n\n(fn NAME &rest _)"] record cl--generic-generalizer eieio--generic-static-symbol-generalizer 61 eieio--generic-static-symbol-specializers] 7)) (defconst eieio--generic-static-object-generalizer (byte-code "\300\301\302\303\304\305%\207" [#[385 "9\205>\301N\211\262\205>\302!>\205>\303!\304\211\2039\211@\211\305H\262\211B\262\306DB\262A\266\202\202\210\211\237\266\202\207" [cl-struct-eieio--class-tags cl--class type-of eieio--class-precedence-list nil 1 eieio--static] 8 "\n\n(fn TAG &rest _)"] record cl--generic-generalizer eieio--generic-static-object-generalizer 51 cl--generic-struct-tag] 7)) (cl-generic-define-method 'cl-generic-generalizers nil '((_specializer (head eieio--static))) nil #[257 " D\207" [eieio--generic-static-symbol-generalizer eieio--generic-static-object-generalizer] 3 "\n\n(fn SPECIALIZER)"]) #@26 (fn METHOD DOC-STRING) (defalias 'eieio--defgeneric-init-form #[514 "\211\203\n\301\302#\210\303>\203K\207\304!\305!>\204%\306\307\310D\"\210\211\311HK\206/\312!\207" [cl-struct-cl--generic-tags put function-documentation (no-next-method no-applicable-method) cl-generic-ensure-function type-of signal wrong-type-argument cl--generic 1 cl--generic-make-function] 7 (#$ . 4734)]) #@34 (fn METHOD KIND ARGCLASS CODE) (defalias 'eieio--defmethod #[1028 "\300\301!\227!\262\302=\204\206\303\202\304\262\305D\306>?\307DC\310\267\202]\311\262\312\313BB\262\314\315\316\317\320!\321\"\322\323%\202^\324\262\312B\262\314\315\325\317\320!\326\"\327\330%\202^\331\332>?\205lC\211\203\252\333\334\"\335\336\"\205\221\337\304\"\211\203\216\211A\202\217\262\314\340\341\317\320 !\342\"\343\344\345 B\"%\266\203\202\253%\210\346>\203\312\347\304\350\351\"#\204\312\331\304\303\352%\210\207" [intern symbol-name :static t nil eieio--static (:before :after) arg #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (no-next-method 43 no-applicable-method 69)) cl-no-next-method generic method make-byte-code 642 "\301\300\"\207" vconcat vector [apply] 6 "\n\n(fn GENERIC METHOD &rest ARGS)" cl-no-applicable-method "\302\300\303! >\204\304\305\306D\"\210\307HB$\207" [cl-struct-cl--generic-tags apply type-of signal wrong-type-argument cl--generic 1] 10 "\n\n(fn GENERIC ARG &rest ARGS)" cl-generic-define-method (nil :primary) documentation raw help-function-arglist preserve-names help-split-fundoc 385 "\301\302\303\304\305!\306\"\307$\310K\311K\301\302\312\304\305\"\313\"\307$\216\310M\210\311M\210\314\300\")\207" [make-byte-code 0 "\301\300!\207" vconcat vector [cl--generic-isnot-nnm-p] 2 next-method-p call-next-method "\302\300M\210\303\301M\207" [next-method-p call-next-method] apply] 13 help-add-fundoc-usage cl-cnm (:before :after) cl-find-method mapcar #[257 "\211:\203 \211A@\207\300\207" [t] 2 "\n\n(fn ARG)"] #[385 "\300!\205\n\301\"\207" [cl--generic-isnot-nnm-p apply] 5 "\n\n(fn CNM &rest ARGS)"]] 25 (#$ . 5135)]) (byte-code "\300\301\302\303\301\302NB#\207" [put cl-no-applicable-method error-conditions no-method-definition] 6) #@14 (fn FNAME) (defalias 'generic-p #[257 "\211\300N??\207" [cl--generic] 3 (#$ . 7025)]) #@19 (fn &rest ARGS) (defalias 'no-next-method #[128 "\300\301\302\303$\207" [apply cl-no-next-method unknown nil] 6 (#$ . 7119)]) (make-obsolete 'no-next-method 'cl-no-next-method "25.1") #@33 (fn OBJECT METHOD &rest ARGS) (defalias 'no-applicable-method #[642 "\300\301$\207" [apply cl-no-applicable-method] 8 (#$ . 7312)]) (byte-code "\300\301\302\303#\210\304\305\306\307#\210\300\305\306\303#\207" [make-obsolete no-applicable-method cl-no-applicable-method "25.1" defalias call-next-method cl-call-next-method nil] 4) (defalias 'next-method-p #[0 "\300\301!\210\302\207" [message "next-method-p called outside of a primary or around method" nil] 2]) (make-obsolete 'next-method-p 'cl-next-method-p "25.1") #@82 Obsolete work part of an old version of the `defmethod' macro. (fn METHOD ARGS) (defalias 'eieio-defmethod #[514 "\300\301BB!\210\207" [eval defmethod] 6 (#$ . 7841)]) (make-obsolete 'eieio-defmethod 'cl-defmethod "24.1") #@89 Obsolete work part of an old version of the `defgeneric' macro. (fn METHOD DOC-STRING) (defalias 'eieio-defgeneric #[514 "\300\301\302\205\nCBBB!\210\303\207" [eval defgeneric (x) method] 7 (#$ . 8073)]) (make-obsolete 'eieio-defgeneric 'cl-defgeneric "24.1") #@41 (fn CNAME SUPERCLASSES SLOTS OPTIONS) (defalias 'eieio-defclass #[1028 "\300\301BBBB!\207" [eval defclass] 10 (#$ . 8344)]) (byte-code "\300\301\302\303#\210\304\305!\207" [make-obsolete eieio-defclass eieio-defclass-internal "25.1" provide eieio-compat] 4)