1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-24 12:20:20 +02:00

* dynwind.c: #include "genio.h"; #include "smob.h"; Implemented a

new data type (guards) for representation of C level guards and
data on the wind chain.
(scm_internal_dynamic_wind): New function.

* dynwind.h: Declare scm_internal_dynamic_wind.

* load.c: #include "dynwind.h";
(scm_primitive_load): Use scm_inner_dynamic_wind to update
scm_cur_loadp.
This commit is contained in:
Mikael Djurfeldt 1998-06-18 21:53:00 +00:00
parent ef0d04e5c3
commit 3346a90fa7
2 changed files with 82 additions and 0 deletions

View file

@ -47,7 +47,15 @@
typedef void (*scm_guard_t) (void *);
typedef SCM (*scm_inner_t) (void *);
extern SCM scm_dynamic_wind SCM_P ((SCM thunk1, SCM thunk2, SCM thunk3));
extern SCM scm_internal_dynamic_wind SCM_P ((scm_guard_t before,
scm_inner_t inner,
scm_guard_t after,
void *inner_data,
void *guard_data));
extern void scm_dowinds SCM_P ((SCM to, long delta));
extern void scm_init_dynwind SCM_P ((void));