aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/data.c26
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;
74Lisp_Object Qbuffer_or_string_p; 74Lisp_Object Qbuffer_or_string_p;
75Lisp_Object Qboundp, Qfboundp; 75Lisp_Object Qboundp, Qfboundp;
76Lisp_Object Qcdr; 76Lisp_Object Qcdr;
77Lisp_Object Qadvice_info, Qactivate_advice; 77Lisp_Object Qad_advice_info, Qad_activate;
78 78
79Lisp_Object Qrange_error, Qdomain_error, Qsingularity_error; 79Lisp_Object Qrange_error, Qdomain_error, Qsingularity_error;
80Lisp_Object Qoverflow_error, Qunderflow_error; 80Lisp_Object Qoverflow_error, Qunderflow_error;
@@ -556,9 +556,9 @@ DEFUN ("fset", Ffset, Sfset, 2, 2, 0,
556 Vautoload_queue); 556 Vautoload_queue);
557 XSYMBOL (sym)->function = newdef; 557 XSYMBOL (sym)->function = newdef;
558 /* Handle automatic advice activation */ 558 /* Handle automatic advice activation */
559 if (CONSP (XSYMBOL (sym)->plist) && !NILP (Fget (sym, Qadvice_info))) 559 if (CONSP (XSYMBOL (sym)->plist) && !NILP (Fget (sym, Qad_advice_info)))
560 { 560 {
561 call2 (Qactivate_advice, sym, Fbyte_code_function_p (newdef)); 561 call2 (Qad_activate, sym, Qnil);
562 newdef = XSYMBOL (sym)->function; 562 newdef = XSYMBOL (sym)->function;
563 } 563 }
564 return newdef; 564 return newdef;
@@ -577,6 +577,12 @@ Associates the function with the current load file, if any.")
577 Vautoload_queue = Fcons (Fcons (sym, XSYMBOL (sym)->function), 577 Vautoload_queue = Fcons (Fcons (sym, XSYMBOL (sym)->function),
578 Vautoload_queue); 578 Vautoload_queue);
579 XSYMBOL (sym)->function = newdef; 579 XSYMBOL (sym)->function = newdef;
580 /* Handle automatic advice activation */
581 if (CONSP (XSYMBOL (sym)->plist) && !NILP (Fget (sym, Qad_advice_info)))
582 {
583 call2 (Qad_activate, sym, Qnil);
584 newdef = XSYMBOL (sym)->function;
585 }
580 LOADHIST_ATTACH (sym); 586 LOADHIST_ATTACH (sym);
581 return newdef; 587 return newdef;
582} 588}
@@ -592,6 +598,12 @@ Associates the function with the current load file, if any.")
592 Vautoload_queue = Fcons (Fcons (sym, XSYMBOL (sym)->function), 598 Vautoload_queue = Fcons (Fcons (sym, XSYMBOL (sym)->function),
593 Vautoload_queue); 599 Vautoload_queue);
594 XSYMBOL (sym)->function = newdef; 600 XSYMBOL (sym)->function = newdef;
601 /* Handle automatic advice activation */
602 if (CONSP (XSYMBOL (sym)->plist) && !NILP (Fget (sym, Qad_advice_info)))
603 {
604 call2 (Qad_activate, sym, Qnil);
605 newdef = XSYMBOL (sym)->function;
606 }
595 LOADHIST_ATTACH (sym); 607 LOADHIST_ATTACH (sym);
596 return newdef; 608 return newdef;
597} 609}
@@ -2058,8 +2070,8 @@ syms_of_data ()
2058 Qcdr = intern ("cdr"); 2070 Qcdr = intern ("cdr");
2059 2071
2060 /* Handle automatic advice activation */ 2072 /* Handle automatic advice activation */
2061 Qadvice_info = intern ("advice-info"); 2073 Qad_advice_info = intern ("ad-advice-info");
2062 Qactivate_advice = intern ("ad-activate"); 2074 Qad_activate = intern ("ad-activate");
2063 2075
2064 error_tail = Fcons (Qerror, Qnil); 2076 error_tail = Fcons (Qerror, Qnil);
2065 2077
@@ -2243,8 +2255,8 @@ syms_of_data ()
2243 staticpro (&Qboundp); 2255 staticpro (&Qboundp);
2244 staticpro (&Qfboundp); 2256 staticpro (&Qfboundp);
2245 staticpro (&Qcdr); 2257 staticpro (&Qcdr);
2246 staticpro (&Qadvice_info); 2258 staticpro (&Qad_advice_info);
2247 staticpro (&Qactivate_advice); 2259 staticpro (&Qad_activate);
2248 2260
2249 defsubr (&Seq); 2261 defsubr (&Seq);
2250 defsubr (&Snull); 2262 defsubr (&Snull);