[uim-commit] r1982 - in branches/r5rs: sigscheme sigscheme/script uim

kzk at freedesktop.org kzk at freedesktop.org
Thu Nov 3 14:22:23 PST 2005


Author: kzk
Date: 2005-11-03 14:22:19 -0800 (Thu, 03 Nov 2005)
New Revision: 1982

Added:
   branches/r5rs/sigscheme/sigschemefunctable.h
Modified:
   branches/r5rs/sigscheme/Makefile.am
   branches/r5rs/sigscheme/config.h
   branches/r5rs/sigscheme/operations-siod.c
   branches/r5rs/sigscheme/operations-srfi1.c
   branches/r5rs/sigscheme/operations-srfi2.c
   branches/r5rs/sigscheme/operations-srfi23.c
   branches/r5rs/sigscheme/operations-srfi34.c
   branches/r5rs/sigscheme/operations-srfi38.c
   branches/r5rs/sigscheme/operations-srfi6.c
   branches/r5rs/sigscheme/operations-srfi60.c
   branches/r5rs/sigscheme/operations.c
   branches/r5rs/sigscheme/script/functable-footer.txt
   branches/r5rs/sigscheme/script/functable-header.txt
   branches/r5rs/sigscheme/sigscheme.c
   branches/r5rs/sigscheme/sigscheme.h
   branches/r5rs/sigscheme/sigschemeinternal.h
   branches/r5rs/uim/uim-scm.c
Log:
* Add SCM_USE_REGISTER_TABLE flag
  this is disabled by default now, because some typos may remain.

* sigscheme/sigschemefunctable.h
  - new file
* sigscheme/sigschemeinternal.h
  - include sigschemefunctable.h when SCM_USE_REGISTER_TABLE is on
* sigscheme/config.h
  - (SCM_USE_REGISTER_TABLE): new flag
  
* sigscheme/operations.c
  - (ScmOp_cons, ScmOp_string_append): fixed typo
  - (ScmOp_stringequalp): renamed from ScmOp_stringequal

* sigscheme/operations-srfi34.c
* sigscheme/operations-srfi38.c
* sigscheme/operations-srfi1.c
* sigscheme/operations-srfi2.c
* sigscheme/sigscheme.c
* sigscheme/operations-srfi6.c
* sigscheme/operations-siod.c
* sigscheme/operations-srfi23.c
* sigscheme/operations-srfi60.c
  - use REGISTER_FUNCTABLE when SCM_USE_REGISTER_TABLE is on

* sigscheme/script/functable-header.txt
* sigscheme/script/functable-footer.txt
  - change to generate sigschemefunctable.c file

* sigscheme/sigscheme.h
  - (ScmOp_stringequalp): renamed from ScmOp_stringequal
* sigscheme/Makefile.am
  - add sigschemefunctable.[ch]
* uim/uim-scm.c
  - (uim_scm_string_equal): use ScmOp_stringequalp instead of
    ScmOp_stringequal



Modified: branches/r5rs/sigscheme/Makefile.am
===================================================================
--- branches/r5rs/sigscheme/Makefile.am	2005-11-03 21:55:23 UTC (rev 1981)
+++ branches/r5rs/sigscheme/Makefile.am	2005-11-03 22:22:19 UTC (rev 1982)
@@ -7,9 +7,12 @@
 		encoding.c error.c \
 		eval.c io.c \
 		operations.c \
-		read.c sigscheme.c  \
-		sigscheme.h sigschemetype.h
+		read.c sigscheme.c sigschemefunctable.c \
+		sigscheme.h sigschemetype.h sigschemefunctable.h
 
+sigschemefunctable.c:./script/build_func_table.rb
+	./script/build_func_table.rb > sigschemefunctable.c
+
 libsscm_la_CFLAGS   = -Wall
 
 bin_PROGRAMS  = sscm

