[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/lispref/variables.texi
From: |
Luc Teirlinck |
Subject: |
[Emacs-diffs] Changes to emacs/lispref/variables.texi |
Date: |
Sun, 15 May 2005 13:34:00 -0400 |
Index: emacs/lispref/variables.texi
diff -c emacs/lispref/variables.texi:1.62 emacs/lispref/variables.texi:1.63
*** emacs/lispref/variables.texi:1.62 Sun May 15 16:53:06 2005
--- emacs/lispref/variables.texi Sun May 15 17:33:59 2005
***************
*** 42,49 ****
* Buffer-Local Variables:: Variable values in effect only in one buffer.
* Frame-Local Variables:: Variable values in effect only in one frame.
* Future Local Variables:: New kinds of local values we might add some day.
- * Variable Aliases:: Variables that are aliases for other variables.
* File Local Variables:: Handling local variable lists in files.
* Variables with Restricted Values:: Non-constant variables whose value can
@emph{not} be an arbitrary Lisp
object.
@end menu
--- 42,49 ----
* Buffer-Local Variables:: Variable values in effect only in one buffer.
* Frame-Local Variables:: Variable values in effect only in one frame.
* Future Local Variables:: New kinds of local values we might add some day.
* File Local Variables:: Handling local variable lists in files.
+ * Variable Aliases:: Variables that are aliases for other variables.
* Variables with Restricted Values:: Non-constant variables whose value can
@emph{not} be an arbitrary Lisp
object.
@end menu
***************
*** 1688,1693 ****
--- 1688,1779 ----
If sufficient application is found for either of these two kinds of
local bindings, we will provide it in a subsequent Emacs version.
+ @node File Local Variables
+ @section File Local Variables
+
+ This section describes the functions and variables that affect
+ processing of file local variables. @xref{File variables, ,
+ Local Variables in Files, emacs, The GNU Emacs Manual}, for basic
+ information about file local variables.
+
+ @defopt enable-local-variables
+ This variable controls whether to process file local variables. A
+ value of @code{t} means process them unconditionally; @code{nil} means
+ ignore them; anything else means ask the user what to do for each
+ file. The default value is @code{t}.
+ @end defopt
+
+ @defun hack-local-variables &optional mode-only
+ This function parses, and binds or evaluates as appropriate, any local
+ variables specified by the contents of the current buffer. The variable
+ @code{enable-local-variables} has its effect here. However, this
+ function does not look for the @samp{mode:} local variable in the
+ @address@hidden line. @code{set-auto-mode} does that, also taking
+ @code{enable-local-variables} into account (@pxref{Auto Major Mode}).
+
+ If the optional argument @var{mode-only} is address@hidden, then all
+ this function does is return @code{t} if the @address@hidden line or
+ the local variables list specifies a mode and @code{nil} otherwise.
+ It does not set the mode nor any other file local variable.
+ @end defun
+
+ If a file local variable could specify a function that would
+ be called later, or an expression that would be executed later, simply
+ visiting a file could take over your Emacs. To prevent this, Emacs
+ takes care not to allow to set such file local variables.
+
+ For one thing, any variable whose name ends in @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} cannot be given a file local value. In general,
+ you should use such a name whenever it is appropriate for the
+ variable's meaning. The variables @samp{font-lock-keywords},
+ @samp{font-lock-keywords-[0-9]}, and
+ @samp{font-lock-syntactic-keywords} cannot be given file local values either.
+ These rules can be overridden by giving the variable's
+ name a address@hidden @code{safe-local-variable} property. If one
+ gives it a @code{safe-local-variable} property of @code{t}, then one
+ can give the variable any file local value. One can also give any
+ symbol, including the above, a @code{safe-local-variable} property
+ that is a function taking exactly one argument. In that case, giving
+ a variable with that name a file local value is only allowed if the
+ function returns address@hidden when called with that value as
+ argument.
+
+ In addition, any variable whose name has a address@hidden
+ @code{risky-local-variable} property is also ignored. So are all
+ variables listed in @code{ignored-local-variables}:
+
+ @defvar ignored-local-variables
+ This variable holds a list of variables that should not be given local
+ values by files. Any value specified for one of these variables is
+ ignored.
+ @end defvar
+
+ @defun risky-local-variable-p sym &optional val
+ If @var{val} is address@hidden, returns address@hidden if giving
+ @var{sym} a file local value of @var{val} would be risky, for any of
+ the reasons stated above. If @var{val} is @code{nil} or omitted, only
+ returns @code{nil} if @var{sym} can be safely assigned any file local
+ value whatsoever.
+ @end defun
+
+ The @samp{Eval:} ``variable'' is also a potential loophole, so Emacs
+ normally asks for confirmation before handling it.
+
+ @defopt enable-local-eval
+ This variable controls processing of @samp{Eval:} in @samp{-*-} lines
+ or local variables
+ lists in files being visited. A value of @code{t} means process them
+ unconditionally; @code{nil} means ignore them; anything else means ask
+ the user what to do for each file. The default value is @code{maybe}.
+ @end defopt
+
+ Text properties are also potential loopholes, since their values
+ could include functions to call. So Emacs discards all text
+ properties from string values specified for file local variables.
+
@node Variable Aliases
@section Variable Aliases
***************
*** 1780,1871 ****
@result{} 0
@end example
- @node File Local Variables
- @section File Local Variables
-
- This section describes the functions and variables that affect
- processing of file local variables. @xref{File variables, ,
- Local Variables in Files, emacs, The GNU Emacs Manual}, for basic
- information about file local variables.
-
- @defopt enable-local-variables
- This variable controls whether to process file local variables. A
- value of @code{t} means process them unconditionally; @code{nil} means
- ignore them; anything else means ask the user what to do for each
- file. The default value is @code{t}.
- @end defopt
-
- @defun hack-local-variables &optional mode-only
- This function parses, and binds or evaluates as appropriate, any local
- variables specified by the contents of the current buffer. The variable
- @code{enable-local-variables} has its effect here. However, this
- function does not look for the @samp{mode:} local variable in the
- @address@hidden line. @code{set-auto-mode} does that, also taking
- @code{enable-local-variables} into account (@pxref{Auto Major Mode}).
-
- If the optional argument @var{mode-only} is address@hidden, then all
- this function does is return @code{t} if the @address@hidden line or
- the local variables list specifies a mode and @code{nil} otherwise.
- It does not set the mode nor any other file local variable.
- @end defun
-
- If a file local variable could specify a function that would
- be called later, or an expression that would be executed later, simply
- visiting a file could take over your Emacs. To prevent this, Emacs
- takes care not to allow to set such file local variables.
-
- For one thing, any variable whose name ends in @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} cannot be given a file local value. In general,
- you should use such a name whenever it is appropriate for the
- variable's meaning. The variables @samp{font-lock-keywords},
- @samp{font-lock-keywords-[0-9]}, and
- @samp{font-lock-syntactic-keywords} cannot be given file local values either.
- These rules can be overridden by giving the variable's
- name a address@hidden @code{safe-local-variable} property. If one
- gives it a @code{safe-local-variable} property of @code{t}, then one
- can give the variable any file local value. One can also give any
- symbol, including the above, a @code{safe-local-variable} property
- that is a function taking exactly one argument. In that case, giving
- a variable with that name a file local value is only allowed if the
- function returns address@hidden when called with that value as
- argument.
-
- In addition, any variable whose name has a address@hidden
- @code{risky-local-variable} property is also ignored. So are all
- variables listed in @code{ignored-local-variables}:
-
- @defvar ignored-local-variables
- This variable holds a list of variables that should not be given local
- values by files. Any value specified for one of these variables is
- ignored.
- @end defvar
-
- @defun risky-local-variable-p sym &optional val
- If @var{val} is address@hidden, returns address@hidden if giving
- @var{sym} a file local value of @var{val} would be risky, for any of
- the reasons stated above. If @var{val} is @code{nil} or omitted, only
- returns @code{nil} if @var{sym} can be safely assigned any file local
- value whatsoever.
- @end defun
-
- The @samp{Eval:} ``variable'' is also a potential loophole, so Emacs
- normally asks for confirmation before handling it.
-
- @defopt enable-local-eval
- This variable controls processing of @samp{Eval:} in @samp{-*-} lines
- or local variables
- lists in files being visited. A value of @code{t} means process them
- unconditionally; @code{nil} means ignore them; anything else means ask
- the user what to do for each file. The default value is @code{maybe}.
- @end defopt
-
- Text properties are also potential loopholes, since their values
- could include functions to call. So Emacs discards all text
- properties from string values specified for file local variables.
-
@node Variables with Restricted Values
@section Variables with Restricted Values
--- 1866,1871 ----
- [Emacs-diffs] Changes to emacs/lispref/variables.texi, Richard M . Stallman, 2005/05/01
- [Emacs-diffs] Changes to emacs/lispref/variables.texi, Luc Teirlinck, 2005/05/02
- [Emacs-diffs] Changes to emacs/lispref/variables.texi, Richard M . Stallman, 2005/05/04
- [Emacs-diffs] Changes to emacs/lispref/variables.texi, Luc Teirlinck, 2005/05/05
- [Emacs-diffs] Changes to emacs/lispref/variables.texi, Luc Teirlinck, 2005/05/08
- [Emacs-diffs] Changes to emacs/lispref/variables.texi, Luc Teirlinck, 2005/05/15
- [Emacs-diffs] Changes to emacs/lispref/variables.texi,
Luc Teirlinck <=