summaryrefslogtreecommitdiff
path: root/lisp
diff options
context:
space:
mode:
Diffstat (limited to 'lisp')
-rw-r--r--lisp/subr.el7
1 files changed, 2 insertions, 5 deletions
diff --git a/lisp/subr.el b/lisp/subr.el
index f21ec98c823..9d6e4ac3228 100644
--- a/lisp/subr.el
+++ b/lisp/subr.el
@@ -486,10 +486,7 @@ function, it is changed to a list of functions."
(if (or (not (listp old)) (eq (car old) 'lambda))
(set hook (list old))))
(or (if (consp function)
- ;; Clever way to tell whether a given lambda-expression
- ;; is equal to anything in the hook.
- (let ((tail (assoc (cdr function) (symbol-value hook))))
- (equal function tail))
+ (member function (symbol-value hook))
(memq function (symbol-value hook)))
(set hook
(if append
@@ -508,7 +505,7 @@ list of hooks to run in HOOK, then nothing is done. See `add-hook'."
(let ((hook-value (symbol-value hook)))
(if (consp hook-value)
(setq hook-value (delete function hook-value))
- (if (eq hook-value function)
+ (if (equal hook-value function)
(setq hook-value nil)))
(set hook hook-value))))