* procs.h: Doc fix.
[bpt/guile.git] / libguile / throw.h
index f74b53d..9485686 100644 (file)
@@ -2,7 +2,7 @@
 
 #ifndef THROWH
 #define THROWH
-/*     Copyright (C) 1995,1996 Free Software Foundation, Inc.
+/*     Copyright (C) 1995,1996,1998 Free Software Foundation, Inc.
  * 
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -48,7 +48,7 @@
 
 \f
 
-typedef SCM (*scm_catch_body_t) SCM_P ((void *data, SCM jmpbuf));
+typedef SCM (*scm_catch_body_t) SCM_P ((void *data));
 typedef SCM (*scm_catch_handler_t) SCM_P ((void *data,
                                           SCM tag, SCM throw_args));
 
@@ -64,6 +64,12 @@ extern SCM scm_internal_lazy_catch SCM_P ((SCM tag,
                                           scm_catch_handler_t handler,
                                           void *handler_data));
 
+extern SCM scm_internal_stack_catch SCM_P ((SCM tag,
+                                           scm_catch_body_t body,
+                                           void *body_data,
+                                           scm_catch_handler_t 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
@@ -78,12 +84,14 @@ struct scm_body_thunk_data
   SCM body_proc;
 };
 
-extern SCM scm_body_thunk SCM_P ((void *, SCM));
+extern SCM scm_body_thunk SCM_P ((void *));
 
 
 extern SCM scm_handle_by_proc SCM_P ((void *, SCM, SCM));
+extern SCM scm_handle_by_proc_catching_all SCM_P ((void *, SCM, SCM));
 extern SCM scm_handle_by_message SCM_P ((void *, SCM, SCM));
 extern SCM scm_handle_by_message_noexit SCM_P ((void *, SCM, SCM));
+extern SCM scm_handle_by_throw SCM_P ((void *, SCM, SCM));
 extern int scm_exit_status SCM_P ((SCM args));
 
 extern SCM scm_catch SCM_P ((SCM tag, SCM thunk, SCM handler));