Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
;ELC
;;; Compiled by leavens@CMC3251632-A on Thu Sep 04 23:07:33 2003
;;; from file d:/emacs/eieio/eieio.el
;;; in Emacs version 21.2.1
;;; with bytecomp version 2.85.4.1
;;; with all optimizations.
;;; This file uses dynamic docstrings, first added in Emacs 19.29.
(if (and (boundp 'emacs-version)
(< (aref emacs-version (1- (length emacs-version))) ?A)
(or (and (boundp 'epoch::version) epoch::version)
(string-lessp emacs-version "19.29")))
(error "`eieio.el' was compiled for Emacs 19.29 or later"))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
#@27 Current version of EIEIO.
(defvar eieio-version "0.17" (#$ . 592))
(byte-code "\300\301!\210\302\303\304\305#\207" [require cl load "cl-macs" nil t] 4)
#@39 Display the current version of EIEIO.
(defalias 'eieio-version #[nil "\301!\207" [eieio-version message] 2 (#$ . 750) nil])
#@392 Non-nil if this version of EIEIO does not satisfy a specific version.
Arguments can be:
(MAJOR MINOR &optional BETA)
Values MAJOR and MINOR must be integers. BETA can be an integer, or
excluded if a released version is required.
It is assumed that if the current version is newer than that specified,
everything passes. Exceptions occur when known incompatibilities are
introduced.
(defalias 'eieio-require-version #[(major minor &optional beta) "\306\307\"\205W \310\311\312\"!\310\311\313\"!\311\314\" \203\" \310 !\fV\206V \fU\2034
\nV\206V \fU\205V
\nU\205V
\204I \206V
\205V \205V
V+\207" [eieio-version vbeta vminor vmajor major minor string-match "\\([0-9]+\\)\\.\\([0-9]+\\)\\( ?beta ?\\([0-9]+\\)\\)?" string-to-int match-string 1 2 4 beta] 5 (#$ . 882)])
(byte-code "\300\301!\203 \302\303\301\"\210\202 \303\304M\210\300\207" [fboundp compiled-function-arglist defalias eieio-compiled-function-arglist #[(func) "\301H\207" [func 0] 2 "Return the argument list for the compiled function FUNC."]] 3)
#@288 *This hook is executed, then cleared each time `defclass' is called.
The immediate effect is that I can safely keep track of common-lisp
`setf' definitions regardless of the order. Users can add hooks to
this variable without worrying about weather this package has been
loaded or not.
(defvar eieio-hook nil (#$ . -1932))
#@185 *Non nil to throw an error if an encountered tag us unsupported.
This may prevent classes from CLOS applications from being used with EIEIO
since EIEIO does not support all CLOS tags.
(defvar eieio-error-unsupported-class-tags nil (#$ . -2263))
#@224 *If non-nil, skip all slot typechecking.
Set this to t permanently if a program is functioning well to get a
small speed increase. This variable is also used internally to handle
default setting for optimization purposes.
(defvar eieio-skip-typecheck nil (#$ . -2515))
#@282 Inside a method, this variable is the object in question.
DO NOT SET THIS YOURSELF unless you are trying to simulate friendly fields.
Note: Embedded methods are no longer supported. The variable THIS is
still set for CLOS methods for the sake of routines like
`call-next-method'
(defvar this nil (#$ . 2792))
#@174 This is set to a class when a method is running.
This is so we know we are allowed to check private parts or how to
execute a `call-next-method'. DO NOT SET THIS YOURSELF!
(defvar scoped-class nil (#$ . 3110))
#@46 Set to non-nil while initializing an object.
(defvar eieio-initializing-object nil (#$ . 3327))
#@62 Uninterned symbol representing an unbound slot in an object.
(defconst eieio-unbound (make-symbol "unbound") (#$ . 3429))
(byte-code "\301B\302\301!\204\f \303\303\207" [current-load-list eieio-default-superclass boundp nil] 2)
#@37 Class's symbol (self-referencing.).
(defconst class-symbol 1 (#$ . 3666))
#@21 Class parent field.
(defconst class-parent 2 (#$ . 3746))
#@29 Class children class field.
(defconst class-children 3 (#$ . 3810))
#@62 Obarray permitting fast access to variable position indexes.
(defconst class-symbol-obarray 4 (#$ . 3884))
#@31 Class public attribute index.
(defconst class-public-a 5 (#$ . 3997))
#@40 Class public attribute defaults index.
(defconst class-public-d 6 (#$ . 4073))
#@52 Class public documentation strings for attributes.
(defconst class-public-doc 7 (#$ . 4158))
#@31 Class public type for a slot.
(defconst class-public-type 8 (#$ . 4257))
#@38 Class public custom type for a slot.
(defconst class-public-custom 9 (#$ . 4336))
#@39 Class public custom group for a slot.
(defconst class-public-custom-label 10 (#$ . 4424))
#@39 Class public custom group for a slot.
(defconst class-public-custom-group 11 (#$ . 4520))
#@30 Class protection for a slot.
(defconst class-protection 12 (#$ . 4616))
#@28 Class initarg tuples list.
(defconst class-initarg-tuples 13 (#$ . 4694))
#@29 Class allocated attributes.
(defconst class-class-allocation-a 14 (#$ . 4774))
#@32 Class allocated documentation.
(defconst class-class-allocation-doc 15 (#$ . 4859))
#@29 Class allocated value type.
(defconst class-class-allocation-type 16 (#$ . 4949))
#@36 Class allocated custom descriptor.
(defconst class-class-allocation-custom 17 (#$ . 5037))
#@36 Class allocated custom descriptor.
(defconst class-class-allocation-custom-label 18 (#$ . 5134))
#@31 Class allocated custom group.
(defconst class-class-allocation-custom-group 19 (#$ . 5237))
#@34 Class allocated protection list.
(defconst class-class-allocation-protection 20 (#$ . 5335))
#@31 Class allocated value vector.
(defconst class-class-allocation-values 21 (#$ . 5434))
#@215 Cache index of what a newly created object would look like.
This will speed up instantiation time as only a `copy-sequence' will
be needed, instead of looping over all the values and setting them
from the default.
(defconst class-default-object-cache 22 (#$ . 5527))
#@95 Storage location of tagged class options.
Stored outright without modifications or stripping.
(defconst class-options 23 (#$ . 5800))
#@50 Number of fields in the class definition object.
(defconst class-num-fields 24 (#$ . 5940))
#@54 Index in an object vector where the class is stored.
(defconst object-class 1 (#$ . 6038))
#@46 Index in an object where the name is stored.
(defconst object-name 2 (#$ . 6135))
#@37 Index into :STATIC tag on a method.
(defconst method-static 0 (#$ . 6223))
#@37 Index into :BEFORE tag on a method.
(defconst method-before 1 (#$ . 6304))
#@38 Index into :PRIMARY tag on a method.
(defconst method-primary 2 (#$ . 6385))
#@36 Index into :AFTER tag on a method.
(defconst method-after 3 (#$ . 6468))
#@78 Number of indexes into methods vector in which groups of functions are kept.
(defconst method-num-lists 4 (#$ . 6547))
#@45 Index into generic :BEFORE tag on a method.
(defconst method-generic-before 4 (#$ . 6672))
#@46 Index into generic :PRIMARY tag on a method.
(defconst method-generic-primary 5 (#$ . 6769))
#@44 Index into generic :AFTER tag on a method.
(defconst method-generic-after 6 (#$ . 6868))
#@43 Number of indexes into a method's vector.
(defconst method-num-fields 7 (#$ . 6963))
#@62 This function is used to byte compile methods in a nice way.
(autoload 'byte-compile-file-form-defmethod "eieio-comp" '(#$ . 7054))
(put 'defmethod 'byte-hunk-handler 'byte-compile-file-form-defmethod)
#@58 Internal: Return the class vector from the CLASS symbol.
(defalias 'class-v '(macro . #[(class) "\301\302BB\207" [class get ('eieio-class-definition)] 3 (#$ . 7262)]))
#@195 Return t if CLASS is a valid class vector.
CLASS is a symbol. Defclass will assign the class symbol to itself, so
the shortcut (class-p foo) will work. The form (class-p 'foo) is more
robust.
(defalias 'class-p '(macro . #[(class) "\301\302\303\304\305D\306BB\307BB\310BBB\207" [class condition-case nil eq aref class-v (0) ('defclass) ((error nil))] 6 (#$ . 7438)]))
#@38 Return t if OBJ is an object vector.
(defalias 'object-p '(macro . #[(obj) "\301\302\303\304DC\305BB\306BBB\207" [obj condition-case nil let tobj ((and (eq (aref tobj 0) 'object) (class-p (aref tobj object-class)))) ((error nil))] 5 (#$ . 7815)]))
#@58 Return the symbol representing the constructor of CLASS.
(defalias 'class-constructor '(macro . #[(class) "\301\302D\303BB\207" [class aref class-v (class-symbol)] 3 (#$ . 8070)]))
#@177 Return t if symbol METHOD is a generic function.
Only methods have the symbol `eieio-method-obarray' as a property (which
contains a list of all bindings to that method type.)
(defalias 'generic-p '(macro . #[(method) "\301\302D\303\304BBE\207" [method and fboundp get ('eieio-method-obarray)] 5 (#$ . 8259)]))
#@62 Return from LIST the found OPTION. Nil if it doesn't exist.
(defalias 'class-option-assoc '(macro . #[(list option) "\302\303\304 EDD\207" [option list car-safe cdr memq] 5 (#$ . 8578)]))
#@85 Return the value stored for CLASS' OPTION.
Return nil if that option doesn't exist.
(defalias 'class-option '(macro . #[(class option) "\302\303\304D\305BB\306 DE\207" [class option class-option-assoc aref class-v (class-options) quote] 4 (#$ . 8774)]))
#@79 Return non-nil if CLASS is abstract.
Abstract classes cannot be instantiated.
(defalias 'class-abstract-p '(macro . #[(class) "\301\302BB\207" [class class-option (:abstract)] 3 (#$ . 9035)]))
#@2307 Define NAME as a new class derived from SUPERCLASS with FIELDS.
OPTIONS-AND-DOC is used as the class' options and base documentation.
SUPERCLASS is a list of superclasses to inherit from, with FIELDS
being the fields residing in that class definition. NOTE: Currently
only one field may exist in SUPERCLASS as multiple inheritance is not
yet supported. Supported tags are:
:initform - initializing form
:initarg - tag used during initialization
:accessor - tag used to create a function to access this field
:allocation - specify where the value is stored.
defaults to `:instance', but could also be `:class'
:writer - a function symbol which will `write' an object's slot
:reader - a function symbol which will `read' an object
:type - the type of data allowed in this slot (see `typep')
:documentation
- A string documenting use of this slot.
The following are extensions on CLOS:
:protection - Specify protection for this slot.
Defaults to `:public'. Also use `:protected', or `:private'
:custom - When customizing an object, the custom :type. Public only.
:label - A text string label used for a slot when customizing.
:group - Name of a customization group this slot belongs in.
A class can also have optional options. These options happen in place
of documentation, (including a :documentation tag) in addition to
documentation, or not at all. Supported options are:
:documentation - The doc-string used for this class.
Options added to EIEIO:
:allow-nil-initform - Non-nil to skip typechecking of initforms if nil.
:custom-groups - List of custom group names. Organizes slots into
reasonable groups for customizations.
:abstract - Non-nil to prevent instances of this class.
If a string, use as an error string if someone does
try to make an instance.
Options in CLOS not supported in EIEIO:
:metaclass - Class to use in place of `standard-class'
:default-initargs - Initargs to use when initializing new objects of
this class.
Due to the way class options are set up, you can add any tags in you
wish, and reference them using the function `class-option'.
(defalias 'defclass '(macro . #[(name superclass fields &rest options-and-doc) "\304\305\306D\306 D\306\nD\306D\257D\207" [name superclass fields options-and-doc eval-and-compile eieio-defclass quote] 7 (#$ . 9237)]))
#@246 See `defclass' for more information.
Define CNAME as a new subclass of SUPERCLASSES, with FIELDS being the
fields residing in that class definition, and with options or documentation
OPTIONS-AND-DOC as the toplevel documentation for this class.
(defalias 'eieio-defclass #[(cname superclasses fields options-and-doc) "\306\300!\210\307\310\311!\204 \312\300\313\"\210 9\204 \314\315\316\"\210\n<\204% \314\315\317\"\210\n\205* \n\320\f\307\"\307\321\322\217\205: \323N@\307A\307B\307C
\324\325I\210
D I\210@\203_
E@EHI\210F@;\203w FG\326\246\327U\204w \330\331!\210\202\214 F@9\203\214 FG\326\246\324U\204\214 \330\331!\210F@;\203\232 \332FB\202\234 FB\203\203@\203\374 @9\203\374 \307\333\334\217\204\301 \330\335@\"\210\202 @\323NEH\235\204\336 @\323NE @\323NEHBI\210\336\337\340@\323NGH>A\242\"\210
H@
HHBI\210\202\330\341\"\210A\211\204\246
H
HH\237I\210\202@ \342=\204@\343C \342\323NEH\235\2048\342\323NE \342\323NEHBI\210
H\"CI\210 \211L\210\344\345 !\346P!\211I\347\350C\351\352 \"\353\354\355\350 EEFM\210)\344\345 !\356P!\211I\347\357\351\360 \"\353\361\362\350 EEFM\210\363\364 \307\365\366\344\345 !\356P!DDF!\210)\367
\n\"\210\370 \323
#\210J\203\333J@\211K@LKAM\371M\372\"N\371M\373\"\206\304\373M\235?\205\304OP\371M\374\"Q\371M\332\"R\371M\375\"S\371M\376\"T\371M\377\"U\371M\201y \"V\371M\201z \"W\371M\201{ \"X\371M\201| \"Y\371M\201} \"Z\201~ B>A\242[\\\203LM\211]\203K]@\201 \235\204A\314\201\200 ]@C\"\210]AA\211]\204-)S\201\201 =\204^S\201\202 =\203d\307S\202\251S\201\203 =\204vS\201\204 =\203~\201\203 S\202\251S\201\205 =\204\220S\201\206 =\203\230\201\205 S\202\251S\307=\204\251\314\201\200 \375SD\"\210V\203\314V\201\207 =\204\314V\201\210 =\204\314\314\201\200 \201y VD\"\210W\204\324\343WY\203\353Y;\204\353\314\201\200 \201| YD\"\210Q\203V\201\207 =\203\201\211 \201\212 !\210Q\203Q\211L\210Z\204\201\213 Z\202#Z<\204#ZCZ\336\201\214 Z\"\210\201\215
LPRWXYZSQV\201\216 [&
\210\336\201\217 Z\"\210N\203y\201\220 N\201\221 DC\351\201\222 L #\201\223 \201\221 \365LDEE\"\210U\203\252\201\220 U\201\221 D\201\224 D\351\201\225 L #\201\226 \201\227 \201\221 \365LDE\201\230 BBE\"\210T\203\320\201\220 T\201\221 DC\351\201\231 L #\201\227 \201\221 \365LDEE\"\210.JA\211J\204\235
^
^H\237I\210
_
_H\237I\210
`
`H\237I\210
a\201\232 \201\233
aH\237\"I\210
b
bH\237I\210
c
cH\237I\210
d
dH\237I\210
e
eH\237I\210
f
fH\237I\210
g\201\232 \201\233
gH\"I\210
h\201\232 \201\233
hH\"I\210\324i
^Hj
eHkjGl\201\234 mm@lW\203\207mA\211m\204um@)n\320n\324\"o\307pj\203\317\344\345j@!o\"\211piL\210iTik@\203\302\370p\201\235 k@#\210jAjkAk\202\227
qoI\210.\201\236 B>A\242\203\201\236 B>A\242\211r;\204\372\351\201\237 \"r \347\201\240 \351\201\241 \"\330rDFM\210)\202+ \347\201\242 \351\201\243 \"\201\232 \201\244 \201\245 BBBFM\210\370 \201\246 \332B>A\242#\210\340B>A\242s\336\201\247 A\"\210\340B>\203[\340B>As\240\210\202d\340sBBBB)
GBI\210C\203w
H\307I\210\320
^HG\201\250 \\\307\"\211t\324\201\251 I\210tu I\210tv\201\252 I\210\343w\201\253 t\343\"\210)
xtI\210)
.\207" [eieio-hook cname superclasses pname class-num-fields newc run-hooks nil featurep cl add-hook eieio-cl-run-defsetf signal wrong-type-argument (symbolp cname) (listp superclasses) make-vector (byte-code "\301N\302H\303=\207" [cname eieio-class-definition 0 defclass] 2) ((error)) eieio-class-definition 0 defclass 2 1 error "Too many arguments to `defclass'" :documentation (byte-code "@\301N\302H\303=\207" [pname eieio-class-definition 0 defclass] 2) ((error)) "Given parent class %s is not a class" mapcar #[(g) "\301\302\"\207" [g add-to-list groups] 3] :custom-groups "Invalid parent class %s" eieio-default-superclass t intern symbol-name "-p" lambda obj format "Test OBJ to see if it an object of type %s" and (object-p obj) same-class-p "-child-p" (obj) "Test OBJ to see if it an object is a child of type %s" (object-p obj) object-of-class-p eval deftype quote satisfies eieio-copy-parents-into-subclass put plist-get :accessor :initform :initarg :protection :reader :writer oldc groups options clearparent class-symbol class-children options-and-doc class-options class-parent csym fields field1 name field acces eieio-unbound init initarg docstr prot reader writer alloc type custom label customg skip-nil eieio-error-unsupported-class-tags tmp class-public-a class-public-d class-public-doc class-public-type class-public-custom class-public-custom-label class-public-custom-group class-protection class-initarg-tuples class-class-allocation-type class-class-allocation-values cnt pubsyms prots l primes vl oa newsym class-symbol-obarray abs g cache object-class object-name eieio-skip-typecheck class-default-object-cache :allocation :type :custom :label :group :allow-nil-initform (:accessor :initform :initarg :documentation :protection :reader :writer :allocation :type :custom :label :group :allow-nil-initform :custom-groups) invalid-slot-type public :public protected :protected private :private :class :instance message "Class allocated slots do not need :initarg" (default) #[(cg) "9?\205\f \301\302\303D\"\207" [cg signal invalid-slot-type :group] 4] eieio-add-new-field defaultoverride #[(cg) "\301\302\"\207" [cg add-to-list groups] 3] eieio-defmethod this "Retrieves the slot `%s' from an object of class `%s'" eieio-oref value "Set the slot `%s' of an object of class `%s'" setf slot-value (value) "Access the slot `%s' from object of class `%s'" apply vector (3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101) protection :abstract "Class %s is abstract" (&rest stuff) "You cannot create a new object of type %s" (newname &rest fields) "Create a new object with name NAME of class type %s" 'constructor (newname fields) variable-documentation #[(cg) "\301\302\"\207" [cg add-to-list g] 3] 3 object default-cache-object eieio-set-defaults] 15 (#$ . 11771)])
#@104 For FIELD, signal if SPEC does not match VALUE.
If SKIPNIL is non-nil, then if VALUE is nil, return t.
(defalias 'eieio-perform-slot-validation-for-default #[(field spec value skipnil) "\306!\n?\205\" \205 ??\205\" \307\f \"?\205\" \310\311
\f E\")\207" [value val eieio-skip-typecheck skipnil spec field eieio-default-eval-maybe eieio-perform-slot-validation signal invalid-slot-type] 5 (#$ . 17891)])
#@461 Add into NEWC attribute A.
If A already exists in NEWC, then do nothing. If it doesn't exist,
then also add in D (defualt), DOC, TYPE, CUST, LABEL, CUSTG, PROT, and INIT arg.
Argument ALLOC specifies if the field is allocated per instance, or per class.
If optional DEFAULTOVERRIDE is non-nil, then if A exists in NEWC,
we must override it's value for a default.
Optional argument SKIPNIL indicates if type checking should be skipped
if default value is nil.
(defalias 'eieio-add-new-field #[(newc a d doc type cust label custg prot init alloc &optional defaultoverride skipnil) "\306!\203\n \307!\306 !\203 \307 !\306\n!\203 \307\n!\306!\203( \307!\f
H\235\2034 \310\203F 9\203&\311=\203&\f
H\235\204\300 \312\f $\210
\f
HBI\210
HBI\210
HBI\210
HBI\210
\n
HBI\210
HBI\210
HBI\210
HBI\210
\fB
HBI\207 \205%
H!\f!\235\"!G\"GZ#\"\205\346 #
H\233$\"\205\364 #
H8%\"\204\313\314\f\"\202$ \315=\204 %\232\204\313\316 %\f$\210\312\f%$\210$\240-\207\317!&\f
H\235\204\233\312\f &$\210
\f
HBI\210
'
'HBI\210
(
(HBI\210
)\n
)HBI\210
*
*HBI\210
+
+HBI\210
,
,HBI\210
-&
-HBI\202 \205
H!\f!\235\"!G\"GZ#\"\205\301#
-H\233$\"\205\317#
(H8%\"\204\335\313\314\f\"\202 \315=\204\362 %\232\204\362\313\316 %\f$\210\312\f%&$\210$&\240-)\207" [d type cust custg a newc sequencep copy-sequence :class :instance eieio-perform-slot-validation-for-default error "Eieio internal error overriding default value for %s" t "Child slot type `%s' does not match inherited type `%s' for `%s'" eieio-default-eval-maybe class-class-allocation-a alloc class-public-a skipnil class-public-d class-public-doc doc class-public-type class-public-custom class-public-custom-label label class-public-custom-group class-protection prot class-initarg-tuples init defaultoverride ca np num dp tp value class-class-allocation-doc class-class-allocation-type class-class-allocation-custom class-class-allocation-custom-label class-class-allocation-custom-group class-class-allocation-protection class-class-allocation-values] 5 (#$ . 18306)])
#@128 Copy into NEWC the fields of PARENTS.
Follow the rules of not overwritting early parents when applying to
the new child class.
(defalias 'eieio-copy-parents-into-subclass #[(newc parents) " H\306\nH>A\242\211\2057\f@\307N\211\fH
H
H
H
H
H
H
H
H\310\203\251 \311@@@H@@@@@\242\312\211&
\210AAATAAAAA\202N .\n
H
H
!H
\"H
#H
$H
%H
&H\310'\203-\311@'H@H@@@@\312\313&\f\210AAAAAAT\202\336 .\n\fA\211\204 \312*\207" [newc class-parent class-options sn ps pcv :allow-nil-initform eieio-class-definition 0 eieio-add-new-field nil :class class-public-a class-public-d class-public-doc class-public-type class-public-custom class-public-custom-label class-public-custom-group class-protection class-initarg-tuples i pinit pprot pcustg plabel pcust ptype pdoc pd pa class-class-allocation-a class-class-allocation-doc class-class-allocation-type class-class-allocation-custom class-class-allocation-custom-label class-class-allocation-custom-group class-class-allocation-protection class-class-allocation-values pval] 15 (#$ . 20502)])
#@628 Make a new instance of CLASS with NAME and initialization based on INITARGS.
The class' constructor requires a name for use when printing.
`make-instance' in CLOS doesn't use names the way Emacs does, so the
class is used as the name slot instead when INITARGS doesn't start with
a string. The rest of INITARGS are label/value pairs. The label's
are the symbols created with the :initarg tag from the `defclass' call.
The value is the value stored in that slot.
CLASS is a symbol. Defclass will assign the class symbol to itself, so
the shortcut (make-instance foo) will work. The form (make-instance 'foo)
is more robust.
(defalias 'make-instance #[(class &rest initargs) "@\203 @;\203 \303 \304N\nH\"\207\303 \304N\nH #\207" [initargs class class-symbol apply eieio-class-definition] 4 (#$ . 21717)])
#@425 Create a generic function METHOD. ARGS is ignored.
DOC-STRING is the base documentation for this class. A generic
function has no body, as it's purpose is to decide which method body
is appropriate to use. Use `defmethod' to create methods, and it
calls defgeneric for you. With this implementation the arguments are
currently ignored. You can use `defgeneric' to apply specialized
top level documentation to a method.
(defalias 'defgeneric '(macro . #[(method args &optional doc-string) "\302\303D E\207" [method doc-string eieio-defgeneric quote] 3 (#$ . 22537)]))
#@185 The lambda form that would be used as the function defined on METHOD.
All methods should call the same EIEIO function for dispatch.
DOC-STRING is the documentation attached to METHOD.
(defalias 'eieio-defgeneric-form #[(method doc-string) "\302\303\304\305 D\306BBF\207" [doc-string method lambda (&rest local-args) eieio-generic-call quote (local-args)] 6 (#$ . 23117)])
#@68 Engine part to `defgeneric' macro defining METHOD with DOC-STRING.
(defalias 'eieio-defgeneric #[(method doc-string) "\303 \"\304!\203 \304!\203 \305N\204 \306\307!\210\nM\210)\300\207" [method doc-string lambda-form eieio-defgeneric-form fboundp eieio-method-obarray error "You cannot create a generic/method over an existing symbol"] 3 (#$ . 23496)])
#@274 Create a new METHOD through `defgeneric' with ARGS.
ARGS lists any keys (such as :BEFORE, :PRIMARY, :AFTER, or :STATIC),
the arglst, and doc string, and eventually the body, such as:
(defmethod mymethod [:BEFORE | :PRIMARY | :AFTER | :STATIC] (args)
doc-string body)
(defalias 'defmethod '(macro . #[(method &rest args) "\302\303D\303 DE\207" [method args eieio-defmethod quote] 4 (#$ . 23865)]))
#@63 Work part of the `defmethod' macro defining METHOD with ARGS.
(defalias 'eieio-defmethod #[(method args) "\306\211\211\211\211\211@\307=\203 A\202V @\310=\2030 A\202V @\311=\203B A \202V @\312=\203T A!\202V A@\211\211\203~ @<\203r @@\202t @\nBA\211\204f \313\"!\204\232 \314\"\f@;\203\223 \f@\202\230 \315\316\"\"\"\210@\211<\203\270 A@\306\317\320\217\204\311 \321\322A@\"\210\202\311
\323U\203\305 \324\325\312\326D\"\210
\327\\\330\f\242!\203\334 \331\"\f\242
$\210\202\353 \331\"\332\333\334\n!D\f\"
$\210.\"\207" [loopa argclass argfix firstarg body key nil :BEFORE :AFTER :PRIMARY :STATIC fboundp eieio-defgeneric format "Generically created method `%s'" (byte-code "\301N\302H\303=\207" [argclass eieio-class-definition 0 defclass] 2) ((error)) error "Unknown class type %s in method parameters" -1 signal wrong-type-argument non-class-arg 3 byte-code-function-p eieiomt-add append lambda reverse args method-before method-after method-primary method-static method] 7 (#$ . 24275)])
#@46 Return non-nil if SPEC does not match VALUE.
(defalias 'eieio-perform-slot-validation #[(spec value) "\303=\206 \n=\206 \304 \"\207" [spec value eieio-unbound t typep] 3 (#$ . 25343)])
#@182 Make sure that for CLASS referencing FIELD-IDX, that VALUE is valid.
Checks the :type specifier.
FIELD is the field that is being checked, and is only used when throwing
and error.
(defalias 'eieio-validate-slot-value #[(class field-idx value field) "?\205# \306Z\n\307NH H\310\f
\"?\205\" \311\312\n\f
F\")\207" [eieio-skip-typecheck field-idx class class-public-type st value 3 eieio-class-definition eieio-perform-slot-validation signal invalid-slot-type field] 6 (#$ . 25540)])
#@182 Make sure that for CLASS referencing FIELD-IDX, that VALUE is valid.
Checks the :type specifier.
FIELD is the field that is being checked, and is only used when throwing
and error.
(defalias 'eieio-validate-class-slot-value #[(class field-idx value field) "?\205 \306N\nHH\307\f
\"?\205 \310\311 \n\f
F\")\207" [eieio-skip-typecheck class class-class-allocation-type field-idx st value eieio-class-definition eieio-perform-slot-validation signal invalid-slot-type field] 6 (#$ . 26036)])
#@224 Throw a signal if VALUE is a representation of an UNBOUND slot.
INSTANCE is the object being referenced. SLOTNAME is the offending
slot. If the slot is ok, return VALUE.
Argument FN is the function calling this verifier.
(defalias 'eieio-barf-if-slot-unbound #[(value instance slotname fn) " =\203 \n\204 \306\307!\f
$\207\207" [value eieio-unbound eieio-skip-typecheck instance slotname fn slot-unbound object-class] 5 (#$ . 26538)])
#@37 Return non-nil if BOOL is nil or t.
(defalias 'boolean-p #[(bool) "?\206 \301=\207" [bool t] 2 (#$ . 26987)])
#@161 Retrieve the value stored in OBJ in the slot named by FIELD.
Field is the name of the slot when created by `defclass' or the label
created by the :initarg tag.
(defalias 'oref '(macro . #[(obj field) "\302\303 DE\207" [obj field eieio-oref quote] 4 (#$ . 27107)]))
#@56 Return the value in OBJ at FIELD in the object vector.
(defalias 'eieio-oref #[(obj field) "\306\307\310\217\204 \306\311\312\217\204 \313\314\315D\"\210 9\204! \313\314\316 D\"\210\306\317\320\217\203, \202/ \nH\321 \"\211\204T \322 \"\211\203L \323N
H\fH\202j \324 \325#\202j \306\326\327\217\204b \313\314\330D\"\210\331\fH \325$*\207" [obj field object-class class c class-class-allocation-values nil (byte-code "\211\302H\303=\205 \304\305\306\217)\207" [obj tobj 0 object nil (byte-code " H\302N\303H\304=\207" [tobj object-class eieio-class-definition 0 defclass] 2) ((error))] 4) ((error)) (byte-code "\301N\302H\303=\207" [obj eieio-class-definition 0 defclass] 2) ((error)) signal wrong-type-argument (or object-p class-p) symbolp (byte-code "\301N\302H\303=\207" [obj eieio-class-definition 0 defclass] 2) ((error)) eieio-field-name-index eieio-class-field-name-index eieio-class-definition slot-missing oref (byte-code "\211\302H\303=\205 \304\305\306\217)\207" [obj tobj 0 object nil (byte-code " H\302N\303H\304=\207" [tobj object-class eieio-class-definition 0 defclass] 2) ((error))] 4) ((error)) object-p eieio-barf-if-slot-unbound] 6 (#$ . 27379)])
(byte-code "\300\301\302\"\210\300\303\304\"\207" [defalias slot-value eieio-oref set-slot-value eieio-oset] 3)
#@500 The same as `lambda' but is used as a default value in `defclass'.
As such, the form (lambda-default ARGS DOCSTRING INTERACTIVE BODY) is
self quoting. This macro is meant for the sole purpose of quoting
lambda expressions into class defaults. Any `lambda-default'
expression is automatically transformed into a `lambda' expression
when copied from the defaults into a new object. The use of
`oref-default', however, will return a `lambda-default' expression.
CDR is function definition and body.
(defalias 'lambda-default '(macro . #[(&rest cdr) "\301\302BD\207" [cdr function lambda-default] 3 (#$ . 28690)]))
(byte-code "\300\301\302\303#\210\300\301\304\305#\207" [put lambda-default lisp-indent-function defun byte-compile byte-compile-lambda-form] 4)
#@228 Gets the default value of OBJ (maybe a class) for FIELD.
The default value is the value installed in a class with the :initform
tag. FIELD can be the slot name, or the tag specified by the :initarg
tag in the `defclass' call.
(defalias 'oref-default '(macro . #[(obj field) "\302\303 DE\207" [obj field eieio-oref-default quote] 4 (#$ . 29457)]))
#@115 Does the work for the macro `oref-default' with similar parameters.
Fills in OBJ's FIELD with it's default value.
(defalias 'eieio-oref-default #[(obj field) "\306\307\310\217\204 \306\311\312\217\204 \313\314\315D\"\210 9\204! \313\314\316 D\"\210\306\317\320\217\203. \nH\202/ \321 \"\211\204T \322 \"\211\203L \323N
H\fH\202j \324 \325#\202j \326\f\327Z\323NH8\330!)\325$*\207" [obj field object-class cl c class-class-allocation-values nil (byte-code "\211\302H\303=\205 \304\305\306\217)\207" [obj tobj 0 object nil (byte-code " H\302N\303H\304=\207" [tobj object-class eieio-class-definition 0 defclass] 2) ((error))] 4) ((error)) (byte-code "\301N\302H\303=\207" [obj eieio-class-definition 0 defclass] 2) ((error)) signal wrong-type-argument object-p symbolp (byte-code "\211\302H\303=\205 \304\305\306\217)\207" [obj tobj 0 object nil (byte-code " H\302N\303H\304=\207" [tobj object-class eieio-class-definition 0 defclass] 2) ((error))] 4) ((error)) eieio-field-name-index eieio-class-field-name-index eieio-class-definition slot-missing oref-default eieio-barf-if-slot-unbound 3 eieio-default-eval-maybe class-public-d val] 6 (#$ . 29813)])
#@58 Check VAL, and return what `oref-default' would provide.
(defalias 'eieio-default-eval-maybe #[(val) "<\203 @\302\232\203 \207<\203 @\303=\203 A@\207<\2036 @\304=\2036 \305!\211\302\240\210 )\207\207" [val s lambda quote lambda-default copy-sequence] 3 (#$ . 31001)])
#@174 Set the value in OBJ for slot FIELD to VALUE.
FIELD is the slot name as specified in `defclass' or the tag created
with in the :initarg slot. VALUE can be any Lisp object.
(defalias 'oset '(macro . #[(obj field value) "\303\304 D\nF\207" [obj field value eieio-oset quote] 4 (#$ . 31292)]))
#@70 Does the work for the macro `oset'.
Fills in OBJ's FIELD with VALUE.
(defalias 'eieio-oset #[(obj field value) "\306\307\310\217\204 \311\312\313D\"\210 9\204 \311\312\314 D\"\210\315\nH \"\211\204O \316\nH \"\211\203F \317\nH\f $\210\nH\320N
H\fI\202\\ \321 \322\f$\202\\ \323\nH\f $\210\fI)\207" [obj field object-class c value class-class-allocation-values nil (byte-code "\211\302H\303=\205 \304\305\306\217)\207" [obj tobj 0 object nil (byte-code " H\302N\303H\304=\207" [tobj object-class eieio-class-definition 0 defclass] 2) ((error))] 4) ((error)) signal wrong-type-argument object-p symbolp eieio-field-name-index eieio-class-field-name-index eieio-validate-class-slot-value eieio-class-definition slot-missing oset eieio-validate-slot-value] 6 (#$ . 31591)])
#@215 Set the default slot in CLASS for FIELD to VALUE.
The default value is usually set with the :initform tag during class
creation. This allows users to change the default behavior of classes
after they are created.
(defalias 'oset-default '(macro . #[(class field value) "\303\304 D\nF\207" [class field value eieio-oset-default quote] 4 (#$ . 32388)]))
#@103 Does the work for the macro `oset-default'.
Fills in the default value in CLASS' in FIELD with VALUE.
(defalias 'eieio-oset-default #[(class field value) "\306\307\310\217\204 \311\312\313D\"\210 9\204 \311\312\314 D\"\210\315 \"\211\204K \316 \"\211\203@ \317\f $\210\320N
H\fI\202i \311\321\322! D\"\202i \323\f $\210\324Z\320NH\233\f\240\210\325\320NH \f#*\207" [class field scoped-class c value class-class-allocation-values nil (byte-code "\301N\302H\303=\207" [class eieio-class-definition 0 defclass] 2) ((error)) signal wrong-type-argument class-p symbolp eieio-field-name-index eieio-class-field-name-index eieio-validate-class-slot-value eieio-class-definition invalid-slot-name class-name eieio-validate-slot-value 3 eieio-oset class-public-d class-default-object-cache] 6 (#$ . 32749)])
#@348 The macro with-slots establishes a lexical environment for
referring to the slots in the instance named by the given
slot-names as though they were variables. Within such a context
the value of the slot can be specified by using its slot name,
as if it were a lexically bound variable. Both setf and setq
can be used to set the value of the slot.
(defalias 'with-slots '(macro . #[(spec-list object &rest body) "\303\304\"\305\306 D\n\")\207" [spec-list mappings body mapcar #[(entry) "<\203\n @\202 <\203 \211A@)\202 \211\305\f\306\nDE*D\207" [entry x slot var object slot-value quote] 6] append symbol-macrolet] 3 (#$ . 33579)]))
(put 'with-slots 'lisp-indent-function 2)
#@53 Return the class struct defining OBJ with no check.
(defalias 'object-class-fast '(macro . #[(obj) "\301\302BB\207" [obj aref (object-class)] 3 (#$ . 34273)]))
#@43 Return a Lisp like symbol name for CLASS.
(defalias 'class-name #[(class) "\301\302\303\217\204 \304\305\306D\"\210\307\310\311!\"\207" [class nil (byte-code "\301N\302H\303=\207" [class eieio-class-definition 0 defclass] 2) ((error)) signal wrong-type-argument class-p format "#" symbol-name] 4 (#$ . 34440)])
#@121 Return a Lisp like symbol string for object OBJ.
If EXTRA, include that in the string returned to represent the symbol.
(defalias 'object-name #[(obj &optional extra) "\304\305\306\217\204 \307\310\311D\"\210\312\313\314 H!\nH\206 \315$\207" [obj object-class object-name extra nil (byte-code "\211\302H\303=\205 \304\305\306\217)\207" [obj tobj 0 object nil (byte-code " H\302N\303H\304=\207" [tobj object-class eieio-class-definition 0 defclass] 2) ((error))] 4) ((error)) signal wrong-type-argument object-p format "#<%s %s%s>" symbol-name ""] 5 (#$ . 34772)])
#@38 Return a string which is OBJ's name.
(defalias 'object-name-string #[(obj) "\302\303\304\217\204 \305\306\307D\"\210 H\207" [obj object-name nil (byte-code "\211\302H\303=\205 \304\305\306\217)\207" [obj tobj 0 object nil (byte-code " H\302N\303H\304=\207" [tobj object-class eieio-class-definition 0 defclass] 2) ((error))] 4) ((error)) signal wrong-type-argument object-p] 4 (#$ . 35352)])
#@37 Set the string which is OBJ's NAME.
(defalias 'object-set-name-string #[(obj name) "\303\304\305\217\204 \306\307\310D\"\210 ;\204 \306\307\311 D\"\210\n I\207" [obj name object-name nil (byte-code "\211\302H\303=\205 \304\305\306\217)\207" [obj tobj 0 object nil (byte-code " H\302N\303H\304=\207" [tobj object-class eieio-class-definition 0 defclass] 2) ((error))] 4) ((error)) signal wrong-type-argument object-p stringp] 4 (#$ . 35757)])
#@39 Return the class struct defining OBJ.
(defalias 'object-class #[(obj) "\302\303\304\217\204 \305\306\307D\"\210 H\207" [obj object-class nil (byte-code "\211\302H\303=\205 \304\305\306\217)\207" [obj tobj 0 object nil (byte-code " H\302N\303H\304=\207" [tobj object-class eieio-class-definition 0 defclass] 2) ((error))] 4) ((error)) signal wrong-type-argument object-p] 4 (#$ . 36213)])
(defalias 'class-of 'object-class)
#@49 Return a Lisp like symbol name for OBJ's class.
(defalias 'object-class-name #[(obj) "\302\303\304\217\204 \305\306\307D\"\210\310 H!\207" [obj object-class nil (byte-code "\211\302H\303=\205 \304\305\306\217)\207" [obj tobj 0 object nil (byte-code " H\302N\303H\304=\207" [tobj object-class eieio-class-definition 0 defclass] 2) ((error))] 4) ((error)) signal wrong-type-argument object-p class-name] 4 (#$ . 36649)])
#@47 Return parent classes to CLASS with no check.
(defalias 'class-parents-fast '(macro . #[(class) "\301\302D\303BB\207" [class aref class-v (class-parent)] 3 (#$ . 37081)]))
#@58 Return parent classes to CLASS. (overload of variable).
(defalias 'class-parents #[(class) "\302\303\304\217\204 \305\306\307D\"\210\310N H\207" [class class-parent nil (byte-code "\301N\302H\303=\207" [class eieio-class-definition 0 defclass] 2) ((error)) signal wrong-type-argument class-p eieio-class-definition] 4 (#$ . 37260)])
#@46 Return child classes to CLASS with no check.
(defalias 'class-children-fast '(macro . #[(class) "\301\302D\303BB\207" [class aref class-v (class-children)] 3 (#$ . 37604)]))
#@33 Return child classses to CLASS.
(defalias 'class-children #[(class) "\302\303\304\217\204 \305\306\307D\"\210\310N H\207" [class class-children nil (byte-code "\301N\302H\303=\207" [class eieio-class-definition 0 defclass] 2) ((error)) signal wrong-type-argument class-p eieio-class-definition] 4 (#$ . 37785)])
#@51 Return first parent class to CLASS with no check.
(defalias 'class-parent-fast '(macro . #[(class) "\301\302DD\207" [class car class-parents-fast] 3 (#$ . 38107)]))
#@62 Return first parent class to CLASS. (overload of variable).
(defalias 'class-parent '(macro . #[(class) "\301\302DD\207" [class car class-parents] 3 (#$ . 38279)]))
#@64 Return t if OBJ is of class-type CLASS with no error checking.
(defalias 'same-class-fast-p '(macro . #[(obj class) "\302\303\304BB E\207" [obj class eq aref (object-class)] 4 (#$ . 38452)]))
#@41 Return t if OBJ is of class-type CLASS.
(defalias 'same-class-p #[(obj class) "\303\304\305\217\204 \306\307\310D\"\210\303\311\312\217\204 \306\307\313 D\"\210 \nH=\207" [class obj object-class nil (byte-code "\301N\302H\303=\207" [class eieio-class-definition 0 defclass] 2) ((error)) signal wrong-type-argument class-p (byte-code "\211\302H\303=\205 \304\305\306\217)\207" [obj tobj 0 object nil (byte-code " H\302N\303H\304=\207" [tobj object-class eieio-class-definition 0 defclass] 2) ((error))] 4) ((error)) object-p] 4 (#$ . 38651)])
#@69 Return non-nil if OBJ is an instance of CLASS or CLASS' subclasses.
(defalias 'object-of-class-p #[(obj class) "\303\304\305\217\204 \306\307\310D\"\210\311 H\n\"\207" [obj object-class class nil (byte-code "\211\302H\303=\205 \304\305\306\217)\207" [obj tobj 0 object nil (byte-code " H\302N\303H\304=\207" [tobj object-class eieio-class-definition 0 defclass] 2) ((error))] 4) ((error)) signal wrong-type-argument object-p child-of-class-p] 4 (#$ . 39208)])
(defalias 'obj-of-class-p 'object-of-class-p)
#@40 If CHILD class is a subclass of CLASS.
(defalias 'child-of-class-p #[(child class) "\304\305\306\217\204 \307\310\311D\"\210\304\312\313\217\204 \307\310\311 D\"\210\304 \203: =\204: \314\n \315NH\"\211@\nA\202 \205? \316)\207" [class child p class-parent nil (byte-code "\301N\302H\303=\207" [class eieio-class-definition 0 defclass] 2) ((error)) signal wrong-type-argument class-p (byte-code "\301N\302H\303=\207" [child eieio-class-definition 0 defclass] 2) ((error)) append eieio-class-definition t] 5 (#$ . 39727)])
#@33 List of slots available in OBJ.
(defalias 'object-slots #[(obj) "\303\304\305\217\204 \306\307\310D\"\210 H\311N\nH\207" [obj object-class class-public-a nil (byte-code "\211\302H\303=\205 \304\305\306\217)\207" [obj tobj 0 object nil (byte-code " H\302N\303H\304=\207" [tobj object-class eieio-class-definition 0 defclass] 2) ((error))] 4) ((error)) signal wrong-type-argument object-p eieio-class-definition] 4 (#$ . 40268)])
#@36 Fetch from CLASS, SLOT's :initarg.
(defalias 'class-slot-initarg #[(class slot) "\305\306\307\217\204 \310\311\312D\"\210\313N H\305\211\2031 \n\2041 @A\f=\203* @@A\211\204 \n*\207" [class class-initarg-tuples f ia slot nil (byte-code "\301N\302H\303=\207" [class eieio-class-definition 0 defclass] 2) ((error)) signal wrong-type-argument class-p eieio-class-definition] 5 (#$ . 40709)])
#@167 Non-nil if OBJECT's SLOT is bound.
Setting a slot's value makes it bound. Calling `slot-makeunbound' will
make a slot unbound.
OBJECT can be an instance or a class.
(defalias 'slot-boundp #[(object slot) "\304\305\306\307\217\203 \310 \n\"=?\2052 \304\2022 \305\311\312\217\203, \313 \n\"=?\2052 \304\2022 \314\315\316 D\")\207" [eieio-skip-typecheck object slot eieio-unbound t nil (byte-code "\211\302H\300=\205 \303\304\305\217)\207" [object tobj 0 nil (byte-code " H\302N\303H\304=\207" [tobj object-class eieio-class-definition 0 defclass] 2) ((error))] 4) ((error)) eieio-oref (byte-code "\301N\302H\303=\207" [object eieio-class-definition 0 defclass] 2) ((error)) eieio-oref-default signal wrong-type-argument object-p] 4 (#$ . 41116)])
#@31 In OBJECT, make SLOT unbound.
(defalias 'slot-makeunbound #[(object slot) "\303 \n#\207" [object slot eieio-unbound eieio-oset] 4 (#$ . 41877)])
#@38 Non-nil if OBJECT-OR-CLASS has SLOT.
(defalias 'slot-exists-p #[(object-or-class slot) "\305\306\307\217\203
\310!\202 \305\311\312\217\205 \313N\n H>\206% \n \fH>)\207" [object-or-class cv slot class-public-a class-class-allocation-a nil (byte-code "\211\302H\303=\205 \304\305\306\217)\207" [object-or-class tobj 0 object nil (byte-code " H\302N\303H\304=\207" [tobj object-class eieio-class-definition 0 defclass] 2) ((error))] 4) ((error)) object-class (byte-code "\301N\302H\303=\207" [object-or-class eieio-class-definition 0 defclass] 2) ((error)) eieio-class-definition] 3 (#$ . 42029)])
#@114 Return the class that SYMBOL represents. (CLOS function)
If there is no class, nil is returned if ERRORP is nil.
(defalias 'find-class #[(symbol &optional errorp) "\302\303\304\217\204 \205 \305\306\307 D\"\207 \310N\207" [errorp symbol nil (byte-code "\301N\302H\303=\207" [symbol eieio-class-definition 0 defclass] 2) ((error)) signal wrong-type-argument class-p eieio-class-definition] 4 (#$ . 42644)])
#@144 Return non-nil if KEY is `equal' to the FIELD of the car of objects in LIST.
The value is actually the element of LIST whose field equals KEY.
(defalias 'object-assoc #[(key field list) "<\204\f \301\302\303D\"\210\203 \304\305\306\217\204 A\211\204 @\207" [list signal wrong-type-argument listp nil (byte-code "\303 @\n\"\232\207" [key list field eieio-oref] 4) ((error))] 5 (#$ . 43061)])
#@195 Return an association list with the contents of FIELD as the key element.
LIST must be a list of objects with FIELD in it.
This is useful when you need to do completing read on an object group.
(defalias 'object-assoc-list #[(field list) "<\204\f \303\304\305D\"\210\306\203$ \307@\n\"@B BA\211\204 \237)\207" [list assoclist field signal wrong-type-argument listp nil eieio-oref] 5 (#$ . 43469)])
#@230 Return an association list with the contents of FIELD as the key element.
LIST must be a list of objects, but those objects do not need to have
FIELD in it. If it does not, then that element is left out of the association
list.
(defalias 'object-assoc-list-safe #[(field list) "<\204\f \303\304\305D\"\210\306\203, \307@\n\"\203% \310@\n\"@B BA\211\204 \237)\207" [list assoclist field signal wrong-type-argument listp nil slot-exists-p eieio-oref] 5 (#$ . 43885)])
#@323 In OBJECT's SLOT, add ITEM to the pre-existing list of elements.
Optional argument APPEND indicates we need to append to the list.
If ITEM already exists in the list in SLOT, then it is not added.
Comparison is done with `equal' through the `member' function call.
If SLOT is unbound, bind it to the list containing ITEM.
(defalias 'object-add-to-list #[(object slot item &optional append) "\305\306 \n\"\204 C\2022 \307 \n\"\211<\204 C\235\2042 \f\203. \304C\"\2021 B\310 \n#)\207" [ov object slot item append nil slot-boundp eieio-oref eieio-oset] 5 (#$ . 44371)])
#@210 In OBJECT's SLOT, remove occurrences ITEM.
If ITEM already exists in the list in SLOT, then it is not added.
Comparison is done with `equal' through the `delete' function call.
If SLOT is unbound, do nothing.
(defalias 'object-remove-from-list #[(object slot item) "\303 \"\205 \304 \305\n\306 \"\"#\207" [object slot item slot-boundp eieio-oset delete eieio-oref] 8 (#$ . 44961)])
#@175 Return Non-nil if START-CLASS is the first class to define FIELD.
This is for testing if `scoped-class' is the class that defines FIELD
so that we can protect private slots.
(defalias 'eieio-field-originating-class-p #[(start-class field) "\305!\306\211\204 \306\202. \n\203- \203- \307\310!\n@\311N\fH\"\203&