summaryrefslogtreecommitdiff
path: root/lisp/subr.el
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2025-03-01 10:01:53 -0500
committerEli Zaretskii <eliz@gnu.org>2025-03-01 10:01:53 -0500
commita242d9a48f2ad00f98230530aa2dc8eb0afcbc7e (patch)
treedfa0d2cc5328aebf978a927025c7e2ff59e71b14 /lisp/subr.el
parent7fde605d3d593a3eb2a74fd7bf2c2c15f53b7a67 (diff)
parent6f5c322f5974786290b1b3e68b5a0685ddec3410 (diff)
downloademacs-a242d9a48f2ad00f98230530aa2dc8eb0afcbc7e.tar.gz
emacs-a242d9a48f2ad00f98230530aa2dc8eb0afcbc7e.tar.bz2
emacs-a242d9a48f2ad00f98230530aa2dc8eb0afcbc7e.zip
Merge from origin/emacs-30
6f5c322f597 Recommend secure-hash in md5 docstring 1352b184f3f Improve docstring of add-hook and remove-hook
Diffstat (limited to 'lisp/subr.el')
-rw-r--r--lisp/subr.el16
1 files changed, 8 insertions, 8 deletions
diff --git a/lisp/subr.el b/lisp/subr.el
index 9d251045881..cad15f90c8a 100644
--- a/lisp/subr.el
+++ b/lisp/subr.el
@@ -2145,6 +2145,9 @@ instead; it will indirectly limit the specpdl stack size as well.")
"Add to the value of HOOK the function FUNCTION.
FUNCTION is not added if already present.
+HOOK should be a symbol. If HOOK is void, or if HOOK's value is a
+single function, it is changed to a list of functions.
+
The place where the function is added depends on the DEPTH
parameter. DEPTH defaults to 0. By convention, it should be
a number between -100 and 100 where 100 means that the function
@@ -2163,10 +2166,6 @@ This makes the hook buffer-local, and it makes t a member of the
buffer-local value. That acts as a flag to run the hook
functions of the global value as well as in the local value.
-HOOK should be a symbol. If HOOK is void, it is first set to
-nil. If HOOK's value is a single function, it is changed to a
-list of functions.
-
FUNCTION may be any valid function, but it's recommended to use a
function symbol and not a lambda form. Using a symbol will
ensure that the function is not re-added if the function is
@@ -2231,10 +2230,11 @@ performance impact when running `add-hook' and `remove-hook'."
(set-default hook hook-value))))
(defun remove-hook (hook function &optional local)
- "Remove from the value of HOOK the function FUNCTION.
-HOOK should be a symbol, and FUNCTION may be any valid function. If
-FUNCTION isn't the value of HOOK, or, if FUNCTION doesn't appear in the
-list of hooks to run in HOOK, then nothing is done. See `add-hook'.
+ "Remove FUNCTION from HOOK's functions.
+HOOK should be a symbol, and FUNCTION may be any valid function.
+Do nothing if HOOK does not currently contain FUNCTION.
+Compare functions with `equal`, which means that it can be
+slow if FUNCTION is not a symbol. See `add-hook'.
The optional third argument, LOCAL, if non-nil, says to modify
the hook's buffer-local value rather than its default value.