temporarily disable elisp exception tests
[bpt/guile.git] / libguile / dynstack.h
index 207638e..7b31ace 100644 (file)
@@ -3,7 +3,7 @@
 #ifndef SCM_DYNSTACK_H
 #define SCM_DYNSTACK_H
 
-/* Copyright (C) 2012 Free Software Foundation, Inc.
+/* Copyright (C) 2012, 2013 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
@@ -24,7 +24,6 @@
 \f
 
 #include "libguile/__scm.h"
-#include "libguile/control.h"
 
 \f
 
@@ -79,7 +78,7 @@ typedef enum {
   SCM_DYNSTACK_TYPE_FRAME,
   SCM_DYNSTACK_TYPE_UNWINDER,
   SCM_DYNSTACK_TYPE_REWINDER,
-  SCM_DYNSTACK_TYPE_WITH_FLUIDS,
+  SCM_DYNSTACK_TYPE_WITH_FLUID,
   SCM_DYNSTACK_TYPE_PROMPT,
   SCM_DYNSTACK_TYPE_DYNWIND,
 } scm_t_dynstack_item_type;
@@ -130,7 +129,8 @@ typedef enum {
 } scm_t_dynstack_winder_flags;
 
 typedef enum {
-  SCM_F_DYNSTACK_PROMPT_ESCAPE_ONLY = (1 << SCM_DYNSTACK_TAG_FLAGS_SHIFT)
+  SCM_F_DYNSTACK_PROMPT_ESCAPE_ONLY = (1 << SCM_DYNSTACK_TAG_FLAGS_SHIFT),
+  SCM_F_DYNSTACK_PROMPT_PUSH_NARGS = (2 << SCM_DYNSTACK_TAG_FLAGS_SHIFT)
 } scm_t_dynstack_prompt_flags;
 
 typedef void (*scm_t_guard) (void *);
@@ -148,15 +148,15 @@ SCM_INTERNAL void scm_dynstack_push_rewinder (scm_t_dynstack *,
 SCM_INTERNAL void scm_dynstack_push_unwinder (scm_t_dynstack *,
                                               scm_t_dynstack_winder_flags,
                                               scm_t_guard, void *);
-SCM_INTERNAL void scm_dynstack_push_fluids (scm_t_dynstack *,
-                                            size_t,
-                                            SCM *fluids,
-                                            SCM *values,
-                                            SCM dynamic_state);
+SCM_INTERNAL void scm_dynstack_push_fluid (scm_t_dynstack *,
+                                           SCM fluid, SCM value,
+                                           SCM dynamic_state);
 SCM_INTERNAL void scm_dynstack_push_prompt (scm_t_dynstack *,
                                             scm_t_dynstack_prompt_flags,
                                             SCM key,
-                                            SCM *fp, SCM *sp, scm_t_uint8 *ip,
+                                            scm_t_ptrdiff fp_offset,
+                                            scm_t_ptrdiff sp_offset,
+                                            scm_t_uint32 *ip,
                                             scm_i_jmp_buf *registers);
 SCM_INTERNAL void scm_dynstack_push_dynwind (scm_t_dynstack *,
                                              SCM enter, SCM leave);
@@ -187,12 +187,14 @@ SCM_INTERNAL scm_t_bits* scm_dynstack_unwind_fork (scm_t_dynstack *,
                                                    scm_t_dynstack *);
 
 SCM_INTERNAL void scm_dynstack_unwind_frame (scm_t_dynstack *);
-SCM_INTERNAL void scm_dynstack_unwind_fluids (scm_t_dynstack *dynstack,
-                                              SCM dynamic_state);
+SCM_INTERNAL void scm_dynstack_unwind_fluid (scm_t_dynstack *dynstack,
+                                             SCM dynamic_state);
 
 SCM_INTERNAL scm_t_bits* scm_dynstack_find_prompt (scm_t_dynstack *, SCM,
                                                    scm_t_dynstack_prompt_flags *,
-                                                   SCM **, SCM **, scm_t_uint8 **,
+                                                   scm_t_ptrdiff *,
+                                                   scm_t_ptrdiff *,
+                                                   scm_t_uint32 **,
                                                    scm_i_jmp_buf **);
 
 SCM_INTERNAL void scm_dynstack_wind_prompt (scm_t_dynstack *, scm_t_bits *,