summaryrefslogtreecommitdiff
path: root/lispref
diff options
context:
space:
mode:
authorStefan Monnier <monnier@iro.umontreal.ca>2002-02-12 19:33:46 +0000
committerStefan Monnier <monnier@iro.umontreal.ca>2002-02-12 19:33:46 +0000
commit89cda0c5e9df20e7caebd110891e93957c7e6b4a (patch)
tree6360bb8a1d1c222c4ce0726f1e50b4421fdf4a2d /lispref
parent9a770d8d3356a72a4b66b256cc629ea97951306c (diff)
downloademacs-89cda0c5e9df20e7caebd110891e93957c7e6b4a.tar.gz
*** empty log message ***
Diffstat (limited to 'lispref')
-rw-r--r--lispref/modes.texi30
-rw-r--r--lispref/variables.texi4
2 files changed, 8 insertions, 26 deletions
diff --git a/lispref/modes.texi b/lispref/modes.texi
index 8a6978ebacf..299595341f8 100644
--- a/lispref/modes.texi
+++ b/lispref/modes.texi
@@ -2206,8 +2206,9 @@ then the value is a list of functions, but it is abnormal in that either
these functions are called with arguments or their values are used in
some way. You can use @code{add-hook} to add a function to the list,
but you must take care in writing the function. (A few of these
-variables are actually normal hooks which were named before we
-established the convention of using @samp{-hook} for them.)
+variables, notably those ending in @samp{-hooks}, are actually
+normal hooks which were named before we established the convention of
+using @samp{-hook} for them.)
If the variable's name ends in @samp{-function}, then its value
is just a single function, not a list of functions.
@@ -2290,9 +2291,8 @@ executed first (barring another @code{add-hook} call). If the optional
argument @var{append} is non-@code{nil}, the new hook function goes at
the end of the hook list and will be executed last.
-If @var{local} is non-@code{nil}, that says to make the new hook
-function buffer-local in the current buffer and automatically calls
-@code{make-local-hook} to make the hook itself buffer-local.
+If @var{local} is non-@code{nil}, that says to add @var{function}
+to the buffer-local hook list instead of to the global hook list.
@end defun
@defun remove-hook hook function &optional local
@@ -2300,24 +2300,4 @@ This function removes @var{function} from the hook variable @var{hook}.
If @var{local} is non-@code{nil}, that says to remove @var{function}
from the buffer-local hook list instead of from the global hook list.
-If the hook variable itself is not buffer-local, then the value of
-@var{local} makes no difference.
-@end defun
-
-@defun make-local-hook hook
-This function makes the hook variable @code{hook} buffer-local in the
-current buffer. When a hook variable is buffer-local, it can have
-buffer-local and global hook functions, and @code{run-hooks} runs all of
-them.
-
-This function works by adding @code{t} as an element of the buffer-local
-value. That serves as a flag to use the hook functions listed in the default
-value of the hook variable, as well as those listed in the buffer-local value.
-Since @code{run-hooks} understands this flag, @code{make-local-hook}
-works with all normal hooks. It works for only some non-normal
-hooks---those whose callers have been updated to understand this meaning
-of @code{t}.
-
-Do not use @code{make-local-variable} directly for hook variables; it is
-not sufficient.
@end defun
diff --git a/lispref/variables.texi b/lispref/variables.texi
index 5d19cbefd0e..df816f85b68 100644
--- a/lispref/variables.texi
+++ b/lispref/variables.texi
@@ -1291,7 +1291,9 @@ variables cannot have buffer-local bindings as well. @xref{Multiple
Displays}.
@strong{Note:} Do not use @code{make-local-variable} for a hook
-variable. Instead, use @code{make-local-hook}. @xref{Hooks}.
+variable. The hook variables are automatically made buffer-local
+as needed if you use the @var{local} argument to @code{add-hook} or
+@code{remove-hook}.
@end deffn
@deffn Command make-variable-buffer-local variable