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