Lisp_Object Qbuffer_or_string_p;
Lisp_Object Qboundp, Qfboundp;
Lisp_Object Qcdr;
+Lisp_Object Qadvice_info, Qactivate_advice;
Lisp_Object Qrange_error, Qdomain_error, Qsingularity_error;
Lisp_Object Qoverflow_error, Qunderflow_error;
Vautoload_queue = Fcons (Fcons (sym, XSYMBOL (sym)->function),
Vautoload_queue);
XSYMBOL (sym)->function = newdef;
+ /* Handle automatic advice activation */
+ if (!NILP (Fget (sym, Qadvice_info)))
+ {
+ call2 (Qactivate_advice, sym, Fbyte_code_function_p (newdef));
+ newdef = XSYMBOL (sym)->function;
+ }
return newdef;
}
Qcdr = intern ("cdr");
+ /* Handle automatic advice activation */
+ Qadvice_info = intern ("advice-info");
+ Qactivate_advice = intern ("ad-activate");
+
error_tail = Fcons (Qerror, Qnil);
/* ERROR is used as a signaler for random errors for which nothing else is right */
staticpro (&Qboundp);
staticpro (&Qfboundp);
staticpro (&Qcdr);
+ staticpro (&Qadvice_info);
+ staticpro (&Qactivate_advice);
defsubr (&Seq);
defsubr (&Snull);