;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>\"BBBDE" [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)
