not work in subsequent versions if they contain character constants with
modifier bits.
+@vindex no-byte-compile
+ If you do not want a Lisp file to be compiled, ever, put a file-local
+variable binding for @code{no-byte-compile} into it, like this:
+
+@example
+;; -*-no-byte-compile: t; -*-
+@end example
+
@xref{Compilation Errors}, for how to investigate errors occurring in
byte compilation.
* Docs and Compilation:: Dynamic loading of documentation strings.
* Dynamic Loading:: Dynamic loading of individual functions.
* Eval During Compile:: Code to be evaluated when you compile.
+* Compiler Errors:: Handling compiler error messages.
* Byte-Code Objects:: The data type used for byte-compiled functions.
* Disassembly:: Disassembling byte-code; how to read byte-code.
@end menu
to what @code{eval-when-compile} does.
@end defspec
+@node Compiler Errors
+@section Compiler Errors
+@cindex compiler errors
+
+ Byte compilation writes errors and warnings into the buffer
+@samp{*Compile-Log*}. The messages include file names and line
+numbers that identify the location of the problem. The usual Emacs
+commands for operating on compiler diagnostics work properly on
+these messages.
+
+ However, the warnings about functions that were used but not
+defined are always ``located'' at the end of the file, so these
+commands won't find the places they are really used. To do that,
+you must search for the function names.
+
@node Byte-Code Objects
@section Byte-Code Function Objects
@cindex compiled function