mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-05-04 22:40:25 +02:00
Revert "Change dynwind flag enums to #defines, for greater portability"
This reverts commit b25aa0b937
.
This commit is contained in:
parent
61aab1c375
commit
98241dc53f
4 changed files with 58 additions and 38 deletions
|
@ -154,7 +154,7 @@ static scm_t_bits tc16_winder;
|
|||
#define WINDER_MARK_P(w) (SCM_SMOB_FLAGS(w) & WINDER_F_MARK)
|
||||
|
||||
void
|
||||
scm_dynwind_begin (int flags)
|
||||
scm_dynwind_begin (scm_t_dynwind_flags flags)
|
||||
{
|
||||
SCM f;
|
||||
SCM_NEWSMOB (f, tc16_frame, 0);
|
||||
|
@ -192,7 +192,8 @@ scm_dynwind_end (void)
|
|||
}
|
||||
|
||||
void
|
||||
scm_dynwind_unwind_handler (void (*proc) (void *), void *data, int flags)
|
||||
scm_dynwind_unwind_handler (void (*proc) (void *), void *data,
|
||||
scm_t_wind_flags flags)
|
||||
{
|
||||
SCM w;
|
||||
SCM_NEWSMOB2 (w, tc16_winder, (scm_t_bits) proc, (scm_t_bits) data);
|
||||
|
@ -202,7 +203,8 @@ scm_dynwind_unwind_handler (void (*proc) (void *), void *data, int flags)
|
|||
}
|
||||
|
||||
void
|
||||
scm_dynwind_rewind_handler (void (*proc) (void *), void *data, int flags)
|
||||
scm_dynwind_rewind_handler (void (*proc) (void *), void *data,
|
||||
scm_t_wind_flags flags)
|
||||
{
|
||||
SCM w;
|
||||
SCM_NEWSMOB2 (w, tc16_winder, (scm_t_bits) proc, (scm_t_bits) data);
|
||||
|
@ -213,7 +215,8 @@ scm_dynwind_rewind_handler (void (*proc) (void *), void *data, int flags)
|
|||
}
|
||||
|
||||
void
|
||||
scm_dynwind_unwind_handler_with_scm (void (*proc) (SCM), SCM data, int flags)
|
||||
scm_dynwind_unwind_handler_with_scm (void (*proc) (SCM), SCM data,
|
||||
scm_t_wind_flags flags)
|
||||
{
|
||||
SCM w;
|
||||
scm_t_bits fl = ((flags&SCM_F_WIND_EXPLICITLY)? WINDER_F_EXPLICIT : 0);
|
||||
|
@ -223,7 +226,8 @@ scm_dynwind_unwind_handler_with_scm (void (*proc) (SCM), SCM data, int flags)
|
|||
}
|
||||
|
||||
void
|
||||
scm_dynwind_rewind_handler_with_scm (void (*proc) (SCM), SCM data, int flags)
|
||||
scm_dynwind_rewind_handler_with_scm (void (*proc) (SCM), SCM data,
|
||||
scm_t_wind_flags flags)
|
||||
{
|
||||
SCM w;
|
||||
SCM_NEWSMOB2 (w, tc16_winder, (scm_t_bits) proc, SCM_UNPACK (data));
|
||||
|
|
|
@ -43,21 +43,26 @@ SCM_INTERNAL void scm_init_dynwind (void);
|
|||
|
||||
SCM_API void scm_swap_bindings (SCM vars, SCM vals);
|
||||
|
||||
/* Flags for scm_dynwind_begin. */
|
||||
#define SCM_F_DYNWIND_REWINDABLE 1
|
||||
typedef enum {
|
||||
SCM_F_DYNWIND_REWINDABLE = (1 << 0)
|
||||
} scm_t_dynwind_flags;
|
||||
|
||||
/* Flags for scm_dynwind_unwind_handler(_with_scm) and
|
||||
scm_dynwind_rewind_handler(_with_scm). */
|
||||
#define SCM_F_WIND_EXPLICITLY 1
|
||||
typedef enum {
|
||||
SCM_F_WIND_EXPLICITLY = (1 << 0)
|
||||
} scm_t_wind_flags;
|
||||
|
||||
SCM_API void scm_dynwind_begin (int);
|
||||
SCM_API void scm_dynwind_begin (scm_t_dynwind_flags);
|
||||
SCM_API void scm_dynwind_end (void);
|
||||
|
||||
SCM_API void scm_dynwind_unwind_handler (void (*) (void *), void *, int);
|
||||
SCM_API void scm_dynwind_rewind_handler (void (*) (void *), void *, int);
|
||||
SCM_API void scm_dynwind_unwind_handler (void (*func) (void *), void *data,
|
||||
scm_t_wind_flags);
|
||||
SCM_API void scm_dynwind_rewind_handler (void (*func) (void *), void *data,
|
||||
scm_t_wind_flags);
|
||||
|
||||
SCM_API void scm_dynwind_unwind_handler_with_scm (void (*) (SCM), SCM, int);
|
||||
SCM_API void scm_dynwind_rewind_handler_with_scm (void (*) (SCM), SCM, int);
|
||||
SCM_API void scm_dynwind_unwind_handler_with_scm (void (*func) (SCM), SCM data,
|
||||
scm_t_wind_flags);
|
||||
SCM_API void scm_dynwind_rewind_handler_with_scm (void (*func) (SCM), SCM data,
|
||||
scm_t_wind_flags);
|
||||
|
||||
SCM_API void scm_dynwind_free (void *mem);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue