summaryrefslogtreecommitdiff
path: root/lispref/debugging.texi
diff options
context:
space:
mode:
authorRichard M. Stallman <rms@gnu.org>1998-02-28 01:53:53 +0000
committerRichard M. Stallman <rms@gnu.org>1998-02-28 01:53:53 +0000
commitf9f59935f3518733b46009b9ee40132b1f330cf0 (patch)
treee932eb7bce20a1b1e30ecc1e494c2818d294a479 /lispref/debugging.texi
parentcc6d0d2c9435d5d065121468b3655f4941403685 (diff)
*** empty log message ***
Diffstat (limited to 'lispref/debugging.texi')
-rw-r--r--lispref/debugging.texi29
1 files changed, 26 insertions, 3 deletions
diff --git a/lispref/debugging.texi b/lispref/debugging.texi
index b045d93b94..99e5e03435 100644
--- a/lispref/debugging.texi
+++ b/lispref/debugging.texi
@@ -1,6 +1,6 @@
@c -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990, 1991, 1992, 1993, 1994 Free Software Foundation, Inc.
+@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1998 Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
@setfilename ../info/debugging
@node Debugging, Read and Print, Byte Compilation, Top
@@ -107,6 +107,28 @@ The normal value of this variable lists several errors that happen often
during editing but rarely result from bugs in Lisp programs.
@end defopt
+@defopt debug-on-signal
+Normally, errors that are caught by @code{condition-case} never run the
+debugger, even if @code{debug-on-error} is non-@code{nil}. In other
+words, @code{condition-case} gets a chance to catch the error before the
+debugger gets a chance.
+
+If you set @code{debug-on-signal} non-@code{nil}, then the debugger gets
+first chance at every error; an error will invoke the debugger
+regardless of any @code{condition-case}, if the fits the criterion
+specified by the values of @code{debug-on-error} and
+@code{debug-ignored-errors}.
+
+@strong{Warning:} This variable is strong medecine! Various parts of
+Emacs handle errors in the normal course of affairs, and you may not
+even realize that errors happen there. If you set
+@code{debug-on-signal} to a non-@code{nil} value, those errors will
+enter the debugger.
+
+@strong{Warning:} @code{debug-on-signal} has no effect when
+@code{debug-on-error} is @code{nil}.
+@end defopt
+
To debug an error that happens during loading of the @file{.emacs}
file, use the option @samp{-debug-init}, which binds
@code{debug-on-error} to @code{t} while @file{.emacs} is loaded and
@@ -580,7 +602,8 @@ This function is used only by the debugger.
This variable records the debugging status of the current interactive
command. Each time a command is called interactively, this variable is
bound to @code{nil}. The debugger can set this variable to leave
-information for future debugger invocations during the same command.
+information for future debugger invocations during the same command
+invocation.
The advantage, for the debugger, of using this variable rather than
another global variable is that the data will never carry over to a
@@ -645,7 +668,7 @@ C-@key{SPC}} to set the mark there, undo the insertion of the
close parenthesis, and finally return to the mark.)
The next step is to determine precisely what is wrong. There is no
-way to be sure of this except to study the program, but often the
+way to be sure of this except by studying the program, but often the
existing indentation is a clue to where the parentheses should have
been. The easiest way to use this clue is to reindent with @kbd{C-M-q}
and see what moves.