]> git.eshelyaron.com Git - emacs.git/commitdiff
Improve discoverability of 'defvar' for suppressing warnings
authorEli Zaretskii <eliz@gnu.org>
Fri, 24 Nov 2017 14:36:33 +0000 (16:36 +0200)
committerEli Zaretskii <eliz@gnu.org>
Fri, 24 Nov 2017 14:36:33 +0000 (16:36 +0200)
* doc/lispref/compile.texi (Compiler Errors): Add index entries.
* doc/lispref/variables.texi (Defining Variables): Mention that
defvar with no value is used for suppressing compiler warnings.
(Bug#29400)

doc/lispref/compile.texi
doc/lispref/variables.texi

index 201d9fc2fa5eeb17cdaab407a05f08a06567cc85..57ff06085d901ca890b5765fe50e2e6ce9513f23 100644 (file)
@@ -434,6 +434,7 @@ to what @code{eval-when-compile} does.
 @node Compiler Errors
 @section Compiler Errors
 @cindex compiler errors
+@cindex byte-compiler errors
 
   Error and warning messages from byte compilation are printed in a
 buffer named @file{*Compile-Log*}.  These messages include file names
@@ -450,6 +451,10 @@ compiled, and point shows how far the byte compiler was able to read;
 the cause of the error might be nearby.  @xref{Syntax Errors}, for
 some tips for locating syntax errors.
 
+@cindex byte-compiler warnings
+@cindex free variable, byte-compiler warning
+@cindex reference to free variable, compilation warning
+@cindex function not known to be defined, compilation warning
   A common type of warning issued by the byte compiler is for
 functions and variables that were used but not defined.  Such warnings
 report the line number for the end of the file, not the locations
@@ -490,12 +495,13 @@ The reference to @var{variable} must be in the @var{then-form} of the
 
 @item
 You can tell the compiler that a function is defined using
-@code{declare-function}. @xref{Declaring Functions}.
+@code{declare-function}.  @xref{Declaring Functions}.
 
 @item
 Likewise, you can tell the compiler that a variable is defined using
 @code{defvar} with no initial value.  (Note that this marks the
-variable as special.)  @xref{Defining Variables}.
+variable as special, i.e.@: dynamically bound.)  @xref{Defining
+Variables}.
 @end itemize
 
   You can also suppress any and all compiler warnings within a certain
index 52d1f3bbf5e9396b3d86fc7b2e1c1dba43d45cc8..99bbfc9124319e91d83bd280d2f0ebc1d1f6365d 100644 (file)
@@ -435,7 +435,9 @@ dynamically bound value; @pxref{Void Variables}), then @var{value} is
 evaluated and @var{symbol} is set to the result.  But if @var{symbol}
 is not void, @var{value} is not evaluated, and @var{symbol}'s value is
 left unchanged.  If @var{value} is omitted, the value of @var{symbol}
-is not changed in any case.
+is not changed in any case.  Using @code{defvar} with no value is one
+method of suppressing byte compilation warnings, see @ref{Compiler
+Errors}.
 
 If @var{symbol} has a buffer-local binding in the current buffer,
 @code{defvar} acts on the default value, which is buffer-independent,