www.delorie.com/gnu/docs/elisp-manual-21/elisp_216.html   search  
 
Buy the book!


GNU Emacs Lisp Reference Manual

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

17.4 Computed Advice

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.

Function: ad-add-advice function advice class position
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 section 17.6 Enabling and Disabling 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.


  webmaster   donations   bookstore     delorie software   privacy  
  Copyright 2003   by The Free Software Foundation     Updated Jun 2003