Mercurial > emacs
diff src/insdel.c @ 12655:3469b3194164
(signal_before_change): Use Frun_hook_with_args.
(signal_after_change): Likewise.
author | Karl Heuer <kwzh@gnu.org> |
---|---|
date | Tue, 25 Jul 1995 19:57:02 +0000 |
parents | e71c530e5ae5 |
children | 0dea0aa2f32d |
line wrap: on
line diff
--- a/src/insdel.c Tue Jul 25 19:36:42 1995 +0000 +++ b/src/insdel.c Tue Jul 25 19:57:02 1995 +0000 @@ -777,6 +777,8 @@ signal_before_change (start, end) Lisp_Object start, end; { + Lisp_Object args[2]; + /* If buffer is unmodified, run a special hook for that case. */ if (SAVE_MODIFF >= MODIFF && !NILP (Vfirst_change_hook) @@ -829,11 +831,9 @@ Vafter_change_functions = Qnil; Vbefore_change_functions = Qnil; - while (CONSP (functions)) - { - call2 (XCONS (functions)->car, start, end); - functions = XCONS (functions)->cdr; - } + args[0] = start; + args[1] = end; + Frun_hook_with_args (intern ("before-change-functions"), 2, args); unbind_to (count, Qnil); } @@ -854,6 +854,8 @@ signal_after_change (pos, lendel, lenins) int pos, lendel, lenins; { + Lisp_Object args[3]; + if (!NILP (Vafter_change_function)) { int count = specpdl_ptr - specpdl; @@ -896,13 +898,10 @@ Vafter_change_functions = Qnil; Vbefore_change_functions = Qnil; - while (CONSP (functions)) - { - call3 (XCONS (functions)->car, - make_number (pos), make_number (pos + lenins), - make_number (lendel)); - functions = XCONS (functions)->cdr; - } + XSETFASTINT (args[0], pos); + XSETFASTINT (args[1], pos + lenins); + XSETFASTINT (args[2], lendel); + Frun_hook_with_args (intern ("after-change-functions"), 3, args); unbind_to (count, Qnil); }