diff options
Diffstat (limited to 'src')
| -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; | |||
| 74 | Lisp_Object Qbuffer_or_string_p; | 74 | Lisp_Object Qbuffer_or_string_p; |
| 75 | Lisp_Object Qboundp, Qfboundp; | 75 | Lisp_Object Qboundp, Qfboundp; |
| 76 | Lisp_Object Qcdr; | 76 | Lisp_Object Qcdr; |
| 77 | Lisp_Object Qadvice_info, Qactivate_advice; | 77 | Lisp_Object Qad_advice_info, Qad_activate; |
| 78 | 78 | ||
| 79 | Lisp_Object Qrange_error, Qdomain_error, Qsingularity_error; | 79 | Lisp_Object Qrange_error, Qdomain_error, Qsingularity_error; |
| 80 | Lisp_Object Qoverflow_error, Qunderflow_error; | 80 | Lisp_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); |