Modified: branches/r5rs/sigscheme/config.h
===================================================================
--- branches/r5rs/sigscheme/config.h	2005-11-03 21:55:23 UTC (rev 1981)
+++ branches/r5rs/sigscheme/config.h	2005-11-03 22:22:19 UTC (rev 1982)
@@ -82,6 +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_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-03 21:55:23 UTC (rev 1981)
+++ branches/r5rs/sigscheme/operations-siod.c	2005-11-03 22:22:19 UTC (rev 1982)
@@ -100,6 +100,9 @@
     Scm_DefineAlias("bit-xor"               , "logxor");
     Scm_DefineAlias("bit-not"               , "lognot");
 
+#if SCM_USE_REGISTER_TABLE
+    REGISTER_FUNC_TABLE(siod_func_info_table);
+#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
@@ -110,6 +113,7 @@
     Scm_RegisterProcedureVariadic0("verbose" , ScmOp_verbose);
     Scm_RegisterProcedureFixed0("eof-val" , ScmOp_eof_val);
     Scm_RegisterSyntaxFixed1("undefine" , ScmExp_undefine);
+#endif /* SCM_USE_REGISTER_TABLE */
 
     saved_output_port = SCM_FALSE;
     saved_error_port  = SCM_FALSE;

Modified: branches/r5rs/sigscheme/operations-srfi1.c
===================================================================
--- branches/r5rs/sigscheme/operations-srfi1.c	2005-11-03 21:55:23 UTC (rev 1981)
+++ branches/r5rs/sigscheme/operations-srfi1.c	2005-11-03 22:22:19 UTC (rev 1982)
@@ -65,6 +65,9 @@
     /*=======================================================================
       SRFI-1 Procedures
     =======================================================================*/
+#if SCM_USE_REGISTER_TABLE
+    REGISTER_FUNC_TABLE(srfi1_func_info_table);
+#else /* SCM_USE_REGISTER_TABLE */
     Scm_RegisterProcedureFixed1("list-copy"            , ScmOp_SRFI1_list_copy);
     Scm_RegisterProcedureFixed2("xcons"                , ScmOp_SRFI1_xcons);
     Scm_RegisterProcedureVariadic0("circular-list"     , ScmOp_SRFI1_circular_list);
@@ -100,6 +103,7 @@
     Scm_RegisterProcedureFixed1("last-pair"            , ScmOp_SRFI1_last_pair);
     Scm_RegisterProcedureFixed1("length+"              , ScmOp_SRFI1_lengthplus);
     Scm_RegisterProcedureVariadic0("concatenate"       , ScmOp_SRFI1_concatenate);
+#endif /* SCM_USE_REGISTER_TABLE */
 }
 
 /*==============================================================================

Modified: branches/r5rs/sigscheme/operations-srfi2.c
===================================================================
--- branches/r5rs/sigscheme/operations-srfi2.c	2005-11-03 21:55:23 UTC (rev 1981)
+++ branches/r5rs/sigscheme/operations-srfi2.c	2005-11-03 22:22:19 UTC (rev 1982)
@@ -66,7 +66,11 @@
     /*=======================================================================
       SRFI-2 Procedure
     =======================================================================*/
+#if SCM_USE_REGISTER_TABLE
+    REGISTER_FUNC_TABLE(srfi2_func_info_table);
+#else /* SCM_USE_REGISTER_TABLE */
     Scm_RegisterSyntaxVariadicTailRec1("and-let*", ScmExp_SRFI2_and_letstar);
+#endif
 }
 
 ScmObj ScmExp_SRFI2_and_letstar(ScmObj claws, ScmObj body, ScmEvalState *eval_state)

Modified: branches/r5rs/sigscheme/operations-srfi23.c
===================================================================
--- branches/r5rs/sigscheme/operations-srfi23.c	2005-11-03 21:55:23 UTC (rev 1981)
+++ branches/r5rs/sigscheme/operations-srfi23.c	2005-11-03 22:22:19 UTC (rev 1982)
@@ -66,7 +66,11 @@
     /*=======================================================================
       SRFI-23 Procedure
     =======================================================================*/
+#if SCM_USE_REGISTER_TABLE
+    REGISTER_FUNC_TABLE(srfi23_func_info_table);
+#else /* SCM_USE_REGISTER_TABLE */
     Scm_RegisterProcedureVariadic1("error", ScmOp_SRFI23_error);
+#endif
 }
 
 /*=============================================================================

Modified: branches/r5rs/sigscheme/operations-srfi34.c
===================================================================
--- branches/r5rs/sigscheme/operations-srfi34.c	2005-11-03 21:55:23 UTC (rev 1981)
+++ branches/r5rs/sigscheme/operations-srfi34.c	2005-11-03 22:22:19 UTC (rev 1982)
@@ -74,9 +74,14 @@
     /*=======================================================================
       SRFI-34 Procedure
     =======================================================================*/
+#if SCM_USE_REGISTER_TABLE
+    REGISTER_FUNC_TABLE(srfi34_func_info_table);
+#else /* SCM_USE_REGISTER_TABLE */
     Scm_RegisterProcedureFixed2("with-exception-handler", ScmOp_SRFI34_with_exception_handler);
     Scm_RegisterSyntaxVariadic1("guard"                 , ScmExp_SRFI34_guard);
     Scm_RegisterProcedureFixed1("raise"                 , ScmOp_SRFI34_raise);
+#endif /* SCM_USE_REGISTER_TABLE */
+
     scm_exception_handlers      = SCM_FALSE;
     scm_exception_continuations = SCM_FALSE;
     SigScm_GC_Protect(&scm_exception_handlers);

Modified: branches/r5rs/sigscheme/operations-srfi38.c
===================================================================
--- branches/r5rs/sigscheme/operations-srfi38.c	2005-11-03 21:55:23 UTC (rev 1981)
+++ branches/r5rs/sigscheme/operations-srfi38.c	2005-11-03 22:22:19 UTC (rev 1982)
@@ -64,7 +64,11 @@
     /*=======================================================================
       SRFI-38 Procedure
     =======================================================================*/
+#if SCM_USE_REGISTER_TABLE
+    REGISTER_FUNC_TABLE(srfi38_func_info_table);
+#else /* SCM_USE_REGISTER_TABLE */
     Scm_RegisterProcedureVariadic1("write-with-shared-structure", ScmOp_SRFI38_write_with_shared_structure);
+#endif
 }
 
 /*=============================================================================

Modified: branches/r5rs/sigscheme/operations-srfi6.c
===================================================================
--- branches/r5rs/sigscheme/operations-srfi6.c	2005-11-03 21:55:23 UTC (rev 1981)
+++ branches/r5rs/sigscheme/operations-srfi6.c	2005-11-03 22:22:19 UTC (rev 1982)
@@ -72,9 +72,13 @@
     /*=======================================================================
       SRFI-6 Procedures
     =======================================================================*/
+#if SCM_USE_REGISTER_TABLE
+    REGISTER_FUNC_TABLE(srfi6_func_info_table);
+#else /* SCM_USE_REGISTER_TABLE */
     Scm_RegisterProcedureFixed1("open-input-string", ScmOp_SRFI6_open_input_string);
     Scm_RegisterProcedureFixed0("open-output-string", ScmOp_SRFI6_open_output_string);
     Scm_RegisterProcedureFixed1("get-output-string", ScmOp_SRFI6_get_output_string);
+#endif
 }
 
 static void istrport_finalize(char **str, int ownership, void **opaque)

Modified: branches/r5rs/sigscheme/operations-srfi60.c
===================================================================
--- branches/r5rs/sigscheme/operations-srfi60.c	2005-11-03 21:55:23 UTC (rev 1981)
+++ branches/r5rs/sigscheme/operations-srfi60.c	2005-11-03 22:22:19 UTC (rev 1982)
@@ -85,12 +85,17 @@
     /*=======================================================================
       SRFI-60 Procedures
     =======================================================================*/
+#if SCM_USE_REGISTER_TABLE
+    REGISTER_FUNC_TABLE(srfi60_func_info_table);
+#else /* SCM_USE_REGISTER_TABLE */
     Scm_RegisterReductionOperator("logand"   , ScmOp_SRFI60_logand);
     Scm_RegisterReductionOperator("logior"   , ScmOp_SRFI60_logior);
     Scm_RegisterReductionOperator("logxor"   , ScmOp_SRFI60_logxor);
     Scm_RegisterProcedureFixed1("lognot"     , ScmOp_SRFI60_lognot);
     Scm_RegisterProcedureFixed3("bitwise-if" , ScmOp_SRFI60_bitwise_if);
     Scm_RegisterProcedureFixed2("logtest"    , ScmOp_SRFI60_logtest);
+#endif /* SCM_USE_REGISTER_TABLE */
+
     Scm_DefineAlias("bitwise-and"            , "logand");
     Scm_DefineAlias("bitwise-ior"            , "logior");
     Scm_DefineAlias("bitwise-xor"            , "logxor");

Modified: branches/r5rs/sigscheme/operations.c
===================================================================
--- branches/r5rs/sigscheme/operations.c	2005-11-03 21:55:23 UTC (rev 1981)
+++ branches/r5rs/sigscheme/operations.c	2005-11-03 22:22:19 UTC (rev 1982)
@@ -611,7 +611,7 @@
 
 ScmObj ScmOp_cons(ScmObj car, ScmObj cdr)
 {
-    DECLARE_FUNCTION("cons", ProcedureFixed1);
+    DECLARE_FUNCTION("cons", ProcedureFixed2);
     return CONS(car, cdr);
 }
 
@@ -1337,9 +1337,9 @@
     return str;
 }
 
-ScmObj ScmOp_stringequal(ScmObj str1, ScmObj str2)
+ScmObj ScmOp_stringequalp(ScmObj str1, ScmObj str2)
 {
-    DECLARE_FUNCTION("string=", ProcedureFixed2);
+    DECLARE_FUNCTION("string=?", ProcedureFixed2);
 
     ASSERT_STRINGP(str1);
     ASSERT_STRINGP(str2);
@@ -1397,7 +1397,7 @@
     ScmObj obj     = SCM_NULL;
     char  *new_str = NULL;
     char  *p       = NULL;
-    DECLARE_FUNCTION("string-append", ProcedureFixed1);
+    DECLARE_FUNCTION("string-append", ProcedureVariadic0);
 
     if (NO_MORE_ARG(args))
         return Scm_NewStringCopying("");

Modified: branches/r5rs/sigscheme/script/functable-footer.txt
===================================================================
--- branches/r5rs/sigscheme/script/functable-footer.txt	2005-11-03 21:55:23 UTC (rev 1981)
+++ branches/r5rs/sigscheme/script/functable-footer.txt	2005-11-03 22:22:19 UTC (rev 1982)
@@ -1 +0,0 @@
-#endif /* __SIGSCHEME_FUNCTABLE_H */

Modified: branches/r5rs/sigscheme/script/functable-header.txt
===================================================================
--- branches/r5rs/sigscheme/script/functable-header.txt	2005-11-03 21:55:23 UTC (rev 1981)
+++ branches/r5rs/sigscheme/script/functable-header.txt	2005-11-03 22:22:19 UTC (rev 1982)
@@ -1,6 +1,7 @@
 /*===========================================================================
- *  FileName : sigschemefunctable.h
- *  About    : built-in function table
+ *  FileName : sigschemefunctable.c
+ *  About    : Built-in function table
+ *             This file is auto-generated by build_func_table.rb
  *
  *  Copyright (C) 2005      by Kazuki Ohta (mover at hct.zaq.ne.jp)
  *
@@ -31,8 +32,6 @@
  *  OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
  *  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 ===========================================================================*/
-#ifndef __SIGSCHEME_FUNCTABLE_H
-#define __SIGSCHEME_FUNCTABLE_H
 
 /*=======================================
   System Include
@@ -42,30 +41,16 @@
   Local Include
 =======================================*/
 #include "sigscheme.h"
+#include "sigschemefunctable.h"
 
 /*=======================================
   Macro Definitions
 =======================================*/
-#define REGISTER_FUNC_TABLE(functable)                          \
-    do {                                                        \
-        struct builtin_func_info *info = NULL;                  \
-        for (info = functable; info->funcname; info++) {        \
-            (*info->reg_func)(info->funcname, info->c_func);    \
-        }                                                       \
-    } while (/* CONSTCOND */ 0)
 
 /*=======================================
   Type Definitions
 =======================================*/
-typedef ScmObj (*ScmBuiltinFunc)(void);
-typedef void   (*ScmRegisterFunc)(const char *name, ScmBuiltinFunc func);
 
-struct builtin_func_info {
-    const char     *funcname;
-    ScmBuiltinFunc  c_func;
-    ScmRegisterFunc reg_func;
-};
-
 /*=======================================
    Builtin Function Tables
 =======================================*/

Modified: branches/r5rs/sigscheme/sigscheme.c
===================================================================
--- branches/r5rs/sigscheme/sigscheme.c	2005-11-03 21:55:23 UTC (rev 1981)
+++ branches/r5rs/sigscheme/sigscheme.c	2005-11-03 22:22:19 UTC (rev 1982)
@@ -174,6 +174,13 @@
     /*=======================================================================
       R5RS Syntaxes and Procedures
     =======================================================================*/
+#if SCM_USE_REGISTER_TABLE
+    REGISTER_FUNC_TABLE(r5rs_func_info_table);
+    Scm_DefineAlias("integer?"                  , "number?");
+#if SCM_USE_NONSTD_FEATURES
+    Scm_DefineAlias("call/cc", "call-with-current-continuation");
+#endif
+#else /* SCM_USE_REGISTER_TABLE */
     /* eval.c */
     Scm_RegisterProcedureFixed2("eval"                     , ScmOp_eval);
     Scm_RegisterProcedureVariadicTailRec2("apply"           , ScmOp_apply);
@@ -296,7 +303,7 @@
     Scm_RegisterProcedureFixed2("string-ref"               , ScmOp_string_ref);
     Scm_RegisterProcedureFixed3("string-set!"              , ScmOp_string_setd);
     Scm_RegisterProcedureFixed1("string-length"            , ScmOp_string_length);
-    Scm_RegisterProcedureFixed2("string=?"                 , ScmOp_stringequal);
+    Scm_RegisterProcedureFixed2("string=?"                 , ScmOp_stringequalp);
     Scm_RegisterProcedureFixed3("substring"                , ScmOp_substring);
     Scm_RegisterProcedureVariadic0("string-append" , ScmOp_string_append);
     Scm_RegisterProcedureFixed1("string->list"             , ScmOp_string2list);
@@ -364,6 +371,8 @@
 #if SCM_EXCEPTION_HANDLING
     ScmExp_use(Scm_Intern("srfi-34"), SCM_INTERACTION_ENV);
 #endif
+#endif /* SCM_USE_REGISTER_TABLE */
+
 }
 
 void SigScm_Finalize()

Modified: branches/r5rs/sigscheme/sigscheme.h
===================================================================
--- branches/r5rs/sigscheme/sigscheme.h	2005-11-03 21:55:23 UTC (rev 1981)
+++ branches/r5rs/sigscheme/sigscheme.h	2005-11-03 22:22:19 UTC (rev 1982)
@@ -534,7 +534,7 @@
 ScmObj ScmOp_string_length(ScmObj str);
 ScmObj ScmOp_string_ref(ScmObj str, ScmObj k);
 ScmObj ScmOp_string_setd(ScmObj str, ScmObj k, ScmObj ch);
-ScmObj ScmOp_stringequal(ScmObj str1, ScmObj str2);
+ScmObj ScmOp_stringequalp(ScmObj str1, ScmObj str2);
 /* TODO : many comparing functions around string is unimplemented */
 ScmObj ScmOp_substring(ScmObj str, ScmObj start, ScmObj end);
 ScmObj ScmOp_string_append(ScmObj args);

