;ELC ;;; compiled by jwz@thalidomide on Wed Mar 23 18:29:53 1994 ;;; from file /th/jwz/emacs19/lisp/bytecomp/bytecomp-runtime.el ;;; emacs version 19.10 Lucid (beta8). ;;; bytecomp version 2.22; 22-dec-93. ;;; optimization is on. ;;; this file uses opcodes which do not exist in Emacs 18. (if (and (boundp 'emacs-version) (or (and (boundp 'epoch::version) epoch::version) (string-lessp emacs-version "19"))) (error "This file was compiled for Emacs 19.")) (byte-code "!MMM#" [fboundp make-byte-code (lambda (arglist bytestring constants stackdepth doc) (list 'lambda arglist doc (list 'byte-code bytestring constants stackdepth))) #[(arglist bytestring constants stackdepth &optional doc &rest interactive) " D\n\nC @ BC FC" [lambda arglist doc interactive byte-code bytestring constants stackdepth] 5 "For compatibility with Emacs19 ``.elc'' files."] inline progn put lisp-indent-hook 0] 4) (fset 'proclaim-inline '(macro . #[(&rest fns) " \"\"B" [eval-and-compile apply nconc mapcar #[(x) " DEE DEE DFD" [or memq get quote x 'byte-optimizer '(nil byte-compile-inline-expand) error "%s already has a byte-optimizer, can't make it inline" put 'byte-optimizer 'byte-compile-inline-expand] 6] fns] 6 "\ Cause the named functions to be open-coded when called from compiled code. They will only be compiled open-coded when byte-optimize is true."])) (fset 'proclaim-notinline '(macro . #[(&rest fns) " \"\"B" [eval-and-compile apply nconc mapcar #[(x) " DEE DFEC" [if eq get quote x 'byte-optimizer 'byte-compile-inline-expand put 'byte-optimizer nil] 6] fns] 6 "\ Cause the named functions to no longer be open-coded."])) (fset 'defsubst '(macro . #[(name arglist &rest body) "N>\"BBBDE" [name byte-optimizer (nil byte-compile-inline-expand) error "`%s' is a primitive" prog1 defun arglist body proclaim-inline] 5 "\ Define an inline function. The syntax is just like that of `defun'."])) (fset 'make-obsolete #[(fn new) "N=N  \nB##)" [fn byte-compile handler byte-compile-obsolete byte-obsolete-info new put] 6 "\ Make the byte-compiler warn that FUNCTION is obsolete. The warning will say that NEW should be used instead. If NEW is a string, that is the `use instead' message." "aMake function obsolete: \nxObsoletion replacement: "]) (fset 'make-obsolete-variable #[(var new) " # " [put var byte-obsolete-variable new] 4 "\ Make the byte-compiler warn that VARIABLE is obsolete, and NEW should be used instead. If NEW is a string, then that is the `use instead' message." (byte-code "\n$ƚ! !)!!@D" [completing-read "Make variable obsolete: " obarray boundp t str "" error intern read-from-string read-string "Obsoletion replacement: "] 6)]) (put 'dont-compile 'lisp-indent-hook 0) (fset 'dont-compile '(macro . #[(&rest body) "\nA\nB\n@DD" [eval quote body progn] 4 "\ Like `progn', but the body always runs interpreted (not compiled). If you think you need this, you're probably making a mistake somewhere."])) (put 'eval-when-compile 'lisp-indent-hook 0) (fset 'eval-when-compile '(macro . #[(&rest body) " B" [progn body] 2 "\ Like `progn', but evaluates the body at compile time. The result of the body appears to the compiler as a quoted constant."])) (put 'eval-and-compile 'lisp-indent-hook 0) (fset 'eval-and-compile '(macro . #[(&rest body) " B" [progn body] 2 "\ Like `progn', but evaluates the body at compile time and at load time."])) (put 'byte-compiler-options 'lisp-indent-hook 0) (defmacro byte-compiler-options (&rest args) "\ Set some compilation-parameters for this file. This will affect only the file in which it appears; this does nothing when evaluated, and when loaded from a .el file. Each argument to this macro must be a list of a key and a value. Keys: Values: Corresponding variable: verbose t, nil byte-compile-verbose optimize t, nil, source, byte byte-optimize warnings list of warnings byte-compile-warnings file-format emacs18, emacs19 byte-compile-emacs18-compatibility new-bytecodes t, nil byte-compile-generate-emacs19-bytecodes The value specificed with the `warnings' option must be a list, containing some subset of the following flags: free-vars references to variables not in the current lexical scope. unused-vars references to non-global variables bound but not referenced. unresolved calls to unknown functions. callargs lambda calls with args that don't match the definition. redefine function cell redefined from a macro to a lambda or vice versa, or redefined to take a different number of arguments. If the first element if the list is `+' or `-' then the specified elements are added to or removed from the current set of warnings, instead of the entire set of warnings being overwritten. For example, something like this might appear at the top of a source file: (byte-compiler-options (optimize t) (warnings (- callargs)) ; Don't warn about arglist mismatch (warnings (+ unused-vars)) ; Do warn about unused bindings (file-format emacs19))" nil)