summaryrefslogtreecommitdiff
path: root/libguile/deprecated.c
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2011-05-13 15:45:43 +0200
committerAndy Wingo <wingo@pobox.com>2011-05-13 15:45:43 +0200
commit86fb1eb631d455aec634aa475a14d2c88052752c (patch)
tree98936072396a05aa1e4a6d177452f6d5e65a62f5 /libguile/deprecated.c
parentfc7bd367ab4b5027a7f80686b1e229c62e43c90b (diff)
parent2002f1f84797c2c46d0634eabd5ac5fd61e13d73 (diff)
downloadguile-86fb1eb631d455aec634aa475a14d2c88052752c.tar.gz
merge strictness branch from 2.0
Diffstat (limited to 'libguile/deprecated.c')
-rw-r--r--libguile/deprecated.c26
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 ()
{