1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-07-04 08:40:21 +02:00

Make dynstack interface completely internal

* libguile/Makefile.am (noinst_HEADERS, modinclude_HEADERS): Don't
install dynstack.h.
* libguile/dynwind.c (translate_frame_flags, scm_dynwind_begin)
(translate_winder_flags, scm_dynwind_unwind_handler):
* libguile/dynwind.h (scm_t_dynwind_flags, scm_t_wind_flags): Instead of
punning the dynwind.h flags to dynstack.h values, translate them.
* libguile/threads-internal.h:
* libguile/threads.h: Include dynstack.h in the private header.
This commit is contained in:
Andy Wingo 2025-06-30 14:07:05 +02:00
parent 8726b8789b
commit 985c1d16f2
5 changed files with 29 additions and 8 deletions

View file

@ -22,7 +22,7 @@
#include "libguile/dynstack.h"
#include "libguile/scm.h"
@ -33,12 +33,12 @@ SCM_INTERNAL void scm_init_dynwind (void);
SCM_API void scm_swap_bindings (SCM vars, SCM vals);
typedef enum {
SCM_F_DYNWIND_REWINDABLE = SCM_F_DYNSTACK_FRAME_REWINDABLE
SCM_F_DYNWIND_REWINDABLE = 1
} scm_t_dynwind_flags;
typedef enum {
SCM_F_WIND_EXPLICITLY = SCM_F_DYNSTACK_WINDER_EXPLICIT,
SCM_F_WIND_MANAGED = SCM_F_DYNSTACK_WINDER_MANAGED
SCM_F_WIND_EXPLICITLY = 1,
SCM_F_WIND_MANAGED = 2
} scm_t_wind_flags;
SCM_API void scm_dynwind_begin (scm_t_dynwind_flags);