Improve documentation of safe values of variables

* doc/lispref/variables.texi (File Local Variables): Mention the
autoload cookie as a means of defining safe values for variables.
See http://lists.gnu.org/archive/html/emacs-devel/2018-01/msg00261.html
for the details.
* doc/lispref/compile.texi (Compiler Errors): Document
'byte-compile-error-on-warn'.
This commit is contained in:
Eli Zaretskii 2018-01-13 12:48:07 +02:00
parent a502ee9dc4
commit 97b0e41c5d
2 changed files with 19 additions and 1 deletions

View file

@ -524,6 +524,11 @@ one you intend to suppress.
the variable @code{byte-compile-warnings}. See its documentation
string for details.
@vindex byte-compile-error-on-warn
Sometimes you may wish the byte-compiler warnings to be reported
using @code{error}. If so, set @code{byte-compile-error-on-warn} to a
non-nil value.
@node Byte-Code Objects
@section Byte-Code Function Objects
@cindex compiled function

View file

@ -1811,10 +1811,23 @@ variables have @code{safe-local-variable} properties; these include
For boolean-valued variables that are safe, use @code{booleanp} as the
property value.
@cindex autoload cookie, and safe values of variable
When defining a user option using @code{defcustom}, you can set its
@code{safe-local-variable} property by adding the arguments
@code{:safe @var{function}} to @code{defcustom} (@pxref{Variable
Definitions}).
Definitions}). However, a safety predicate defined using @code{:safe}
will only be known once the byte-compiler is loaded. As an
alternative, you can use the autoload cookie (@pxref{Autoload}) to
assign the option its safety predicate, like this:
@lisp
;;;###autoload (put '@var{var} 'safe-local-variable '@var{pred})
@end lisp
@noindent
The safe value definitions specified with @code{autoload} are copied
into the @file{loaddefs.el} file, and are known to Emacs since the
beginning of a session.
@defopt safe-local-variable-values
This variable provides another way to mark some variable values as