[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/lispref/compile.texi [lexbind]
From: |
Miles Bader |
Subject: |
[Emacs-diffs] Changes to emacs/lispref/compile.texi [lexbind] |
Date: |
Tue, 14 Oct 2003 19:10:15 -0400 |
Index: emacs/lispref/compile.texi
diff -c emacs/lispref/compile.texi:1.12.8.1 emacs/lispref/compile.texi:1.12.8.2
*** emacs/lispref/compile.texi:1.12.8.1 Fri Apr 4 01:20:41 2003
--- emacs/lispref/compile.texi Tue Oct 14 19:10:11 2003
***************
*** 39,44 ****
--- 39,52 ----
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.
***************
*** 48,53 ****
--- 56,62 ----
* 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
***************
*** 397,402 ****
--- 406,462 ----
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.
+
+ You can suppress the compiler warning for calling an undefined
+ function @var{func} by conditionalizing the function call on a
+ @code{fboundp} test, like this:
+
+ @example
+ (if (fboundp '@var{func}) ...(@var{func} ...)...)
+ @end example
+
+ @noindent
+ The call to @var{func} must be in the @var{then-form} of the @code{if},
+ and @var{func} must appear quoted in the call to @code{fboundp}.
+ Likewise, you can suppress a compiler warning for an unbound variable
+ @var{variable} by conditionalizing its use on a @code{boundp} test,
+ like this:
+
+ @example
+ (if (boundp '@var{variable}) address@hidden)
+ @end example
+
+ @noindent
+ The reference to @var{variable} must be in the @var{then-form} of the
+ @code{if}, and @var{variable} must appear quoted in the call to
+ @code{boundp}.
+
+ You can suppress any compiler warnings using the construct
+ @code{with-no-warnings}:
+
+ @defmac with-no-warnings body...
+ In execution, this is equivalent to @code{(progn @var{body}...)},
+ but the compiler does not issue warnings for anything that occurs
+ inside @var{body}.
+
+ We recommend that you use this construct around the smallest
+ possible piece of code.
+ @end defmac
+
@node Byte-Code Objects
@section Byte-Code Function Objects
@cindex compiled function
***************
*** 742,744 ****
--- 802,807 ----
@end example
+ @ignore
+ arch-tag: f78e3050-2f0a-4dee-be27-d9979a0a2289
+ @end ignore
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] Changes to emacs/lispref/compile.texi [lexbind],
Miles Bader <=