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

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


(byte-code "\301B\306\301!\204\f \307\302B\306\302!\204 \307\303B\306\303!\204$ \307\304B\306\304!\2040 \310\305B\306\305!\204< \307\311B\306\311!\204I \307	\312\313\314\310#\207" [current-load-list cc-bytecomp-unbound-variables cc-bytecomp-original-functions cc-bytecomp-original-properties cc-bytecomp-load-depth cc-bytecomp-loaded-files boundp nil 0 cc-bytecomp-environment-set put cc-eval-when-compile lisp-indent-hook] 4)
#@405 Like `progn', but evaluates the body at compile time.
The result of the body appears to the compiler as a quoted constant.

This variant works around what looks like a bug in
`eval-when-compile': During byte compilation it byte compiles its
contents before evaluating it.  That can cause forms to be compiled in
situations they aren't intended to be compiled.  See cc-bytecomp.el
for further discussion.
(defalias 'cc-eval-when-compile '(macro . #[(&rest body) "\301\302\303\304BDDD\207" [body eval-when-compile eval quote progn] 5 (#$ . 1081)]))
(defalias 'cc-bytecomp-setup-environment #[nil "\306U\205\213 \307\n\203 \310\311!\210\211\2030 \312	@!\204) \313\314	@D!\210	@\315L\210	A\211\204 \f\211\203] 	@@	@A@\203P \313\316BB!\210\202U \315M\210*	A\211\2046 \211\203\207 	@@@	@@A	@A@\317#\210+	A\211\204d \320\211)\207" [cc-bytecomp-load-depth p cc-bytecomp-environment-set cc-bytecomp-unbound-variables cc-bytecomp-original-functions temp-macro 0 nil error "Byte compilation environment already set - perhaps a `cc-bytecomp-restore-environment' is forgotten somewhere" boundp eval defvar cc-bytecomp-ignore defmacro put t fun cc-bytecomp-original-properties tempdef prop sym] 5])
(defalias 'cc-bytecomp-restore-environment #[nil "\306U\205\243 \307\n\211\203) 	@\310!\203! \311=\203! \312!\210)	A\211\204 \f\211\203d 	@@	@AA@\313!\203\\ K\311=\203\\ \314=\203W \315!\210\202\\ M\210*	A\211\204/ \211\203\236 	@@@	@@A	@A@	@AA\211N=\203\226 \316#\210,	A\211\204k \307\211)\207" [cc-bytecomp-load-depth p cc-bytecomp-unbound-variables var cc-bytecomp-original-functions def 0 nil boundp cc-bytecomp-ignore makunbound fboundp unbound fmakunbound put fun cc-bytecomp-original-properties origdef tempdef prop sym cc-bytecomp-environment-set] 5])
(defalias 'cc-bytecomp-load #[(cc-part) "\306\300!\2051 ;\2051 \307 \210	T\310!\nB\311P\f\235\204, \fB\312\f\313\314\211$\210+\315 \210\314\207" [byte-compile-dest-file cc-bytecomp-load-depth load-path cc-part cc-file cc-bytecomp-loaded-files boundp cc-bytecomp-restore-environment file-name-directory ".el" load nil t cc-bytecomp-setup-environment] 5])
#@250 Force loading of the corresponding .el file in the current
directory during compilation, but compile in a `require'.  Don't use
within `eval-when-compile'.

Having cyclic cc-require's will result in infinite recursion.  That's
somewhat intentional.
(defalias 'cc-require '(macro . #[(cc-part) "\301\302\303\304DDD\305DE\207" [cc-part progn cc-eval-when-compile cc-bytecomp-load symbol-name require] 5 (#$ . 3280)]))
#@130 A replacement for the `provide' form that restores the environment
after the compilation.  Don't use within `eval-when-compile'.
(defalias 'cc-provide '(macro . #[(feature) "\301\302\303DE\207" [feature progn (eval-when-compile (cc-bytecomp-restore-environment)) provide] 4 (#$ . 3705)]))
#@242 Force loading of the corresponding .el file in the current
directory during compilation.  Don't use outside `eval-when-compile'
or `eval-and-compile'.

Having cyclic cc-load's will result in infinite recursion.  That's
somewhat intentional.
(defalias 'cc-load '(macro . #[(cc-part) "\301\302\303\304DE\305\306BBE\207" [cc-part or and (featurep 'cc-bytecomp) cc-bytecomp-load load (nil t nil)] 5 (#$ . 4002)]))
#@87 Return non-nil if eval'ed during compilation.  Don't use outside
`eval-when-compile'.
(defalias 'cc-bytecomp-is-compiling #[nil "\301\300!\205 ;\207" [byte-compile-dest-file boundp] 2 (#$ . 4420)])
#@133 Binds the symbol as a variable during compilation of the file,
to silence the byte compiler.  Don't use within `eval-when-compile'.
(defalias 'cc-bytecomp-defvar '(macro . #[(var) "\301\302\303\304DD\305\302\306\307\304D\310BBD\311\312\313\304D\314BBEE\302\315\316\317D\320\304D\321BBEE\257D\207" [var eval-when-compile if boundp quote nil not memq (cc-bytecomp-unbound-variables) setq cc-bytecomp-unbound-variables cons (cc-bytecomp-unbound-variables) (and (cc-bytecomp-is-compiling) (= cc-bytecomp-load-depth 0)) progn defvar set ('cc-bytecomp-ignore)] 12 (#$ . 4627)]))
#@132 Bind the symbol as a function during compilation of the file,
to silence the byte compiler.  Don't use within `eval-when-compile'.
(defalias 'cc-bytecomp-defun '(macro . #[(fun) "\301\302\303\304\305D\306BBD\307\310\311\312\305D\313\302\314\305DD\315\305DD\316BBBF\317BBEE\302\320\321\322\303\314\305DDDF\323\305D\324BBEE\207" [fun eval-when-compile if not assq quote (cc-bytecomp-original-functions) setq cc-bytecomp-original-functions cons list nil fboundp symbol-function ('unbound) (cc-bytecomp-original-functions) and (cc-bytecomp-is-compiling) (= cc-bytecomp-load-depth 0) fset ('cc-bytecomp-ignore)] 14 (#$ . 5213)]))
(put 'cc-bytecomp-defmacro 'lisp-indent-function 'defun)
#@117 Bind the symbol as a macro during compilation (and evaluation) of the
file.  Don't use outside `eval-when-compile'.
(defalias 'cc-bytecomp-defmacro '(macro . #[(fun &rest temp-macro) "\302\303\304\305\306D\307BBD\310\311\312\313\306D\306	D\303\314\306DD\315\306DD\316BBBF\317BBEE\320	BBE\207" [fun temp-macro progn if not assq quote (cc-bytecomp-original-functions) setq cc-bytecomp-original-functions cons list fboundp symbol-function ('unbound) (cc-bytecomp-original-functions) defmacro] 14 (#$ . 5908)]))
#@117 Set a property on a symbol during compilation (and evaluation) of
the file.  Don't use outside `eval-when-compile'.
(defalias 'cc-bytecomp-put '(macro . #[(symbol propname value) "\303\304\305\306\307	E\310BBD\311\312\307\211\211	E\307\n\313	EEE\314BBEE\315	\nFE\207" [symbol propname value cc-eval-when-compile if not assoc cons (cc-bytecomp-original-properties) setq cc-bytecomp-original-properties get (cc-bytecomp-original-properties) put] 13 (#$ . 6428)]))
#@110 Suppress warnings about that the given symbol is an obsolete variable.
Don't use within `eval-when-compile'.
(defalias 'cc-bytecomp-obsolete-var '(macro . #[(symbol) "\301\302\303\304D\305BB\306\304D\307BBED\207" [symbol eval-when-compile if get quote ('byte-obsolete-variable) cc-bytecomp-put ('byte-obsolete-variable nil)] 6 (#$ . 6901)]))
(defalias 'cc-bytecomp-ignore-obsolete #[(form) "\302\303\304\305\"\"\306	!)\207" [byte-compile-warnings form delq obsolete append nil byte-compile-obsolete] 5])
#@110 Suppress warnings about that the given symbol is an obsolete function.
Don't use within `eval-when-compile'.
(defalias 'cc-bytecomp-obsolete-fun '(macro . #[(symbol) "\301\302\303\304\305D\306BB\307BB\310\305D\311BBED\207" [symbol eval-when-compile if eq get quote ('byte-compile) ('byte-compile-obsolete) cc-bytecomp-put ('byte-compile 'cc-bytecomp-ignore-obsolete)] 6 (#$ . 7416)]))
(byte-code "\303 \203 \304U\203 \305	!\nB\306\307\310\311\312\211$\210*\313\314!\207" [cc-bytecomp-load-depth byte-compile-dest-file load-path cc-bytecomp-is-compiling 0 file-name-directory 1 load "cc-bytecomp.el" nil t provide cc-bytecomp] 5)
