;ELC   
;;; Compiled by rms@psilocin.ai.mit.edu on Sat Jun 13 00:42:51 1998
;;; from file /gd/gnu/emacs/lisp/loadhist.el
;;; in Emacs version 20.2.95.2
;;; with bytecomp version 2.46
;;; 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 "`loadhist.el' was compiled for Emacs 19.29 or later"))

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


#@132 Return the input source from which SYM was loaded.
This is a file name, or nil if the source was a buffer with no associated file.
(defalias 'symbol-file #[(sym) "\300\301\215\207" [foundit (byte-code "\301\302\"\210\303\207" [load-history mapcar #[(x) "	A>\205\f \302\303	@\"\207" [sym x throw foundit] 3] nil] 3)] 2 (#$ . 605)])
#@70 Return the file and list of symbols associated with a given FEATURE.
(defalias 'feature-symbols #[(feature) "\300\301\215\207" [foundit (byte-code "\301\302\"\210\303\207" [load-history mapcar #[(x) "\302B	A\235\205 \303\304	\"\207" [feature x provide throw foundit] 3] nil] 3)] 2 (#$ . 944)])
#@278 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.
(defalias 'feature-file #[(feature) "\301!\204 \302\303\304!\"\207\305!@\207" [feature featurep error "%s is not a currently loaded feature" symbol-name feature-symbols] 4 (#$ . 1248)])
#@47 Return the list of features provided by FILE.
(defalias 'file-provides #[(file) "\304	\"A\305\306\307\"\210\n*\207" [file load-history provides symbols assoc nil mapcar #[(x) ":\205 @\302=\205 A	B\211\207" [x provides provide] 2]] 3 (#$ . 1721)])
#@47 Return the list of features required by FILE.
(defalias 'file-requires #[(file) "\304	\"A\305\306\307\"\210\n*\207" [file load-history requires symbols assoc nil mapcar #[(x) ":\205 @\302=\205 A	B\211\207" [x requires require] 2]] 3 (#$ . 1984)])
(defalias 'file-set-intersect #[(p q) "\302\303\304	\"\210)\207" [ret p nil mapcar #[(x) "	>\205 \nB\211\207" [x q ret] 2]] 3])
#@88 Return the list of loaded libraries that depend on FILE.
This can include FILE itself.
(defalias 'file-dependents #[(file) "\304!\305\306\307\"\210	*\207" [file dependents provides load-history file-provides nil mapcar #[(x) "\303\304	@!\"\205 	@\nB\211\207" [provides x dependents file-set-intersect file-requires] 4]] 3 (#$ . 2381)])
#@135 Read a feature name (string) from the minibuffer.
Prompt with PROMPT and completing from `features', and
return the feature (symbol).
(defalias 'read-feature #[(prompt) "\302\303\304\305	\"\306\307$!\207" [prompt features intern completing-read mapcar #[(feature) "\301!C\207" [feature symbol-name] 2] nil t] 6 (#$ . 2731)])
#@226 A list of special hooks from the `Standard Hooks' node of the Lisp manual.

These are symbols with hook-type values whose names don't end in
`-hook' or `-hooks', from which `unload-feature' tries to remove
pertinent symbols.
(defvar loadhist-hook-functions '(after-change-function after-change-functions after-insert-file-functions auto-fill-function before-change-function before-change-functions blink-paren-function buffer-access-fontify-functions command-line-functions comment-indent-function kill-buffer-query-functions kill-emacs-query-functions lisp-indent-function redisplay-end-trigger-functions temp-buffer-show-function window-scroll-functions window-size-change-functions write-region-annotate-functions) (#$ . 3065))
#@168 Unload the library that provided FEATURE, restoring all its autoloads.
If the feature is required by any other loaded code, and optional FORCE
is nil, raise an error.
(defalias 'unload-feature #[(feature &optional force) "\306!\204 \307\310\311!\"\210	\204+ \312!\313\n\314\315\n!!\"\211\203* \307\316\317!\n#\210*\320!\211@\321\311!\322P!\211\203E \323!\210\202I \324\325!\210\326\327\fA\"\210\330\n\"\331\"\211,\207" [feature force file dependents flist unload-hook 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" run-hooks mapatoms #[(x) "\303!\203 J:\203 \304\305\306!\"\204! \307!\205& 	>\205& \310\311\nA\"\207" [x loadhist-hook-functions flist boundp string-match "-hooks?\\'" symbol-name fboundp mapcar #[(y) "\302	\"\207" [x y remove-hook] 3]] 4] mapcar #[(x) ";\203 \303\207:\203 @\304=\205= \305A	\"\211\207\306!\203% \307!\207\310!\205= \311!\210\312N\211\205< \312\nBM)\207" [x features aload nil provide delq boundp makunbound fboundp fmakunbound autoload] 4] assoc delq load-history elt] 6 (#$ . 3803) (list (read-feature "Feature: "))])
(provide 'loadhist)
