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

yamaken at freedesktop.org yamaken at freedesktop.org
Tue Oct 4 08:54:39 PDT 2005


Author: yamaken
Date: 2005-10-04 08:54:35 -0700 (Tue, 04 Oct 2005)
New Revision: 1804

Modified:
   branches/r5rs/sigscheme/TODO
   branches/r5rs/sigscheme/operations-srfi34.c
Log:
* sigscheme/operations-srfi34.c
  - (ScmOp_SRFI34_with_exception_handler, ScmExp_SRFI34_guard,
    ScmOp_SRFI34_raise): Add FIXME comemnt
* sigscheme/TODO
  - Update


Modified: branches/r5rs/sigscheme/TODO
===================================================================
--- branches/r5rs/sigscheme/TODO	2005-10-04 15:34:44 UTC (rev 1803)
+++ branches/r5rs/sigscheme/TODO	2005-10-04 15:54:35 UTC (rev 1804)
@@ -2,11 +2,10 @@
 Requirements and bugs:
 
 * Introduce Exception handling (probably should be based on SRFI-34)
-  - Throw an exception instead of exit(3) when an error occurred
-  - Rename call/cc with call/ec? ([Anthy-dev 2216])
   - Implement assert-error in unittest.scm
-  - [uim] Make uim-sh loop workable even if error occurred
   - [uim] Make the GaUnit-based testing framework workable
+  - Reimplement with dynamic-wind, and without direct setjmp/longjmp
+  - Rename call/cc with call/ec? ([Anthy-dev 2216])
 
 * Add tests for proper tail recursion with 'apply' to test-tail-rec.scm
 

Modified: branches/r5rs/sigscheme/operations-srfi34.c
===================================================================
--- branches/r5rs/sigscheme/operations-srfi34.c	2005-10-04 15:34:44 UTC (rev 1803)
+++ branches/r5rs/sigscheme/operations-srfi34.c	2005-10-04 15:54:35 UTC (rev 1804)
@@ -83,6 +83,10 @@
     SigScm_GC_Protect(&scm_exception_continuations);
 }
 
+/*
+ * FIXME: Reimplement with dynamic-wind as "Reference Implementation" of
+ * SRFI-34 does, without direct use of setjmp/longjmp
+ */
 ScmObj ScmOp_SRFI34_with_exception_handler(ScmObj handler, ScmObj thunk)
 {
     jmp_buf jmpenv;
@@ -111,6 +115,11 @@
     return ret;
 }
 
+/*
+ * FIXME: Reimplement with dynamic-wind, Scm_CallWithCurrentContinuation() and
+ * Scm_CallContinuation() as "Reference Implementation" of SRFI-34 does,
+ * without direct use of setjmp/longjmp
+ */
 ScmObj ScmExp_SRFI34_guard(ScmObj var_and_clauses, ScmObj body, ScmObj env)
 {
     /* (guard (var clauses) body) */
@@ -212,6 +221,14 @@
     return SCM_UNDEF;
 }
 
+/*
+ * FIXME:
+ * - Reimplement with dynamic-wind as "Reference Implementation" of SRFI-34
+ *   does, without direct use of setjmp/longjmp
+ * - Cause error when the current exception handler returns, as "Reference
+ *   Implementation" of SRFI-34 does. current implementation allows writing
+ *   unspecified behavior
+ */
 ScmObj ScmOp_SRFI34_raise(ScmObj obj)
 {
     jmp_buf *env;



More information about the uim-commit mailing list