;ELC   
;;; Compiled
;;; in Emacs version 29.4
;;; with all optimizations.


#@173 Return the file and list of definitions associated with FEATURE.
The value is actually the element of `load-history'
for the file that did (provide FEATURE).

(fn FEATURE)
(defalias 'feature-symbols #[257 "\3012' \302B\211\203! \211@A\235\203 \303\301\"\210A\266\202\202 \304\262\2620\207" [load-history foundit provide throw nil] 7 (#$ . 84)])#@296 Return the file name from which a given FEATURE was loaded.
Actually, return the load argument, if any; this is sometimes the name of a
Lisp file without an extension.  If the feature came from an `eval-buffer' on
a buffer with no associated file, or an `eval-region', return nil.

(fn FEATURE)
(defalias 'feature-file #[257 "\300!\204 \301\302\"\207\303!@\207" [featurep error "%S is not a currently loaded feature" feature-symbols] 4 (#$ . 445)])#@178 Return the `load-history' element for FILE.
FILE can be a file name, or a library name.
A library name is equivalent to the file name that `load-library' would load.

(fn FILE)
(defalias 'file-loadhist-lookup #[257 "\302\"\211\204  \303	\304 #\211\203 \211\232\204 \302\"A\262\210\207" [load-history load-path assoc locate-file get-load-suffixes] 6 (#$ . 904)])#@197 Return the list of features provided by FILE as it was loaded.
FILE can be a file name, or a library name.
A library name is equivalent to the file name that `load-library' would load.

