%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /usr/local/share/emacs/27.2/lisp/emacs-lisp/
Upload File :
Create Path :
Current File : //usr/local/share/emacs/27.2/lisp/emacs-lisp/eieio-base.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 "\300\301!\210\300\302!\210\303\304\305\306!\"\210\303\307\310\306!\"\210\303\311\307\"\210\312\311\313\314#\210\315\306\316\307#\317\306\320\321\322$\207" [require eieio seq defalias eieio-instance-inheritor-p eieio-make-class-predicate eieio-instance-inheritor eieio-instance-inheritor--eieio-childp eieio-make-child-predicate eieio-instance-inheritor-child-p make-obsolete "use (cl-typep ... \\='eieio-instance-inheritor) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal nil ((parent-instance :initarg :parent-instance :type eieio-instance-inheritor :documentation "The parent of this instance.\nIf a slot of this class is referenced, and is unbound, then the parent\nis checked for a value.")) (:documentation "This special class can enable instance inheritance.\nUse `clone' to make a new object that does instance inheritance from\na parent instance.  When a slot in the child is referenced, and has\nnot been set, use values from the parent." :abstract t)] 6)
#@82 You cannot create a new object of type `eieio-instance-inheritor'.

(fn &rest _)
(defalias 'eieio-instance-inheritor #[128 "\300\301!\207" [error "Class eieio-instance-inheritor is abstract"] 3 (#$ . 1417)])
(byte-code "\300\301\302\303\304\305%\210\300\306\302\307\304\310%\210\300\311\302\312\302\313%\210\314\315\316\317!\"\210\314\320\321\317!\"\210\314\322\320\"\210\323\322\324\325#\210\326\317\327\320#\330\317\302\331\332$\207" [cl-generic-define-method slot-unbound nil ((object eieio-instance-inheritor) _class slot-name _fn) t #[1285 "\300\301\"\203\302\211\301\"\"\207 \207" [slot-boundp parent-instance eieio-oref] 9 "If a slot OBJECT in this CLASS is unbound, try to inherit, or throw a signal.\nSLOT-NAME is the offending slot.  FN is the function signaling the error.\n\n(fn CL--CNM OBJECT CLASS SLOT-NAME FN)"] clone ((obj eieio-instance-inheritor) &rest params) #[642 "\211@;\203\211A\262\242\"\202!\300\301!!\211\2030\211@\302!\303\"\266A\266\202\202\210\203:\304\"\210\305\306#\210\211\207" [eieio-class-slots eieio-object-class eieio-slot-descriptor-name slot-makeunbound shared-initialize eieio-oset parent-instance] 10 "Clone OBJ, initializing `:parent' to OBJ.\nAll slots are unbound, except those initialized with PARAMS.\n\n(fn OBJ &rest PARAMS)"] eieio-instance-inheritor-slot-boundp ((object eieio-instance-inheritor) slot) #[514 "\300\"\203	\301\207\300\302\"\205\303\304\302\"\"\207" [slot-boundp t parent-instance eieio-instance-inheritor-slot-boundp eieio-oref] 6 "Return non-nil if the instance inheritor OBJECT's SLOT is bound.\nSee `slot-boundp' for details on binding slots.\nThe instance inheritor uses unbound slots as a way of cascading cloned\nslot values, so testing for a slot being bound requires extra steps\nfor this kind of object.\n\n(fn OBJECT SLOT)"] defalias eieio-instance-tracker-p eieio-make-class-predicate eieio-instance-tracker eieio-instance-tracker--eieio-childp eieio-make-child-predicate eieio-instance-tracker-child-p make-obsolete "use (cl-typep ... \\='eieio-instance-tracker) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal ((tracking-symbol :type symbol :allocation :class :documentation "The symbol used to maintain a list of our instances.\nThe instance list is treated as a variable, with new instances added to it.")) (:documentation "This special class enables instance tracking.\nInheritors from this class must overload `tracking-symbol' which is\na variable symbol used to store a list of all instances." :abstract t)] 6)
#@80 You cannot create a new object of type `eieio-instance-tracker'.

(fn &rest _)
(defalias 'eieio-instance-tracker #[128 "\300\301!\207" [error "Class eieio-instance-tracker is abstract"] 3 (#$ . 3989)])
(byte-code "\300\301\302\303\304\305%\210\300\306\304\307\304\310%\207" [cl-generic-define-method initialize-instance (:after) ((this eieio-instance-tracker) &rest _slots) nil #[385 "\300\301\"J>?\205\211\302JC\"L\207" [eieio-oref tracking-symbol append] 7 "Make sure THIS is in our master list of this class.\nOptional argument SLOTS are the initialization arguments.\n\n(fn THIS &rest SLOTS)"] delete-instance ((this eieio-instance-tracker)) #[257 "\300\301\"\302\300\301\"J\"L\207" [eieio-oref tracking-symbol delq] 7 "Remove THIS from the master list of this class.\n\n(fn THIS)"]] 6)
#@115 Find KEY as an element of SLOT in the objects in LIST-SYMBOL.
Returns the first match.

(fn KEY SLOT LIST-SYMBOL)
(defalias 'eieio-instance-tracker-find #[771 "\300J#\207" [object-assoc] 7 (#$ . 4797)])
(byte-code "\300\301\302\303!\"\210\300\304\305\303!\"\210\300\306\304\"\210\307\306\310\311#\210\312\303\313\304#\314\303\315\316\317$\207" [defalias eieio-singleton-p eieio-make-class-predicate eieio-singleton eieio-singleton--eieio-childp eieio-make-child-predicate eieio-singleton-child-p make-obsolete "use (cl-typep ... \\='eieio-singleton) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal nil ((singleton :type eieio-singleton :allocation :class :documentation "The only instance of this class that will be instantiated.\nMultiple calls to `make-instance' will return this object.")) (:documentation "This special class causes subclasses to be singletons.\nA singleton is a class which will only ever have one instance." :abstract t)] 6)
#@73 You cannot create a new object of type `eieio-singleton'.

(fn &rest _)
(defalias 'eieio-singleton #[128 "\300\301!\207" [error "Class eieio-singleton is abstract"] 3 (#$ . 5785)])
(byte-code "\300\301\302\303\304\305%\210\306\307\310\311!\"\210\306\312\313\311!\"\210\306\314\312\"\210\315\314\316\317#\210\320\311\321\312#\322\311\302\323\324$\207" [cl-generic-define-method make-instance nil ((class (subclass eieio-singleton)) &rest _slots) t #[642 "\301\302\"\211=\203\303\302 #\202\211\207" [eieio-unbound eieio-oref-default singleton eieio-oset-default] 8 "Constructor for singleton CLASS.\nNAME and SLOTS initialize the new object.\nThis constructor guarantees that no matter how many you request,\nonly one object ever exists.\n\n(fn CLASS &rest SLOTS)"] defalias eieio-persistent-p eieio-make-class-predicate eieio-persistent eieio-persistent--eieio-childp eieio-make-child-predicate eieio-persistent-child-p make-obsolete "use (cl-typep ... \\='eieio-persistent) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal ((file :initarg :file :type string :documentation "The save file for this persistent object.\nThis must be a string, and must be specified when the new object is\ninstantiated.") (extension :type string :allocation :class :initform ".eieio" :documentation "Extension of files saved by this object.\nEnables auto-choosing nice file names based on name.") (file-header-line :type string :allocation :class :initform ";; EIEIO PERSISTENT OBJECT" :documentation "Header line for the save file.\nThis is used with the `object-write' method.") (do-backups :type boolean :allocation :class :initform t :documentation "Saving this object should make backup files.\nSetting to nil will mean no backups are made.")) (:documentation "This special class enables persistence through save files\nUse the `object-write' method to write this object to disk.  The save\nformat is Emacs Lisp code which calls the constructor for the saved\nobject.  For this reason, only slots which do not have an `:initarg'\nspecified will not be saved." :abstract t)] 6)
#@74 You cannot create a new object of type `eieio-persistent'.

(fn &rest _)
(defalias 'eieio-persistent #[128 "\300\301!\207" [error "Class eieio-persistent is abstract"] 3 (#$ . 7893)])
(cl-generic-define-method 'eieio-persistent-save-interactive nil '((this eieio-persistent) prompt &optional name) nil #[770 "\300\301\"\204\302\301\303\304\205\305\n\306\"P##\210\305\301\"\207" [slot-boundp file eieio-oset read-file-name nil eieio-oref extension] 13 "Prepare to save THIS.  Use in an `interactive' statement.\nQuery user for file name with PROMPT if THIS does not yet specify\na file.  Optional argument NAME specifies a default file name.\n\n(fn THIS PROMPT &optional NAME)"])
#@306 Read a persistent object from FILENAME, and return it.
Signal an error if the object in FILENAME is not a constructor
for CLASS.  Optional ALLOW-SUBCLASS says that it is ok for
`eieio-persistent-read' to load in subclasses of class instead of
being pedantic.

(fn FILENAME &optional CLASS ALLOW-SUBCLASS)
(defalias 'eieio-persistent-read #[769 "\204\300\301!\210\203\302!\204\303\304\305\305E\"\210\306\211\307\216r\310\311!q\210\312\306\211\211\313%\210eb\210\314 \262)\315!\262\316@\317\"\204G\320\321@\"\210\203f@=\204f\203^\316@\"\204f\320\322@#\210\323!\262\324\325#\210)\207" [warn "`eieio-persistent-read' called without specifying a class" class-p signal wrong-type-argument class nil #[0 "\300\301!\207" [kill-buffer " *tmp eieio read*"] 2] get-buffer-create " *tmp eieio read*" insert-file-contents t buffer-string read child-of-class-p eieio-persistent error "Invalid object: %s is not a subclass of `eieio-persistent'" "Invalid object: %s is not an object of class %s nor a subclass" eieio-persistent-convert-list-to-object eieio-oset file] 11 (#$ . 8592)])
#@421 Convert the INPUTLIST, representing object creation to an object.
While it is possible to just `eval' the INPUTLIST, this code instead
validates the existing list, and explicitly creates objects instead of
calling eval.  This avoids the possibility of accidentally running
malicious code.

Note: This function recurses when a slot of :type of some object is
identified, and needing more object creation.

(fn INPUTLIST)
(defalias 'eieio-persistent-convert-list-to-object #[257 "\211@A@;\203
\300\202\301\233\302\303!\203;@A@\304\305\"#\262B\262\211B\262\266AA\262\202\306\307\237#\207" [2 1 nil eieio--full-class-object eieio-persistent-validate/fix-slot-value eieio--initarg-to-attribute apply make-instance] 12 (#$ . 9705)])
#@277 Validate that in CLASS, the SLOT with PROPOSED-VALUE is good, then fix.
A limited number of functions, such as quote, list, and valid object
constructor functions are considered valid.
Second, any text properties will be stripped from strings.

(fn CLASS SLOT PROPOSED-VALUE)
(defalias 'eieio-persistent-validate/fix-slot-value #[771 "\211:\203\336\301\"S\302\303HH!>\204\"\304\305\306\303HHD\"\210\303HH\307H\310!@\311=\2039A@\202\335@\312=\203KG\313U\203K\314\202\335@\312=\203\265A@:\203\265\315A@@!\203\265\211:\203n\315@!\204u\316\317#\210A\211\203\225\211@\320@@\"\204\216\316\321@@#\210A\266\202\202w\210\314A\211\203\255\211@\322!B\262A\266\202\202\231\210\211\237\262\202\335\211\203\334\323\324\325\326\327\330	!\331\"\303\332%<\203\320\202\322C\"\203\334\322!\202\335\207\333!\203\372\334\324\335\336\327\330#\337\"\340\341%\"\210\207\342!\2030\211G\343\211W\203-\211H\315\242!\203\322!\202#\344		#I\266\211T\262\202\266\207\211;\2039\345!\207\207" [cl-struct-cl-slot-descriptor-tags eieio--slot-name-index type-of 4 signal wrong-type-argument cl-slot-descriptor 3 eieio-persistent-slot-type-is-class-p quote list 1 nil class-p error "In save file, list of object constructors found, but no :type specified for slot %S of type %S" child-of-class-p "Invalid object: slot member %s does not match class %s" eieio-persistent-convert-list-to-object seq-some make-byte-code 257 "\301\300@\"\207" vconcat vector [child-of-class-p] "\n\n(fn ELT)" hash-table-p maphash 514 "\302\303\304\242!\203\305!\202\306\300\301##\207" [puthash class-p eieio-persistent-convert-list-to-object eieio-persistent-validate/fix-slot-value] 10 "\n\n(fn KEY VALUE)" vectorp 0 eieio-persistent-validate/fix-slot-value substring-no-properties] 13 (#$ . 10466)])
#@100 Return the class referred to in TYPE.
If no class is referenced there, then return nil.

(fn TYPE)
(defalias 'eieio-persistent-slot-type-is-class-p #[257 "\301!\203\207\211\242\302=\203\301A@!\203\211A@B\207\2119\203.\211\303N\203.\304\303N !\207\2119\203j\305\306\307!\"\203j\301\310\311\307!\312\211\224#!!\203j\204_\313\314\310\311\307!\312\211\224#!#\210\310\311\307!\312\211\224#!\207\2119\203\250\305\315\307!\"\203\250\301\310\311\307!\312\211\224#!!\203\250\204\233\313\316\310\311\307!\312\211\224#!#\210\310\311\307!\312\211\224#!B\207\211\242\317=\203\265\320\304A\"\207\321\207" [eieio-backward-compatibility class-p list-of cl-deftype-handler eieio-persistent-slot-type-is-class-p string-match "-child\\'" symbol-name intern-soft substring 0 error "Use of bogus %S type instead of %S" "-list\\'" "Use of bogus %S type instead of (list-of %S)" or seq-filter nil] 9 (#$ . 12324)])
(byte-code "\300\301\302\303\304\305%\210\300\306\302\307\302\310%\210\300\311\302\312\302\313%\210\314\315\316\317!\"\210\314\320\321\317!\"\210\314\322\320\"\210\323\322\324\325#\210\326\317\327\320#\330\317\302\331\332$\207" [cl-generic-define-method object-write nil ((this eieio-persistent) &optional comment) t #[770 "\206\n\300\301\"\"\207" [eieio-oref file-header-line] 8 "Write persistent object THIS out to the current stream.\nOptional argument COMMENT is a header line comment.\n\n(fn CL--CNM THIS &optional COMMENT)"] eieio-persistent-path-relative ((this eieio-persistent) file) #[514 "\300\301!\302\303\304\"!\"\207" [file-relative-name expand-file-name file-name-directory eieio-oref file] 8 "For object THIS, make absolute file name FILE relative.\n\n(fn THIS FILE)"] eieio-persistent-save ((this eieio-persistent) &optional file) #[513 "\211\203	\304!\262\305\306!r\211q\210\307\310\311\312\313!\314\"\315$\216\206$\316\317\"\320!p\2037\321\"\202:\322!\316\317\"\307\310\323\312\313\"\324\"\325$\216\326\317#\210\327\316\n\330\"\"\210*\266\316\331\"?\332\333ed\334\335%+\262*\207" [default-directory standard-output coding-system-for-write backup-inhibited expand-file-name generate-new-buffer " *temp*" make-byte-code 0 "\301\300!\205	\302\300!\207" vconcat vector [buffer-name kill-buffer] 2 eieio-oref file file-name-directory eieio-persistent-path-relative file-name-nondirectory "\302\300\303\301#\207" [eieio-oset file] 4 eieio-oset object-write file-header-line do-backups utf-8-emacs write-region nil 1] 15 "Save persistent object THIS to disk.\nOptional argument FILE overrides the file name specified in the object\ninstance.\n\n(fn THIS &optional FILE)"] defalias eieio-named-p eieio-make-class-predicate eieio-named eieio-named--eieio-childp eieio-make-child-predicate eieio-named-child-p make-obsolete "use (cl-typep ... \\='eieio-named) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal ((object-name :initarg :object-name :initform nil)) (:documentation "Object with a name." :abstract t)] 6)
#@69 You cannot create a new object of type `eieio-named'.

(fn &rest _)
(defalias 'eieio-named #[128 "\300\301!\207" [error "Class eieio-named is abstract"] 3 (#$ . 15359)])
(byte-code "\300\301\302\303\304\305%\210\306\307\310\307\311\302#\312#\210\300\307\302\311\302\313%\210\314\307\315\316#\210\306\317\307\302#\210\314\317\307\320#\210\300\307\302\321\302\322%\210\300\323\302\324\304\325%\210\300\326\302\327\304\330%\210\331\332!\207" [cl-generic-define-method eieio-object-name-string nil ((obj eieio-named)) t #[514 "\300\301\"\206	 \207" [slot-value object-name] 5 "Return a string which is OBJ's name.\n\n(fn CL--CNM OBJ)"] defalias eieio-object-set-name-string cl-generic-define (obj name) "Set the string which is OBJ's NAME.\n\n(fn OBJ NAME)" #[514 "\211;\204
\301\302\303\304E\"\210\305#\207" [eieio--object-names signal wrong-type-argument string name puthash] 8 "\n\n(fn OBJ NAME)"] make-obsolete "inherit from `eieio-named' and use (setf (slot-value OBJ \\='object-name) NAME) instead" "25.1" object-set-name-string "24.4" ((obj eieio-named) name) #[514 "\211;\204
\300\301\302\303E\"\210\304\305#\207" [signal wrong-type-argument string name eieio-oset object-name] 7 "Set the string which is OBJ's NAME.\n\n(fn OBJ NAME)"] clone ((obj eieio-named) &rest params) #[642 "\211@;\205\f\211A\262\242\300#\301\302\"\303\302\206c\301	\302\"\232\203b\304 \305\306\307\310\311!\312\"\313$\216\203Y\314\315\"\203Y\316\317\320\"!T\321\306\211\224#\322\323!Q\262\202\\\324P)\262\202c#\210\207" [apply slot-value object-name eieio-oset match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 string-match "-\\([0-9]+\\)" string-to-number match-string 1 substring "-" int-to-string "-1"] 16 "Clone OBJ, initializing `:parent' to OBJ.\nAll slots are unbound, except those initialized with PARAMS.\n\n(fn OBJ &rest PARAMS)"] make-instance ((class (subclass eieio-named)) &rest args) #[642 "\211@;\204	 \207\203\301\202\302\303\"\210\304\305$\207" [eieio-backward-compatibility ignore message "Obsolete: name passed without :object-name to %S constructor" apply :object-name] 8 "\n\n(fn CLASS &rest ARGS)"] provide eieio-base] 6)

Zerion Mini Shell 1.0