1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-21 03:52:16 -08:00

(File Local Variables): Clarifications.

This commit is contained in:
Richard M. Stallman 2006-02-14 20:58:33 +00:00
parent e1ec62a596
commit 1324d26ee2
2 changed files with 24 additions and 23 deletions

View file

@ -1,3 +1,7 @@
2006-02-14 Richard M. Stallman <rms@gnu.org>
* variables.texi (File Local Variables): Clarifications.
2006-02-14 Juanma Barranquero <lekktu@gmail.com>
* variables.texi (File Local Variables): Use @code for a cons

View file

@ -1777,30 +1777,27 @@ visiting a file could take over your Emacs. Emacs takes several
measures to prevent this.
@cindex safe local variable
When Emacs encounters a file local variable whose safety is not
guaranteed, it asks the user whether or not to obey the file variable
specifications. If the user says no, Emacs ignores @emph{all} the
file variables specified in that file. A variable can be marked as
@dfn{safe} by setting its @code{safe-local-variable} property. If the
property is @code{t}, that variable is always considered safe,
regardless of the value assigned to it. The
@code{safe-local-variable} property can also be a function taking
exactly one argument. In that case, Emacs considers it safe to give
the variable a certain value if the function returns non-@code{nil}
when called with that value as argument. Many commonly-encountered
file variables possess @code{safe-local-variable} by default,
including @code{fill-column}, @code{fill-prefix}, and
@code{indent-tabs-mode}.
A variable can be marked as @dfn{safe} by setting its
@code{safe-local-variable} property. If the property is @code{t},
setting that variable in a file is always considered safe, regardless
of the value assigned to it. The @code{safe-local-variable} property
can also be a function of one argument. In that case, Emacs considers
it safe to give the variable a certain value if the function returns
non-@code{nil} when given that value as argument. Many
commonly-encountered file variables standardly have
@code{safe-local-variable} properties, including @code{fill-column},
@code{fill-prefix}, and @code{indent-tabs-mode}.
@defopt safe-local-variable-values
This variable provides another way to mark variables as safe. It is a
list of cons cells @code{(var . val)}, where @var{var} is a variable
name and @var{val} is a value of that variable that is safe.
This variable provides another way to mark some variable values as
safe. It is a list of cons cells @code{(@var{var} . @var{val})},
where @var{var} is a variable name and @var{val} is a value which is
safe for that variable.
When Emacs asks the user whether or not to obey a set of file variable
specifications, the user can choose to mark them as safe. This adds
those variable-value pairs to @code{safe-local-variable-values}, and
saves it to the user's custom file.
specifications, the user can choose to mark them as safe. Doing so
adds those variable-value pairs to @code{safe-local-variable-values},
and saves it to the user's custom file.
@end defopt
@defun safe-local-variable-p sym val
@ -1809,8 +1806,8 @@ the value @var{val}, based on the above criteria.
@end defun
@cindex risky local variable
Some variables are considered @dfn{risky}. A variable whose name ends
in any of @samp{-command}, @samp{-frame-alist}, @samp{-function},
Some variables are considered @dfn{risky}. A variable whose name
ends in any of @samp{-command}, @samp{-frame-alist}, @samp{-function},
@samp{-functions}, @samp{-hook}, @samp{-hooks}, @samp{-form},
@samp{-forms}, @samp{-map}, @samp{-map-alist}, @samp{-mode-alist},
@samp{-program}, or @samp{-predicate} is considered risky. The
@ -1825,7 +1822,7 @@ This function returns non-@code{nil} if @var{sym} is a risky variable,
based on the above criteria.
@end defun
If a variable is risky, it will not be entered automatically into
If a variable is risky, it will not be entered automatically into
@code{safe-local-variable-values} as described above. Therefore,
Emacs will always query before setting a risky variable, unless the
user explicitly allows it by editing @code{safe-local-variable-values}