(fn FILE)
(defalias 'file-provides #[257 "\300\301!\211\203 \211@\211\242\302=\203 \211AB\262A\266\202\202 \207" [nil file-loadhist-lookup provide] 6 (#$ . 1281)])#@197 Return the list of features required by FILE as it was loaded.
FILE can be a file name, or a library name.
A library name is equivalent to the file name that `load-library' would load.

(fn FILE)
(defalias 'file-requires #[257 "\300\301!\211\203 \211@\211\242\302=\203 \211AB\262A\266\202\202 \207" [nil file-loadhist-lookup require] 6 (#$ . 1645)])#@221 Return the list of loaded libraries that depend on FILE.
This can include FILE itself.
FILE can be a file name, or a library name.
A library name is equivalent to the file name that `load-library' would load.

(fn FILE)
(defalias 'file-dependents #[257 "\301!\302\211\203) \211@\211@;\203\" \303\304@!\305#\203\" \211@B\262A\266\202\202 \207" [load-history file-provides nil seq-intersection file-requires eq] 9 (#$ . 2009)])#@186 Read feature name from the minibuffer, prompting with string PROMPT.
If optional second arg LOADED-P is non-nil, the feature must be loaded
from a file.

(fn PROMPT &optional LOADED-P)
(defalias 'read-feature #[513 "\301\302\303\304\203 \305\306\303\307\"\"\202 \"\"!\207" [features intern completing-read mapcar symbol-name delq nil #[257 "\300!\205 \211\207" [feature-file] 3 "\n\n(fn X)"]] 12 (#$ . 2450)])
(defvaralias 'loadhist-hook-functions 'unload-feature-special-hooks)#@219 A list of special hooks from Info node `(elisp)Standard Hooks'.

These are symbols with hooklike values whose names don't end in
`-hook' or `-hooks', from which `unload-feature' should try to remove
pertinent symbols.
(defvar unload-feature-special-hooks '(after-change-functions after-insert-file-functions after-make-frame-functions auto-coding-functions auto-fill-function before-change-functions blink-paren-function buffer-access-fontify-functions choose-completion-string-functions comint-output-filter-functions command-line-functions comment-indent-function compilation-finish-functions delete-frame-functions disabled-command-function fill-nobreak-predicate find-directory-functions find-file-not-found-functions font-lock-fontify-buffer-function font-lock-fontify-region-function font-lock-mark-block-function font-lock-syntactic-face-function font-lock-unfontify-buffer-function font-lock-unfontify-region-function kill-buffer-query-functions kill-emacs-query-functions lisp-indent-function mouse-position-function suspend-tty-functions temp-buffer-show-function window-scroll-functions window-size-change-functions write-contents-functions write-file-functions write-region-annotate-functions) (#$ . 2943))#@168 List of definitions in the Lisp library being unloaded.

This is meant to be used by `FEATURE-unload-function'; see the
documentation of `unload-feature' for details.
(defvar unload-function-defs-list nil (#$ . 4168))
(defalias 'unload--set-major-mode #[0 "r\302 \211\2055 \211@\211q\210\211\203  \303	\"\203  \211\304N\262\202 \211=\204- \211\206+ \305 \210\210A\266\202\202 )\207" [major-mode unload-function-defs-list buffer-list rassq derived-mode-parent fundamental-mode] 6])
(defvar loadhist-unload-filename nil)
(byte-code "\300\301\302\301\303\304#\305#\210\306\301\304\303\304\307%\210\306\301\304\310\304\311%\210\306\301\304\312\304\313%\210\306\301\304\314\304\315%\210\306\301\304\316\304\317%\210\306\301\304\320\304\321%\210\306\301\304\322\304\323%\210\306\301\304\324\304\325%\207" [defalias loadhist-unload-element cl-generic-define (x) nil "Unload an element from the `load-history'.\nThe variable `loadhist-unload-filename' holds the name of the file we're\nunloading.\n\n(fn X)" cl-generic-define-method #[257 "\300\301\"\207" [message "Unexpected element %S in load-history"] 4 "\n\n(fn X)"] ((x (head defun))) #[257 "\211A\211\301N\211\204, \302\303\"\210\304N\203 \305\304\303#\210\306N\203& \305\306\303#\210\305\301\303#\207\211@\232\203B \302A@\"\210\305\301AA#\207\307\"GGZ\211\310V\204U \311\312!\210\211\313Z\233A\241\207" [loadhist-unload-filename function-history defalias nil compiler-macro put gv-expander plist-member 1 cl--assertion-failed (> pos 1) 2] 7 "\n\n(fn X)"] ((_ (head require))) #[257 "\300\207" [nil] 2 "\n\n(fn _)"] ((_ (head defface))) #[257 "\300\207" [nil] 2 "\n\n(fn _)"] ((x (head provide))) #[257 "\301A\"\211\207" [features delq] 4 "\n\n(fn X)"] ((x symbol)) #[257 "\300 \211\203* \211@r\211q\210\301!\203 \302J!\203 \303J!\210\304!)\210A\266\202\202 \210\301!\203= \302J!\203= \303J!\210\305!?\205G \306!\207" [buffer-list boundp timerp cancel-timer kill-local-variable local-variable-if-set-p makunbound] 5 "\n\n(fn X)"] ((x (head define-type))) #[257 "\211A\300\301\302#\207" [put cl--class nil] 6 "\n\n(fn X)"] ((x (head define-symbol-props))) #[257 "\211A\211\205) \211@\211\242\243\211\211\203  \211@\300\301#\210A\266\202\202 \266A\266\202\202 \207" [put nil] 11 "\n\n(fn X)"]] 6)#@1071 Unload the library that provided FEATURE.
If the feature is required by any other loaded code, and prefix arg FORCE
is nil, raise an error.

Standard unloading activities include restoring old autoloads for
functions defined by the library, removing such functions from
hooks and `auto-mode-alist', undoing their ELP profiling,
unproviding any features provided by the library, and canceling
timers held in variables defined by the library.

If a function `FEATURE-unload-function' is defined, this function
calls it with no arguments, before doing anything else.  That function
can do whatever is appropriate to undo the loading of the library.  If
`FEATURE-unload-function' returns non-nil, that suppresses the
standard unloading of the library.  Otherwise the standard unloading
proceeds.

`FEATURE-unload-function' has access to the package's list of
definitions in the variable `unload-function-defs-list' and could
remove symbols from it in the event that the package has done
something strange, such as redefining an Emacs function.

(fn FEATURE &optional FORCE)
(defalias 'unload-feature #[513 "\305!\204 \306\307\310!\"\210\211\204* \311!\312\313\314!!\"\211\203( \306\315\316!#\210\266\317!\211\211A\242\211\310!\320\321P!\320\322P!\323!\203M \211 \204\203X \324!\210\202\365 \325\211:\203 @\262\242\326=\203x A\327N\204x AB\262A\262\202[ \211\237\266\203\330\331\332\"!\210r\333 \211\203\336 \211@\334!\211\203\326 \211@\211\242\243\211:\203\256 \335\336\310!\"\204\264 \n>\203\315 q\210\211\203\314 \211@\337\340#\210A\266\202\202\271 \210\266A\266\202\202\226 \210A\266\202\202\215 )\210\211\211\203\363 \211@\341\"A\266\202\202\341 \266\342 \210\343\344\"\210\345\346\f\"\f\"*\266\325\207" [unload-function-defs-list loadhist-unload-filename unload-feature-special-hooks auto-mode-alist load-history featurep error "%s is not a currently loaded feature" symbol-name feature-file delete copy-sequence file-dependents "Loaded libraries %s depend on %s" prin1-to-string feature-symbols intern-soft "-unload-hook" "-unload-function" fboundp run-hooks nil defun autoload mapatoms make-closure #[257 "\302!\2050 \211J:\203 \303\304\305!\"\204 \211	>\2050 \300\211\205. \211@\306\"\210A\266\202\202 \262\207" [V0 unload-feature-special-hooks boundp string-match "-hooks?\\'" symbol-name remove-hook] 6 "\n\n(fn X)"] buffer-list buffer-local-variables string-match "-hooks?\\'" remove-hook t rassq-delete-all unload--set-major-mode mapc loadhist-unload-element delq assoc] 20 (#$ . 6470) (byte-code "\301\302\303\"D\207" [current-prefix-arg read-feature "Unload feature: " t] 3)])#@53 Return the set intersection of two lists.

(fn P Q)
(defalias 'file-set-intersect #[514 "\300\301#\237\207" [seq-intersection eq] 6 (#$ . 9128)])
(byte-code "\300\301\302\303#\210\304\301\305\306#\307\301\310\311#\210\312\313!\207" [make-obsolete file-set-intersect seq-intersection "28.1" function-put speed -1 put byte-optimizer byte-compile-inline-expand provide loadhist] 5)
