[uim-commit] r2027 - branches/r5rs/sigscheme
kzk at freedesktop.org
kzk at freedesktop.org
Sat Nov 5 23:34:38 PST 2005
Author: kzk
Date: 2005-11-05 23:34:28 -0800 (Sat, 05 Nov 2005)
New Revision: 2027
Modified:
branches/r5rs/sigscheme/config.h
branches/r5rs/sigscheme/operations-siod.c
branches/r5rs/sigscheme/sigscheme.h
Log:
* now, SCM_USE_REGISTER_TABLE is enabled as default
* Fix "=" related problem. in operations-siod.c, "=" is declared,
but auto-generating script guess c_funcname "ScmOp_equal" for
siod's "=". But "ScmOp_equal" is implemented in operations.c.
So, cause the type mismatch error.
* sigscheme/sigscheme.h
- (ScmOp_sscm_equal): renamed from ScmOp_siod_eql
* sigscheme/operations-siod.c
- (ScmOp_sscm_equal): renamed from ScmOp_siod_eql
- (SigScm_Initialize_SIOD): define alias replace R5RS's
"=" with "%%="
* sigscheme/config.h
- SCM_USE_REGISTER_TABLE is on
Modified: branches/r5rs/sigscheme/config.h
===================================================================
--- branches/r5rs/sigscheme/config.h 2005-11-06 06:24:10 UTC (rev 2026)
+++ branches/r5rs/sigscheme/config.h 2005-11-06 07:34:28 UTC (rev 2027)
@@ -82,7 +82,7 @@
#define SCM_VOLATILE_OUTPUT 0 /* always flush files on write */
#define SCM_EXCEPTION_HANDLING 1 /* use SRFI-34 base exception handling */
#define SCM_OBJ_COMPACT 0 /* object representation compaction (experimental) */
-#define SCM_USE_REGISTER_TABLE 0 /* register functions by using auto-generated func table */
+#define SCM_USE_REGISTER_TABLE 1 /* register functions by using auto-generated func table */
#define SCM_GCC4_READY_GC 1 /* use experimental gcc4-ready stack protection */
Modified: branches/r5rs/sigscheme/operations-siod.c
===================================================================
--- branches/r5rs/sigscheme/operations-siod.c 2005-11-06 06:24:10 UTC (rev 2026)
+++ branches/r5rs/sigscheme/operations-siod.c 2005-11-06 07:34:28 UTC (rev 2027)
@@ -106,11 +106,13 @@
#if SCM_USE_REGISTER_TABLE
REGISTER_FUNC_TABLE(siod_func_info_table);
+ Scm_DefineAlias("=", "%%=");
#else /* SCM_USE_REGISTER_TABLE */
Scm_RegisterProcedureFixed1("symbol-value" , ScmOp_symbol_value);
Scm_RegisterProcedureFixed2("set-symbol-value!" , ScmOp_set_symbol_valued);
#if SCM_COMPAT_SIOD_BUGS
- Scm_RegisterProcedureFixed2("=" , ScmOp_siod_eql);
+ Scm_RegisterProcedureFixed2("%%=" , ScmOp_sscm_equal);
+ Scm_DefineAlias("=", "%%=");
#endif
Scm_RegisterProcedureFixedTailRec0("the-environment" , ScmOp_the_environment);
Scm_RegisterProcedureFixed1("%%closure-code" , ScmOp_sscm_closure_code);
@@ -158,9 +160,9 @@
return SCM_SYMBOL_SET_VCELL(var, val);
}
-ScmObj ScmOp_siod_eql(ScmObj obj1, ScmObj obj2)
+ScmObj ScmOp_sscm_equal(ScmObj obj1, ScmObj obj2)
{
- DECLARE_FUNCTION("=", ProcedureFixed2);
+ DECLARE_FUNCTION("%%=", ProcedureFixed2);
if (EQ(obj1, obj2))
return SCM_TRUE;
Modified: branches/r5rs/sigscheme/sigscheme.h
===================================================================
--- branches/r5rs/sigscheme/sigscheme.h 2005-11-06 06:24:10 UTC (rev 2026)
+++ branches/r5rs/sigscheme/sigscheme.h 2005-11-06 07:34:28 UTC (rev 2027)
@@ -729,7 +729,7 @@
void SigScm_Initialize_SIOD(void);
ScmObj ScmOp_symbol_value(ScmObj var);
ScmObj ScmOp_set_symbol_valued(ScmObj var, ScmObj val);
-ScmObj ScmOp_siod_eql(ScmObj obj1, ScmObj obj2);
+ScmObj ScmOp_sscm_equal(ScmObj obj1, ScmObj obj2);
ScmObj ScmOp_the_environment(ScmEvalState *eval_state);
ScmObj ScmOp_sscm_closure_code(ScmObj closure);
ScmObj ScmOp_verbose(ScmObj args);
More information about the uim-commit
mailing list