[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