]> git.eshelyaron.com Git - emacs.git/commitdiff
Explain how to re-throw a signal.
authorEli Zaretskii <eliz@gnu.org>
Wed, 31 Mar 2010 09:43:53 +0000 (12:43 +0300)
committerEli Zaretskii <eliz@gnu.org>
Wed, 31 Mar 2010 09:43:53 +0000 (12:43 +0300)
 control.texi (Handling Errors): How to re-throw a signal caught
 by condition-case.

doc/lispref/ChangeLog
doc/lispref/control.texi

index fd5fe0e5262d71ed13987199121454e73f1f924d..6f119b5d28811ad2bd4bd3553f8a8ee36a658425 100644 (file)
@@ -1,3 +1,8 @@
+2010-03-31  Eli Zaretskii  <eliz@gnu.org>
+
+       * control.texi (Handling Errors): How to re-throw a signal caught
+       by condition-case.
+
 2010-03-26  Chong Yidong  <cyd@stupidchicken.com>
 
        * loading.texi (Hooks for Loading): Document after-load-functions.
index 2b4aabaff83820a59a52f6677ba4df80e2f38420..1c4447e9eb517096c73232f702a403454ebe1acc 100644 (file)
@@ -1023,6 +1023,20 @@ error description.
 
 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 @@ Here's the example at the beginning of this subsection rewritten using
 @end smallexample
 @end defmac
 
+
 @node Error Symbols
 @subsubsection Error Symbols and Condition Names
 @cindex error symbol