Improve discoverability of 'defvar' for suppressing warnings
* 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)
This commit is contained in:
parent
8a2b204e64
commit
b4f67ebb92
2 changed files with 11 additions and 3 deletions
|
@ -434,6 +434,7 @@ to what @code{eval-when-compile} does.
|
||||||
@node Compiler Errors
|
@node Compiler Errors
|
||||||
@section Compiler Errors
|
@section Compiler Errors
|
||||||
@cindex compiler errors
|
@cindex compiler errors
|
||||||
|
@cindex byte-compiler errors
|
||||||
|
|
||||||
Error and warning messages from byte compilation are printed in a
|
Error and warning messages from byte compilation are printed in a
|
||||||
buffer named @file{*Compile-Log*}. These messages include file names
|
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
|
the cause of the error might be nearby. @xref{Syntax Errors}, for
|
||||||
some tips for locating syntax errors.
|
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
|
A common type of warning issued by the byte compiler is for
|
||||||
functions and variables that were used but not defined. Such warnings
|
functions and variables that were used but not defined. Such warnings
|
||||||
report the line number for the end of the file, not the locations
|
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
|
@item
|
||||||
You can tell the compiler that a function is defined using
|
You can tell the compiler that a function is defined using
|
||||||
@code{declare-function}. @xref{Declaring Functions}.
|
@code{declare-function}. @xref{Declaring Functions}.
|
||||||
|
|
||||||
@item
|
@item
|
||||||
Likewise, you can tell the compiler that a variable is defined using
|
Likewise, you can tell the compiler that a variable is defined using
|
||||||
@code{defvar} with no initial value. (Note that this marks the
|
@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
|
@end itemize
|
||||||
|
|
||||||
You can also suppress any and all compiler warnings within a certain
|
You can also suppress any and all compiler warnings within a certain
|
||||||
|
|
|
@ -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}
|
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
|
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}
|
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,
|
If @var{symbol} has a buffer-local binding in the current buffer,
|
||||||
@code{defvar} acts on the default value, which is buffer-independent,
|
@code{defvar} acts on the default value, which is buffer-independent,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue