[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