Mercurial > emacs
changeset 12730:2f4bbd557180
Remove the remaining hook running functions. They are in C now.
author | Simon Marshall <simon@gnu.org> |
---|---|
date | Mon, 31 Jul 1995 09:52:45 +0000 |
parents | 21110e58640c |
children | cac1b80e43be |
files | lisp/subr.el |
diffstat | 1 files changed, 3 insertions(+), 85 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/subr.el Mon Jul 31 05:34:55 1995 +0000 +++ b/lisp/subr.el Mon Jul 31 09:52:45 1995 +0000 @@ -448,93 +448,11 @@ ;;;; Hook manipulation functions. -(defun run-hooks (&rest hooklist) - "Takes hook names and runs each one in turn. Major mode functions use this. -Each argument should be a symbol, a hook variable. -These symbols are processed in the order specified. -If a hook symbol has a non-nil value, that value may be a function -or a list of functions to be called to run the hook. -If the value is a function, it is called with no arguments. -If it is a list, the elements are called, in order, with no arguments. - -To make a hook variable buffer-local, use `make-local-hook', not -`make-local-variable'." - (while hooklist - (let ((sym (car hooklist))) - (and (boundp sym) - (symbol-value sym) - (let ((value (symbol-value sym))) - (if (and (listp value) (not (eq (car value) 'lambda))) - (while value - (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 sym))) - (while functions - (funcall (car functions)) - (setq functions (cdr functions)))) - (funcall (car value))) - (setq value (cdr value))) - (funcall value))))) - (setq hooklist (cdr hooklist)))) - -(defun run-hook-with-args-until-success (hook &rest args) - "Run HOOK with the specified arguments ARGS. -HOOK should be a symbol, a hook variable. Its value should -be a list of functions. We call those functions, one by one, -passing arguments ARGS to each of them, until one of them -returns a non-nil value. Then we return that value. -If all the functions return nil, we return nil. - -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) - (while (and value (not 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 (not success)) - (setq success (apply (car functions) args)) - (setq functions (cdr functions)))) - (setq success (apply (car value) args))) - (setq value (cdr value))) - success))) - -(defun run-hook-with-args-until-failure (hook &rest args) - "Run HOOK with the specified arguments ARGS. -HOOK should be a symbol, a hook variable. Its value should -be a list of functions. We call those functions, one by one, -passing arguments ARGS to each of them, until one of them -returns nil. Then we return nil. -If all the functions return non-nil, we return non-nil. - -To make a hook variable buffer-local, use `make-local-hook', not -`make-local-variable'." - ;; 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. +;; We used to have this variable so that C code knew how to run hooks. That +;; calling convention is made obsolete now the hook running functions are in C. (defconst run-hooks 'run-hooks "Variable by which C primitives find the function `run-hooks'. -Don't change it.") +Don't change it. Don't use it either; use the hook running C primitives.") (defun make-local-hook (hook) "Make the hook HOOK local to the current buffer.