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:
parent
ef0d04e5c3
commit
3346a90fa7
2 changed files with 82 additions and 0 deletions
|
@ -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));
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue