;ELC ;;; Compiled by cyd@localhost on Mon Apr 23 22:24:50 2007 ;;; from file /home/cyd/emacs/lisp/progmodes/cc-bytecomp.el ;;; in Emacs version 22.0.99 ;;; 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 "\301B\302\301!\204\303\301\304\"\210\305B\302\305!\204\303\305\304\"\210\306B\302\306!\204-\303\306\304\"\210\307B\302\307!\204<\303\307\304\"\210\310B\302\310!\204K\303\310\304\"\210\304\207" [current-load-list cc-bytecomp-unbound-variables default-boundp set-default nil cc-bytecomp-original-functions cc-bytecomp-original-properties cc-bytecomp-loaded-files cc-bytecomp-environment-set] 3) (defalias 'cc-bytecomp-debug-msg '(macro . #[(&rest args) "\300\207" [nil] 1])) (defalias 'cc-bytecomp-setup-environment #[nil "?\205\237\306\n\203\307\310!\210 \211\2036\311 @!\204/\312\313 @D!\210 @\314\315\316 @!P!L\210 A\211\204\f\211\203q @@ @A@\317!\204i \203]\312\320 BB!\210\202i\314\321\316!P!M\210* A\211\204<\211\203\233 @@@ @@A @A@\322#\210+ A\211\204x\323)\306\207" [load-in-progress p cc-bytecomp-environment-set cc-bytecomp-unbound-variables cc-bytecomp-original-functions temp-macro nil error "Byte compilation environment already set - perhaps a `cc-bytecomp-restore-environment' is forgotten somewhere" boundp eval defvar intern "cc-bytecomp-ignore-var:" symbol-name fboundp defmacro "cc-bytecomp-ignore-fun:" put t fun cc-bytecomp-original-properties tempdef prop sym] 6]) (defalias 'cc-bytecomp-restore-environment #[nil "?\205\273\306\n\211\203/ @\307 !\203'\310\311\312 !P! J=\203'\313 !\210) A\211\204 \f\211\203| @@ @A@ @AA@\314!\203t\206Z\310\315\312!P!K=\203t \316=\203o\317!\210\202t M\210+ A\211\2045\211\203\266 @@@ @@A @A@ @AA\211N=\203\256\320#\210, A\211\204\203\306)\306\207" [load-in-progress p cc-bytecomp-unbound-variables var cc-bytecomp-original-functions def nil boundp intern "cc-bytecomp-ignore-var:" symbol-name makunbound fboundp "cc-bytecomp-ignore-fun:" unbound fmakunbound put temp-macro fun cc-bytecomp-original-properties origdef tempdef prop sym cc-bytecomp-environment-set] 5]) (defun cc-bytecomp-load (cc-part) (if (and (boundp 'byte-compile-dest-file) (stringp byte-compile-dest-file)) (progn (cc-bytecomp-restore-environment) (let ((load-path (cons (file-name-directory byte-compile-dest-file) load-path)) (cc-file (concat cc-part ".el"))) (if (member cc-file cc-bytecomp-loaded-files) nil (setq cc-bytecomp-loaded-files (cons cc-file cc-bytecomp-loaded-files)) (cc-bytecomp-debug-msg "cc-bytecomp-load: Loading %S" cc-file) (load cc-file nil t t) (cc-bytecomp-debug-msg "cc-bytecomp-load: Loaded %S" cc-file))) (cc-bytecomp-setup-environment) t))) #@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\304DDD\305DE\207" [cc-part progn eval-when-compile cc-bytecomp-load symbol-name require] 5 (#$ . 3115)])) #@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\303DE\207" [feature progn (eval-when-compile (cc-bytecomp-restore-environment)) provide] 4 (#$ . 3537)])) #@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\304DE\305\306BBE\207" [cc-part or and (featurep 'cc-bytecomp) cc-bytecomp-load load (nil t nil)] 5 (#$ . 3834)])) #@172 Force loading of the corresponding .el file in the current directory during compilation, but do a compile time `require' otherwise. Don't use within `eval-when-compile'. (defalias 'cc-require-when-compile '(macro . #[(cc-part) "\301\302\303\302\304\305\306\307DDE\310\311DDE\312DFD\207" [cc-part eval-when-compile if (and (featurep 'cc-bytecomp) (cc-bytecomp-is-compiling)) or (not load-in-progress) not featurep cc-bytecomp-load symbol-name require] 9 (#$ . 4253)])) #@156 Do a `require' of an external package. This restores and sets up the compilation environment before and afterwards. Don't use within `eval-when-compile'. (defalias 'cc-external-require '(macro . #[(feature) "\301\302\303D\304BBB\207" [feature progn (eval-when-compile (cc-bytecomp-restore-environment)) require ((eval-when-compile (cc-bytecomp-setup-environment)))] 4 (#$ . 4732)])) #@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 (#$ . 5123)]) #@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\304DD\305\306\304DE\302\307\310\304D\311BBD\312\305\313\304DE\314\315\316\304D\317BBEEE\302\320\312\321D\322\304D\323\324\325\326\304DDEDE\305\327\304DEFE\257D\207" [var eval-when-compile if boundp quote cc-bytecomp-debug-msg "cc-bytecomp-defvar: %s bound already as variable" not memq (cc-bytecomp-unbound-variables) progn "cc-bytecomp-defvar: Saving %s (as unbound)" setq cc-bytecomp-unbound-variables cons (cc-bytecomp-unbound-variables) (and (cc-bytecomp-is-compiling) (not load-in-progress)) defvar set intern concat "cc-bytecomp-ignore-var:" symbol-name "cc-bytecomp-defvar: Covered variable %s"] 17 (#$ . 5330)])) #@458 Bind the symbol as a function during compilation of the file, to silence the byte compiler. Don't use within `eval-when-compile'. If the symbol already is bound as a function, it will keep that definition. That means that this macro will not shut up warnings about incorrect number of arguments. It's dangerous to try to replace existing functions since the byte compiler might need the definition at compile time, e.g. for macros and inline functions. (defalias 'cc-bytecomp-defun '(macro . #[(fun) "\301\302\303\304DD\305\306\304DE\302\307\310\304D\311BBD\312\305\313\304DE\314\315\316\317\304D\320BB\321BBEEE\302\322\312\323\304D\324\325\326\327\304DDEDE\305\330\304DEEE\257D\207" [fun eval-when-compile if fboundp quote cc-bytecomp-debug-msg "cc-bytecomp-defun: %s bound already as function" not assq (cc-bytecomp-original-functions) progn "cc-bytecomp-defun: Saving %s (as unbound)" setq cc-bytecomp-original-functions cons list (nil 'unbound) (cc-bytecomp-original-functions) (and (cc-bytecomp-is-compiling) (not load-in-progress)) fset intern concat "cc-bytecomp-ignore-fun:" symbol-name "cc-bytecomp-defun: Covered function %s"] 16 (#$ . 6162)])) (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\305D\306BBDC\307\310\311\303\312\305D\313\307\314\305DD\315\316\317\305DE\320\305DDE\316\321\305DE\322BBBBF\323BBBE\324 BB\316\325\305DE\326\327\320\305DDE\257\207" [fun temp-macro let orig-fun assq quote (cc-bytecomp-original-functions) if (not orig-fun) setq list nil fboundp progn cc-bytecomp-debug-msg "cc-bytecomp-defmacro: Saving %s" symbol-function "cc-bytecomp-defmacro: Saving %s as unbound" ('unbound) (cc-bytecomp-original-functions (cons orig-fun cc-bytecomp-original-functions)) defmacro "cc-bytecomp-defmacro: Bound macro %s" setcar (cdr orig-fun)] 16 (#$ . 7394)])) #@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\313 \314 E\257\315\316\307\211\211 E\307\n\314 EEE\317BBEEE\320 \nF\312\321 \n\257F\207" [symbol propname value eval-when-compile if not assoc cons (cc-bytecomp-original-properties) progn cc-bytecomp-debug-msg "cc-bytecomp-put: Saving property %s for %s with value %s" get setq cc-bytecomp-original-properties (cc-bytecomp-original-properties) put "cc-bytecomp-put: Bound property %s for %s to %s"] 15 (#$ . 8189)])) #@104 Suppress warnings 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\304D\305BB\306\304D\307BB\310BBBD\207" [symbol eval-when-compile if get quote ('byte-obsolete-variable) cc-bytecomp-put ('byte-obsolete-variable nil) (t)] 6 (#$ . 8840)])) (defalias 'cc-bytecomp-ignore-obsolete #[(form) "\302\303\304\305\"\"\306 !)\207" [byte-compile-warnings form delq obsolete append nil byte-compile-obsolete] 5]) #@104 Suppress warnings 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\305D\306BB\307BB\310\305D\311BB\312BBBD\207" [symbol eval-when-compile if eq get quote ('byte-compile) ('byte-compile-obsolete) cc-bytecomp-put ('byte-compile 'cc-bytecomp-ignore-obsolete) (t)] 6 (#$ . 9359)])) #@226 Return non-nil if the given symbol is bound as a variable outside the compilation. This is the same as using `boundp' but additionally exclude any variables that have been bound during compilation with `cc-bytecomp-defvar'. (defalias 'cc-bytecomp-boundp '(macro . #[(symbol) "\302 \205\nA@ >?\205\303D\207" [symbol cc-bytecomp-unbound-variables cc-bytecomp-is-compiling boundp] 2 (#$ . 9757)])) #@226 Return non-nil if the given symbol is bound as a function outside the compilation. This is the same as using `fboundp' but additionally exclude any functions that have been bound during compilation with `cc-bytecomp-defun'. (defalias 'cc-bytecomp-fboundp '(macro . #[(symbol) "\303\304 \205 A@\n\236\211\205\305\234\306=?\205\307 D)\207" [fun-elem symbol cc-bytecomp-original-functions nil cc-bytecomp-is-compiling 2 unbound fboundp] 2 (#$ . 10165)])) (provide 'cc-bytecomp)