]> git.eshelyaron.com Git - emacs.git/commitdiff
(Advising Functions): Explain when to use advice and when to use a hook.
authorRichard M. Stallman <rms@gnu.org>
Tue, 9 Aug 2005 11:59:22 +0000 (11:59 +0000)
committerRichard M. Stallman <rms@gnu.org>
Tue, 9 Aug 2005 11:59:22 +0000 (11:59 +0000)
lispref/advice.texi

index 2006474fc616cf1ff4abaab187f7a1772dd76fe1..e741300b91d0090049b19a6395cae85640503a29 100644 (file)
@@ -8,7 +8,7 @@
 @cindex advising functions
 
   The @dfn{advice} feature lets you add to the existing definition of
-a function, by @dfn{advising the function}.  This is a clean method
+a function, by @dfn{advising the function}.  This is a cleaner method
 for a library to customize functions defined within Emacs---cleaner
 than redefining the whole function.
 
@@ -23,8 +23,20 @@ are not the same thing.
 
   @strong{Usage Note:} Advice is useful for altering the behavior of
 existing calls to an existing function.  If you want the new behavior
-for new calls, or for key bindings, it is cleaner to define a new
-function (or a new command) which uses the existing function.
+for new calls, or for key bindings, you should define a new function
+(or a new command) which uses the existing function.
+
+  @strong{Usage note:} Advising a function can cause confusion in
+debugging, since people who debug calls to the original function may
+not notice that it has been modified with advice.  Therefore, if you
+have the possibility to change the code of that function (or ask
+someone to do so) to run a hook, please solve the problem that way.
+Advice should be reserved for the cases where you cannot get the
+function changed.
+
+  In particular, this means that a file in Emacs should not put advice
+on a function in Emacs.  There are currently a few exceptions to this
+convention, but we aim to correct them.
 
 @menu
 * Simple Advice::           A simple example to explain the basics of advice.