[uim-commit] r1708 - branches/r5rs/sigscheme
yamaken at freedesktop.org
yamaken at freedesktop.org
Fri Sep 30 15:56:25 PDT 2005
Author: yamaken
Date: 2005-09-30 15:56:23 -0700 (Fri, 30 Sep 2005)
New Revision: 1708
Modified:
branches/r5rs/sigscheme/operations.c
branches/r5rs/sigscheme/sigscheme.c
Log:
* sigscheme/operations.c
- (ScmOp_call_with_current_continuation): Fix invalid type check for
proc
* sigscheme/sigscheme.c
- (SigScm_Initialize_internal):
* Fix lacking variable protection for scm_continuation_thrown_obj
* Define call/cc as alias to call-with-current-continuation when
SCM_USE_NONSTD_FEATURES
Modified: branches/r5rs/sigscheme/operations.c
===================================================================
--- branches/r5rs/sigscheme/operations.c 2005-09-30 22:22:25 UTC (rev 1707)
+++ branches/r5rs/sigscheme/operations.c 2005-09-30 22:56:23 UTC (rev 1708)
@@ -1764,8 +1764,8 @@
int jmpret = 0;
ScmObj cont = SCM_FALSE;
- if (!CLOSUREP(proc))
- SigScm_ErrorObj("call-with-current-continuation : closure required but got ", proc);
+ if (FALSEP(ScmOp_procedurep(proc)))
+ SigScm_ErrorObj("call-with-current-continuation : procedure required but got ", proc);
cont = Scm_NewContinuation();
Modified: branches/r5rs/sigscheme/sigscheme.c
===================================================================
--- branches/r5rs/sigscheme/sigscheme.c 2005-09-30 22:22:25 UTC (rev 1707)
+++ branches/r5rs/sigscheme/sigscheme.c 2005-09-30 22:56:23 UTC (rev 1708)
@@ -93,6 +93,7 @@
Externed Variable Initialization
=======================================================================*/
scm_continuation_thrown_obj = SCM_NULL;
+ SigScm_GC_Protect(&scm_continuation_thrown_obj);
/*=======================================================================
Storage Initialization
=======================================================================*/
@@ -305,6 +306,7 @@
Scm_RegisterProcedureFixed1("provided?" , ScmOp_providedp);
Scm_RegisterProcedureFixed1("file-exists?" , ScmOp_file_existsp);
Scm_RegisterProcedureFixed1("delete-file" , ScmOp_delete_file);
+ Scm_DefineAlias("call/cc", "call-with-current-continuation");
#endif
/*=======================================================================
More information about the uim-commit
mailing list