diff options
Diffstat (limited to 'libguile/deprecated.c')
-rw-r--r-- | libguile/deprecated.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/libguile/deprecated.c b/libguile/deprecated.c index 0c5531630..3e2d88a7f 100644 --- a/libguile/deprecated.c +++ b/libguile/deprecated.c @@ -27,9 +27,35 @@ #define SCM_BUILDING_DEPRECATED_CODE #include "libguile/_scm.h" +#include "libguile/deprecation.h" #if (SCM_ENABLE_DEPRECATED == 1) + + +SCM +scm_internal_dynamic_wind (scm_t_guard before, + scm_t_inner inner, + scm_t_guard after, + void *inner_data, + void *guard_data) +{ + SCM ans; + + scm_c_issue_deprecation_warning + ("`scm_internal_dynamic_wind' is deprecated. " + "Use the `scm_dynwind_begin' / `scm_dynwind_end' API instead."); + + scm_dynwind_begin (SCM_F_DYNWIND_REWINDABLE); + scm_dynwind_rewind_handler (before, guard_data, SCM_F_WIND_EXPLICITLY); + scm_dynwind_unwind_handler (after, guard_data, SCM_F_WIND_EXPLICITLY); + ans = inner (inner_data); + scm_dynwind_end (); + return ans; +} + + + void scm_i_init_deprecated () { |