Added: branches/r5rs/sigscheme/sigschemefunctable.h
===================================================================
--- branches/r5rs/sigscheme/sigschemefunctable.h	2005-11-03 21:55:23 UTC (rev 1981)
+++ branches/r5rs/sigscheme/sigschemefunctable.h	2005-11-03 22:22:19 UTC (rev 1982)
@@ -0,0 +1,78 @@
+/*===========================================================================
+ *  FileName : sigschemefunctable.h
+ *  About    : Built-in function table
+ *
+ *  Copyright (C) 2005      by Kazuki Ohta (mover at hct.zaq.ne.jp)
+ *
+ *  All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions
+ *  are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright
+ *     notice, this list of conditions and the following disclaimer.
+ *  2. Redistributions in binary form must reproduce the above copyright
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution.
+ *  3. Neither the name of authors nor the names of its contributors
+ *     may be used to endorse or promote products derived from this software
+ *     without specific prior written permission.
+ *
+ *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS
+ *  IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ *  THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ *  PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR
+ *  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ *  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ *  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+ *  OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ *  WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ *  OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ *  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+===========================================================================*/
+
+/*=======================================
+  System Include
+=======================================*/
+
+/*=======================================
+  Local Include
+=======================================*/
+
+/*=======================================
+  Macro Definitions
+=======================================*/
+#define REGISTER_FUNC_TABLE(functable)                                  \
+    do {                                                                \
+        struct builtin_func_info *info = NULL;                          \
+        for (info = functable; info->funcname; info++) {                \
+            (*info->reg_func)(info->funcname, info->c_func);            \
+        }                                                               \
+    } while (/* CONSTCOND */ 0)
+
+/*=======================================
+  Type Definitions
+=======================================*/
+typedef ScmObj (*ScmBuiltinFunc)(void);
+typedef void   (*ScmRegisterFunc)(const char *name, ScmBuiltinFunc func);
+
+struct builtin_func_info {
+    const char     *funcname;
+    ScmBuiltinFunc  c_func;
+    ScmRegisterFunc reg_func;
+};
+
+/*=======================================
+   Variable Declarations
+=======================================*/
+extern struct builtin_func_info r5rs_func_info_table[];
+extern struct builtin_func_info srfi1_func_info_table[];
+extern struct builtin_func_info srfi2_func_info_table[];
+extern struct builtin_func_info srfi6_func_info_table[];
+extern struct builtin_func_info srfi8_func_info_table[];
+extern struct builtin_func_info srfi23_func_info_table[];
+extern struct builtin_func_info srfi34_func_info_table[];
+extern struct builtin_func_info srfi38_func_info_table[];
+extern struct builtin_func_info srfi60_func_info_table[];
+extern struct builtin_func_info siod_func_info_table[];

Modified: branches/r5rs/sigscheme/sigschemeinternal.h
===================================================================
--- branches/r5rs/sigscheme/sigschemeinternal.h	2005-11-03 21:55:23 UTC (rev 1981)
+++ branches/r5rs/sigscheme/sigschemeinternal.h	2005-11-03 22:22:19 UTC (rev 1982)
@@ -44,6 +44,10 @@
 =======================================*/
 #include "sigscheme.h"
 
+#if SCM_USE_REGISTER_TABLE
+#include "sigschemefunctable.h"
+#endif /* SCM_USE_REGISTER_TABLE */
+
 /*=======================================
    Type Definitions
 =======================================*/

Modified: branches/r5rs/uim/uim-scm.c
===================================================================
--- branches/r5rs/uim/uim-scm.c	2005-11-03 21:55:23 UTC (rev 1981)
+++ branches/r5rs/uim/uim-scm.c	2005-11-03 22:22:19 UTC (rev 1982)
@@ -391,7 +391,7 @@
 uim_bool
 uim_scm_string_equal(uim_lisp a, uim_lisp b)
 {
-  return (SCM_NFALSEP(ScmOp_stringequal((ScmObj)a, (ScmObj)b)));
+  return (SCM_NFALSEP(ScmOp_stringequalp((ScmObj)a, (ScmObj)b)));
 }
 
 uim_lisp



More information about the uim-commit mailing list