diff options
author | Richard M. Stallman <rms@gnu.org> | 1994-08-04 22:57:13 +0000 |
---|---|---|
committer | Richard M. Stallman <rms@gnu.org> | 1994-08-04 22:57:13 +0000 |
commit | ab297811227ff3d2b2e5ef9274366136dff6cf6b (patch) | |
tree | 65f9aca8cff6909809cf032d94313f55961a8cbe /src/data.c | |
parent | a05fc4d9f176d6aa73bee8c807be2b70edf6e951 (diff) | |
download | emacs-ab297811227ff3d2b2e5ef9274366136dff6cf6b.tar.gz |
(Fdefine_function, Fdefalias): Handle advice as in Ffset.
(Qad_advice_info): Lisp and C names renamed from Qadvice_info.
(Qad_activate): C name renamed from Qactivate_advice.
Diffstat (limited to 'src/data.c')
-rw-r--r-- | src/data.c | 26 |
1 files changed, 19 insertions, 7 deletions
diff --git a/src/data.c b/src/data.c index e00ab4dc5f8..b0959a92e55 100644 --- a/src/data.c +++ b/src/data.c @@ -74,7 +74,7 @@ Lisp_Object Qchar_or_string_p, Qmarkerp, Qinteger_or_marker_p, Qvectorp; Lisp_Object Qbuffer_or_string_p; Lisp_Object Qboundp, Qfboundp; Lisp_Object Qcdr; -Lisp_Object Qadvice_info, Qactivate_advice; +Lisp_Object Qad_advice_info, Qad_activate; Lisp_Object Qrange_error, Qdomain_error, Qsingularity_error; Lisp_Object Qoverflow_error, Qunderflow_error; @@ -556,9 +556,9 @@ DEFUN ("fset", Ffset, Sfset, 2, 2, 0, Vautoload_queue); XSYMBOL (sym)->function = newdef; /* Handle automatic advice activation */ - if (CONSP (XSYMBOL (sym)->plist) && !NILP (Fget (sym, Qadvice_info))) + if (CONSP (XSYMBOL (sym)->plist) && !NILP (Fget (sym, Qad_advice_info))) { - call2 (Qactivate_advice, sym, Fbyte_code_function_p (newdef)); + call2 (Qad_activate, sym, Qnil); newdef = XSYMBOL (sym)->function; } return newdef; @@ -577,6 +577,12 @@ Associates the function with the current load file, if any.") Vautoload_queue = Fcons (Fcons (sym, XSYMBOL (sym)->function), Vautoload_queue); XSYMBOL (sym)->function = newdef; + /* Handle automatic advice activation */ + if (CONSP (XSYMBOL (sym)->plist) && !NILP (Fget (sym, Qad_advice_info))) + { + call2 (Qad_activate, sym, Qnil); + newdef = XSYMBOL (sym)->function; + } LOADHIST_ATTACH (sym); return newdef; } @@ -592,6 +598,12 @@ Associates the function with the current load file, if any.") Vautoload_queue = Fcons (Fcons (sym, XSYMBOL (sym)->function), Vautoload_queue); XSYMBOL (sym)->function = newdef; + /* Handle automatic advice activation */ + if (CONSP (XSYMBOL (sym)->plist) && !NILP (Fget (sym, Qad_advice_info))) + { + call2 (Qad_activate, sym, Qnil); + newdef = XSYMBOL (sym)->function; + } LOADHIST_ATTACH (sym); return newdef; } @@ -2058,8 +2070,8 @@ syms_of_data () Qcdr = intern ("cdr"); /* Handle automatic advice activation */ - Qadvice_info = intern ("advice-info"); - Qactivate_advice = intern ("ad-activate"); + Qad_advice_info = intern ("ad-advice-info"); + Qad_activate = intern ("ad-activate"); error_tail = Fcons (Qerror, Qnil); @@ -2243,8 +2255,8 @@ syms_of_data () staticpro (&Qboundp); staticpro (&Qfboundp); staticpro (&Qcdr); - staticpro (&Qadvice_info); - staticpro (&Qactivate_advice); + staticpro (&Qad_advice_info); + staticpro (&Qad_activate); defsubr (&Seq); defsubr (&Snull); |