diff doc/lispref/control.texi @ 107754:c065a9e361c6

Explain how to re-throw a signal. control.texi (Handling Errors): How to re-throw a signal caught by condition-case.
author Eli Zaretskii <eliz@gnu.org>
date Wed, 31 Mar 2010 12:43:53 +0300
parents 1d1d5d9bd884
children 731bea61f976
line wrap: on
line diff
--- a/doc/lispref/control.texi	Wed Mar 31 12:08:40 2010 +0300
+++ b/doc/lispref/control.texi	Wed Mar 31 12:43:53 2010 +0300
@@ -1023,6 +1023,20 @@
 
 If @var{var} is @code{nil}, that means no variable is bound.  Then the
 error symbol and associated data are not available to the handler.
+
+@cindex rethrow a signal
+Sometimes it is necessary to re-throw a signal caught by
+@code{condition-case}, for some outer-level handler to catch.  Here's
+how to do that:
+
+@smallexample
+  (signal (car err) (cdr err))
+@end smallexample
+
+@noindent
+where @code{err} is the error description variable, the first argument
+to @code{condition-case} whose error condition you want to re-throw.
+@xref{Definition of signal}.
 @end defspec
 
 @defun error-message-string error-description
@@ -1109,6 +1123,7 @@
 @end smallexample
 @end defmac
 
+
 @node Error Symbols
 @subsubsection Error Symbols and Condition Names
 @cindex error symbol