X-Git-Url: http://git.hcoop.net/bpt/guile.git/blobdiff_plain/5f236208d0d864546e59afa0f5a11c9b3ba14b10..6570cfdfd83b0d792f6ff01594915f3ec1336b16:/libguile/throw.h diff --git a/libguile/throw.h b/libguile/throw.h index 1ed6ba6b1..e2da73170 100644 --- a/libguile/throw.h +++ b/libguile/throw.h @@ -3,7 +3,7 @@ #ifndef SCM_THROW_H #define SCM_THROW_H -/* Copyright (C) 1995,1996,1998,2000, 2006, 2008 Free Software Foundation, Inc. +/* Copyright (C) 1995,1996,1998,2000, 2006, 2008, 2010, 2014 Free Software Foundation, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public License @@ -52,18 +52,6 @@ SCM_API SCM scm_internal_catch (SCM tag, scm_t_catch_handler handler, void *handler_data); -SCM_API SCM scm_internal_lazy_catch (SCM tag, - scm_t_catch_body body, - void *body_data, - scm_t_catch_handler handler, - void *handler_data); - -SCM_API SCM scm_internal_stack_catch (SCM tag, - scm_t_catch_body body, - void *body_data, - scm_t_catch_handler handler, - void *handler_data); - /* The first argument to scm_body_thunk should be a pointer to one of these. See the implementation of catch in throw.c. */ struct scm_body_thunk_data @@ -91,8 +79,15 @@ SCM_API int scm_exit_status (SCM args); SCM_API SCM scm_catch_with_pre_unwind_handler (SCM tag, SCM thunk, SCM handler, SCM lazy_handler); SCM_API SCM scm_catch (SCM tag, SCM thunk, SCM handler); SCM_API SCM scm_with_throw_handler (SCM tag, SCM thunk, SCM handler); -SCM_API SCM scm_lazy_catch (SCM tag, SCM thunk, SCM handler); -SCM_API SCM scm_ithrow (SCM key, SCM args, int noreturn); +SCM_API SCM scm_ithrow (SCM key, SCM args, int no_return); + +/* This throws to the `stack-overflow' key, without running pre-unwind + handlers. */ +SCM_API void scm_report_stack_overflow (void); + +/* This throws to the `out-of-memory' key, without running pre-unwind + handlers. */ +SCM_API void scm_report_out_of_memory (void); SCM_API SCM scm_throw (SCM key, SCM args); SCM_INTERNAL void scm_init_throw (void);