Debugger entered--Lisp error: (void-function eieio--defgeneric-init-form) eieio--defgeneric-init-form(initialize-instance "Set value of data slot of THIS after initialization.") byte-code("\300\301\302\217\210\300\303\304\217\204\300\305\306\217\204\307\310!\210\311\312\313\314\300$\210\315\316\317\316\320\"\"\210\321\316\322\312\323$\210\315\324\317\324\325\"\"\210\321\324\300\312\326$\210\315\327\317\327\325\"\"\210\321\327\300\312\330$\210\315\331\317\331\332\"\"\210\321\331\300\312\333$\210\315\334\317\334\335\"\"\210\321\334\300\312\336$\207" [nil (byte-code "\300\301!\207" [require ert] 2) ((error)) (byte-code "\300\301!\210\300\302!\207" [require eieio eieio-base] 2) ((error)) (byte-code "\301\302\303\304\305!!\"B\306\307!\210\306\310!)\207" [load-path expand-file-name "gnus-fallback-lib/eieio" file-name-directory locate-library "gnus" require eieio eieio-base] 5) ((error)) error "eieio not found in `load-path' or gnus-fallback-lib/ directory." eieio-defclass registry-db (eieio-persistent) ((version :initarg :version :initform 0.1 :type float :custom float :documentation "The registry version.") (max-hard :initarg :max-hard :initform 5000000 :type integer :custom integer :documentation "Never accept more than this many elements.") (max-soft :initarg :max-soft :initform 50000 :type integer :custom integer :documentation "Prune as much as possible to get to this size.") (prune-factor :initarg :prune-factor :initform 0.1 :type float :custom float :documentation "At the max-hard limit, prune size * this entries.") (tracked :initarg :tracked :initform nil :type t :documentation "The tracked (indexed) fields, a list of symbols.") (precious :initarg :precious :initform nil :type t :documentation "The precious fields, a list of symbols.") (tracker :initarg :tracker :type hash-table :documentation "The field tracking hashtable.") (data :initarg :data :type hash-table :documentation "The data hashtable.")) eieio--defalias initialize-instance eieio--defgeneric-init-form "Set value of data slot of THIS after initialization." eieio--defmethod :AFTER #[(this slots) "\302\235\204\303 \304\305\306\307\310\311\312\313&#\210\314\235?\205%\303 \315\305\306\316\310\317$#\207" [slots this :data eieio-oset data make-hash-table :size 10000 :rehash-size 2.0 :test equal :tracker tracker 100 2.0] 10 "Set value of data slot of THIS after initialization."] registry-lookup "Search for KEYS in the registry-db THIS.\nReturns an alist of the key followed by the entry in a list, not a cons cell." #[(db keys) "\303\304\"\305\306\307\310\n\"\")\207" [db data keys eieio-oref :data delq nil mapcar #[(k) "\302 \"\205 \302 \"D\207" [k data gethash] 4]] 5 "Search for KEYS in the registry-db THIS.\nReturns an alist of the key followed by the entry in a list, not a cons cell."] registry-lookup-breaks-before-lexbind #[(db keys) "\306\307\"\310\311\n\311\211 :\203, @\312\f \"\203%\f\312\f \"D B A\211\202 \237+\")\207" [db data keys --cl-var-- key --cl-var-- eieio-oref :data delq nil gethash] 7 "Search for KEYS in the registry-db THIS.\nReturns an alist of the key followed by the entry in a list, not a cons cell."] registry-lookup-secondary "Search for TRACKSYM in the registry-db THIS.\nWhen CREATE is not nil, create the secondary index hashtable if needed." #[(db tracksym &optional create) "\304\305 \306\"\"\211\203\n\202, \205,\307\310\311\312\313\314\315\316&\305 \306\"#\210\304\305 \306\"\")\207" [tracksym db h create gethash eieio-oref :tracker puthash make-hash-table :size 800 :rehash-size 2.0 :test equal] 10 "Search for TRACKSYM in the registry-db THIS.\nWhen CREATE is not nil, create the secondary index hashtable if needed."] registry-lookup-secondary-value "Search for TRACKSYM with value VAL in the registry-db THIS.\nWhen SET is not nil, set it for VAL (use t for an empty list)." #[(db tracksym val &optional set) "\204 \304 \n\"\205'\203 \305 \306=?\205\304 \n\306##\210\307 \304 \n\"\"\207" [set db tracksym val registry-lookup-secondary puthash t gethash] 7 "Search for TRACKSYM with value VAL in the registry-db THIS.\nWhen SET is not nil, set it for VAL (use t for an empty list)."]] 5) require(registry)