diff options
author | Andy Wingo <wingo@pobox.com> | 2010-01-31 12:35:19 +0100 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2010-02-26 11:56:02 +0100 |
commit | e10cf6b9c7e54c79db4de74584f1b0b65847d4fc (patch) | |
tree | 3df9ed5f6b52af3b0ffd5605e2f8834705bb589c /doc/ref/api-debug.texi | |
parent | d296431516dbf14535fc6eaba551fede19c09772 (diff) | |
download | guile-e10cf6b9c7e54c79db4de74584f1b0b65847d4fc.tar.gz |
deprecate lazy-catch
* libguile/deprecated.h:
* libguile/deprecated.c (scm_internal_lazy_catch, scm_lazy_catch):
Deprecate, and print out a nasty warning that people should change to
with-throw-handler.
* libguile/throw.h:
* libguile/throw.c (scm_c_with_throw_handler): Deprecate the use of the
lazy_catch_p argument, printing out a nasty warning if someone
actually passes 1 as that argument. The combination of the pre-unwind
and post-unwind handlers should be sufficient.
* test-suite/tests/exceptions.test: Remove lazy-catch tests, as they are
deprecated. Two of them fail:
* throw/catch: effect of lazy-catch unwinding on throw to another key
* throw/catch: repeat of previous test but with lazy-catch
Hopefully people are not depending on this behavior, and the warning is
sufficiently nasty for people to switch. We will see.
* test-suite/tests/eval.test ("promises"): Use with-throw-handler
instead of lazy-catch.
* doc/ref/api-debug.texi:
* doc/ref/api-control.texi: Update to remove references to lazy-catch,
folding in the useful bits to with-throw-handler.
Diffstat (limited to 'doc/ref/api-debug.texi')
-rw-r--r-- | doc/ref/api-debug.texi | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/doc/ref/api-debug.texi b/doc/ref/api-debug.texi index c29bfdf12..3c9ec1137 100644 --- a/doc/ref/api-debug.texi +++ b/doc/ref/api-debug.texi @@ -1,6 +1,6 @@ @c -*-texinfo-*- @c This is part of the GNU Guile Reference Manual. -@c Copyright (C) 1996, 1997, 2000, 2001, 2002, 2003, 2004, 2007 +@c Copyright (C) 1996, 1997, 2000, 2001, 2002, 2003, 2004, 2007, 2010 @c Free Software Foundation, Inc. @c See the file guile.texi for copying conditions. @@ -400,13 +400,12 @@ equivalent in C. In Scheme, this means you need something like this: @end lisp @noindent -The @code{catch} here can also be @code{lazy-catch} or -@code{with-throw-handler}; see @ref{Throw Handlers} and @ref{Lazy Catch} -for the details of how these differ from @code{catch}. The @code{#t} -means that the catch is applicable to all kinds of error; if you want to -restrict your catch to just one kind of error, you can put the symbol -for that kind of error instead of @code{#t}. The equivalent to this in -C would be something like this: +The @code{catch} here can also be @code{with-throw-handler}; see @ref{Throw +Handlers} for information on the when you might want to use +@code{with-throw-handler} instead of @code{catch}. The @code{#t} means that the +catch is applicable to all kinds of error; if you want to restrict your catch to +just one kind of error, you can put the symbol for that kind of error instead of +@code{#t}. The equivalent to this in C would be something like this: @lisp SCM my_body_proc (void *body_data) |