[uim-commit] r1751 - branches/r5rs/sigscheme

yamaken at freedesktop.org yamaken at freedesktop.org
Sun Oct 2 15:11:16 PDT 2005


Author: yamaken
Date: 2005-10-02 15:11:14 -0700 (Sun, 02 Oct 2005)
New Revision: 1751

Modified:
   branches/r5rs/sigscheme/operations.c
   branches/r5rs/sigscheme/sigscheme.c
Log:
* sigscheme/operations.c
  - (ScmOp_dynamic_wind): New function. Currently only a placeholder
* sigscheme/sigscheme.c
  - (SigScm_Initialize_internal): Add initialization for dynamic-wind


Modified: branches/r5rs/sigscheme/operations.c
===================================================================
--- branches/r5rs/sigscheme/operations.c	2005-10-02 22:04:30 UTC (rev 1750)
+++ branches/r5rs/sigscheme/operations.c	2005-10-02 22:11:14 UTC (rev 1751)
@@ -1847,6 +1847,24 @@
     return Scm_tailcall(consumer, vals, eval_state);
 }
 
+ScmObj ScmOp_dynamic_wind(ScmObj before, ScmObj thunk, ScmObj after,
+                          ScmEvalState *eval_state)
+{
+    ScmObj vals;
+    DECLARE_FUNCTION("dynamic-wind", ProcedureFixedTailRec3);
+
+    ASSERT_PROCEDUREP(before);
+    ASSERT_PROCEDUREP(thunk);
+    ASSERT_PROCEDUREP(after);
+
+#if 0
+    eval_state->dynwind_before = before;
+    eval_state->dynwind_after = after;
+#endif
+
+    return Scm_tailcall(thunk, SCM_NULL, eval_state);
+}
+
 #if SCM_USE_SRFI1
 #include "operations-srfi1.c"
 #endif

Modified: branches/r5rs/sigscheme/sigscheme.c
===================================================================
--- branches/r5rs/sigscheme/sigscheme.c	2005-10-02 22:04:30 UTC (rev 1750)
+++ branches/r5rs/sigscheme/sigscheme.c	2005-10-02 22:11:14 UTC (rev 1751)
@@ -274,6 +274,7 @@
     Scm_RegisterProcedureVariadic0("values"          , ScmOp_values);
     Scm_RegisterProcedureFixedTailRec1("call-with-current-continuation", ScmOp_call_with_current_continuation);
     Scm_RegisterProcedureFixedTailRec2("call-with-values", ScmOp_call_with_values);
+    Scm_RegisterProcedureFixedTailRec3("dynamic-wind", ScmOp_dynamic_wind);
     /* io.c */
     Scm_RegisterProcedureFixed2("call-with-input-file"     , ScmOp_call_with_input_file);
     Scm_RegisterProcedureFixed2("call-with-output-file"    , ScmOp_call_with_output_file);



More information about the uim-commit mailing list