(Top): Update node listing.
[bpt/emacs.git] / doc / lispref / compile.texi
index aeaa9f7..0190817 100644 (file)
@@ -1,7 +1,7 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
 @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 2001, 2002, 2003, 2004,
-@c   2005, 2006, 2007  Free Software Foundation, Inc.
+@c   2005, 2006, 2007, 2008, 2009  Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../../info/compile
 @node Byte Compilation, Advising Functions, Loading, Top
@@ -505,9 +505,14 @@ 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}.  (This feature operates for @code{cond} as well.)
 
-  Likewise, you can suppress a compiler warning for an unbound variable
-@var{variable} by conditionalizing its use on a @code{boundp} test,
-like this:
+  You can tell the compiler that a function is defined using
+@code{declare-function} (@pxref{Declaring Functions}).  Likewise, you
+can tell the compiler that a variable is defined using @code{defvar}
+with no initial value.
+
+  You can suppress the compiler warning for a specific use of an
+undefined variable @var{variable} by conditionalizing its use on a
+@code{boundp} test, like this:
 
 @example
 (if (boundp '@var{variable}) ...@var{variable}...)
@@ -518,8 +523,8 @@ 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}:
+  You can suppress any and all compiler warnings within a certain
+expression using the construct @code{with-no-warnings}:
 
 @c This is implemented with a defun, but conceptually it is
 @c a special form.
@@ -530,9 +535,13 @@ 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.
+possible piece of code, to avoid missing possible warnings other than one
+one you intend to suppress.
 @end defspec
 
+  More precise control of warnings is possible by setting the variable
+@code{byte-compile-warnings}.
+
 @node Byte-Code Objects
 @section Byte-Code Function Objects
 @cindex compiled function