X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/9850eff524bd0747a9561f3b4c90dfc3749f4ecb..f147ff752148a9ed53dc1ac5077497f49fa3e53b:/doc/lispref/debugging.texi diff --git a/doc/lispref/debugging.texi b/doc/lispref/debugging.texi index 1ade99f547..c768bbd93c 100644 --- a/doc/lispref/debugging.texi +++ b/doc/lispref/debugging.texi @@ -1,7 +1,7 @@ @c -*-texinfo-*- @c This is part of the GNU Emacs Lisp Reference Manual. @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1998, 1999, 2001, 2002, 2003, -@c 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +@c 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. @c See the file elisp.texi for copying conditions. @setfilename ../../info/debugging @node Debugging, Read and Print, Advising Functions, Top @@ -78,18 +78,19 @@ error. However, entry to the debugger is not a normal consequence of an error. Many commands frequently cause Lisp errors when invoked -inappropriately (such as @kbd{C-f} at the end of the buffer), and during -ordinary editing it would be very inconvenient to enter the debugger -each time this happens. So if you want errors to enter the debugger, set -the variable @code{debug-on-error} to non-@code{nil}. (The command +inappropriately, and during ordinary editing it would be very +inconvenient to enter the debugger each time this happens. So if you +want errors to enter the debugger, set the variable +@code{debug-on-error} to non-@code{nil}. (The command @code{toggle-debug-on-error} provides an easy way to do this.) @defopt debug-on-error -This variable determines whether the debugger is called when an error is -signaled and not handled. If @code{debug-on-error} is @code{t}, all -kinds of errors call the debugger (except those listed in -@code{debug-ignored-errors}). If it is @code{nil}, none call the -debugger. +This variable determines whether the debugger is called when an error +is signaled and not handled. If @code{debug-on-error} is @code{t}, +all kinds of errors call the debugger, except those listed in +@code{debug-ignored-errors} (see below). If it is @code{nil}, none +call the debugger. (Note that @code{eval-expression-debug-on-error} +affects the setting of this variable in some cases; see below.) The value can also be a list of error conditions that should call the debugger. For example, if you set it to the list @@ -154,18 +155,6 @@ file, use the option @samp{--debug-init}. This binds bypasses the @code{condition-case} which normally catches errors in the init file. - If your init file sets @code{debug-on-error}, the effect may -not last past the end of loading the init file. (This is an undesirable -byproduct of the code that implements the @samp{--debug-init} command -line option.) The best way to make the init file set -@code{debug-on-error} permanently is with @code{after-init-hook}, like -this: - -@example -(add-hook 'after-init-hook - (lambda () (setq debug-on-error t))) -@end example - @node Infinite Loops @subsection Debugging Infinite Loops @cindex infinite loops