Mercurial > emacs
changeset 10273:b53a669d2413
(run-hook-with-args-until-failure):
Return non-nil if no hook functions.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Tue, 27 Dec 1994 20:14:13 +0000 |
parents | f4c81ad44719 |
children | 83aaf59dabbe |
files | lisp/subr.el |
diffstat | 1 files changed, 16 insertions(+), 15 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/subr.el Tue Dec 27 04:01:02 1994 +0000 +++ b/lisp/subr.el Tue Dec 27 20:14:13 1994 +0000 @@ -598,21 +598,22 @@ To make a hook variable buffer-local, use `make-local-hook', not `make-local-variable'." - (and (boundp hook) - (symbol-value hook) - (let ((value (symbol-value hook)) - (success t)) - (while (and value success) - (if (eq (car value) t) - ;; t indicates this hook has a local binding; - ;; it means to run the global binding too. - (let ((functions (default-value hook))) - (while (and functions success) - (setq success (apply (car functions) args)) - (setq functions (cdr functions)))) - (setq success (apply (car value) args))) - (setq value (cdr value))) - success))) + ;; We must return non-nil if there are no hook functions! + (or (not (boundp hook)) + (not (symbol-value hook)) + (let ((value (symbol-value hook)) + (success t)) + (while (and value success) + (if (eq (car value) t) + ;; t indicates this hook has a local binding; + ;; it means to run the global binding too. + (let ((functions (default-value hook))) + (while (and functions success) + (setq success (apply (car functions) args)) + (setq functions (cdr functions)))) + (setq success (apply (car value) args))) + (setq value (cdr value))) + success))) ;; Tell C code how to call this function. (defconst run-hooks 'run-hooks