;ELC   
;;; Compiled by pot@pot.cnuce.cnr.it on Tue Mar 18 15:47:15 2003
;;; from file /home/pot/gnu/emacs-pretest.new/lisp/loadhist.el
;;; in Emacs version 21.3
;;; 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 "`loadhist.el' was compiled for Emacs 19.29 or later"))

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


#@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 mapc #[(x) "\302B	A\235\205 \303\304	\"\207" [feature x provide throw foundit] 3] nil] 3)] 2 (#$ . 618)])
#@282 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\"\207\304!@\207" [feature featurep error "%S is not a currently loaded feature" feature-symbols] 3 (#$ . 920)])
#@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 mapc #[(x) ":\205 @\302=\205 A	B\211\207" [x provides provide] 2]] 3 (#$ . 1379)])
#@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 mapc #[(x) ":\205 @\302=\205 A	B\211\207" [x requires require] 2]] 3 (#$ . 1640)])
#@43 Return the set intersection of two lists.
(defalias 'file-set-intersect #[(p q) "\305	\305\211\203 @\211\f>\203 \nBA\211\204\n \305*\210)\207" [ret p x #1=#:--dolist-temp--97269 q nil] 3 (#$ . 1901)])
(put 'file-set-intersect 'byte-optimizer 'byte-compile-inline-expand)
#@88 Return the list of loaded libraries that depend on FILE.
This can include FILE itself.
(defalias 'file-dependents #[(file) "\306!\307\307\211\203Y @\n\310\f@!	\n\307\n\307\211\f\203A \f@\211	>\2038 \fB\fA\211\f\204' \307*\210+\203R \f@	BA\211\204 \307	*\210	*\207" [file dependents provides load-history x #1=#:--dolist-temp--97270 file-provides nil file-requires q p ret #2=#:--dolist-temp--97269] 4 (#$ . 2192)])
#@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 (#$ . 2648)])
#@215 A list of special hooks from Info node `(elisp)Standard Hooks'.

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-functions after-insert-file-functions auto-fill-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 mouse-position-function redisplay-end-trigger-functions temp-buffer-show-function window-scroll-functions window-size-change-functions write-region-annotate-functions) (#$ . 2982))
#@170 Unload the library that provided FEATURE, restoring all its autoloads.
If the feature is required by any other loaded code, and prefix arg 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!\203s \fA\330\211\203r @\2119\203i \327!\210A\211\204Z *\331\332\fA\"\210\333\n\"\334\"\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) "\305!\203 J:\203 \306\307\310!\"\204! \305!\205; 	>\205; \nA\311\211\2039 \f@\312\"\210\fA\211\204* *\311\207" [x loadhist-hook-functions flist y #1=#:--dolist-temp--97272 boundp string-match "-hooks?\\'" symbol-name nil remove-hook] 4] fboundp elp-restore-function nil mapc #[(x) ";\203 \303\207:\203 @\304=\205G \305A	\"\211\207\306!\203% \307!\210\310!\205G \310\311!\2035 \311!\210\312!\210\313N\211\205F \313\nBM)\207" [x features aload nil provide delq boundp makunbound fboundp ad-unadvise fmakunbound autoload] 4] assoc delq elt #2=#:--dolist-temp--97271 load-history] 6 (#$ . 3688) (list (read-feature "Feature: ") current-prefix-arg)])
(provide 'loadhist)
