Next: Activation of Advice, Previous: Around-Advice, Up: Advising Functions
The macro defadvice
resembles defun
in that the code for
the advice, and all other information about it, are explicitly stated in
the source code. You can also create advice whose details are computed,
using the function ad-add-advice
.
Calling
ad-add-advice
adds advice as a piece of advice to function in class class. The argument advice has this form:(name protected enabled definition)Here protected and enabled are flags, and definition is the expression that says what the advice should do. If enabled is
nil
, this piece of advice is initially disabled (see Enabling Advice).If function already has one or more pieces of advice in the specified class, then position specifies where in the list to put the new piece of advice. The value of position can either be
first
,last
, or a number (counting from 0 at the beginning of the list). Numbers outside the range are mapped to the beginning or the end of the range, whichever is closer. The position value is ignored when redefining an existing piece of advice.If function already has a piece of advice with the same name, then the position argument is ignored and the old advice is replaced with the new one.