+2014-07-08 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * debugging.texi (Function Debugging, Debugger Commands):
+ Update debug-on-entry w.r.t behavior after redefinitions (bug#17902).
+
2014-06-29 Glenn Morris <rgm@gnu.org>
* help.texi (Help Functions): "Online" help doesn't mean what it
@deffn Command debug-on-entry function-name
This function requests @var{function-name} to invoke the debugger each
-time it is called. It works by inserting the form
-@code{(implement-debug-on-entry)} into the function definition as the
-first form.
+time it is called.
Any function or macro defined as Lisp code may be set to break on
entry, regardless of whether it is interpreted code or compiled code.
up to invoke the debugger on entry, @code{debug-on-entry} does nothing.
@code{debug-on-entry} always returns @var{function-name}.
-@strong{Warning:} if you redefine a function after using
-@code{debug-on-entry} on it, the code to enter the debugger is
-discarded by the redefinition. In effect, redefining the function
-cancels the break-on-entry feature for that function.
-
Here's an example to illustrate use of this function:
@example
------ Buffer: *Backtrace* ------
@end group
-@group
-(symbol-function 'fact)
- @result{} (lambda (n)
- (debug (quote debug))
- (if (zerop n) 1 (* n (fact (1- n)))))
-@end group
@end example
@end deffn
@item l
Display a list of functions that will invoke the debugger when called.
This is a list of functions that are set to break on entry by means of
-@code{debug-on-entry}. @strong{Warning:} if you redefine such a
-function and thus cancel the effect of @code{debug-on-entry}, it may
-erroneously show up in this list.
+@code{debug-on-entry}.
@item v
Toggle the display of local variables of the current stack frame.