[uim-commit] r2195 - branches/r5rs/sigscheme

yamaken at freedesktop.org yamaken at freedesktop.org
Sun Nov 20 09:22:10 PST 2005


Author: yamaken
Date: 2005-11-20 09:22:07 -0800 (Sun, 20 Nov 2005)
New Revision: 2195

Modified:
   branches/r5rs/sigscheme/debug.c
   branches/r5rs/sigscheme/main.c
   branches/r5rs/sigscheme/sigscheme.h
   branches/r5rs/sigscheme/sigschemeinternal.h
Log:
* sigscheme/sigschemeinternal.h
  - (Scm_writess_func): New variable decl
* sigscheme/debug.c
  - (Scm_writess_func): New variable
* sigscheme/sigscheme.h
  - (SCM_WRITESS_TO_PORT): New macro
* sigscheme/main.c
  - (repl_loop): Simplify write/ss invocation with SCM_WRITESS_TO_PORT()


Modified: branches/r5rs/sigscheme/debug.c
===================================================================
--- branches/r5rs/sigscheme/debug.c	2005-11-20 17:15:38 UTC (rev 2194)
+++ branches/r5rs/sigscheme/debug.c	2005-11-20 17:22:07 UTC (rev 2195)
@@ -93,6 +93,13 @@
 /*=======================================
   Variable Declarations
 =======================================*/
+void (*Scm_writess_func)(ScmObj port, ScmObj obj)
+#if SCM_USE_SRFI38
+    = &SigScm_WriteToPortWithSharedStructure;
+#else
+    = &SigScm_WriteToPort;
+#endif
+
 static int debug_mask;
 #if SCM_USE_SRFI38
 static write_ss_context *write_ss_ctx; /* misc info in priting shared structures */

Modified: branches/r5rs/sigscheme/main.c
===================================================================
--- branches/r5rs/sigscheme/main.c	2005-11-20 17:15:38 UTC (rev 2194)
+++ branches/r5rs/sigscheme/main.c	2005-11-20 17:22:07 UTC (rev 2195)
@@ -126,11 +126,7 @@
         result = EVAL(s_exp, SCM_INTERACTION_ENV);
 #endif /* SCM_USE_SRFI34 */
 
-#if SCM_USE_SRFI38
-        SigScm_WriteToPortWithSharedStructure(scm_current_output_port, result);
-#else
-        SigScm_WriteToPort(scm_current_output_port, result);
-#endif
+        SCM_WRITESS_TO_PORT(scm_current_output_port, result);
         SigScm_PortNewline(scm_current_output_port);
 
         if (is_prompt)

Modified: branches/r5rs/sigscheme/sigscheme.h
===================================================================
--- branches/r5rs/sigscheme/sigscheme.h	2005-11-20 17:15:38 UTC (rev 2194)
+++ branches/r5rs/sigscheme/sigscheme.h	2005-11-20 17:22:07 UTC (rev 2195)
@@ -177,6 +177,10 @@
  */
 #include "baseport.h"
 
+/* FIXME: rewrite all #ifdef'ed SigScm_WriteToPortWithSharedStructure()
+   invocation with this */
+#define SCM_WRITESS_TO_PORT(port, obj) ((*Scm_writess_func)(port, obj))
+
 /*=======================================
    Struct Declarations
 =======================================*/

Modified: branches/r5rs/sigscheme/sigschemeinternal.h
===================================================================
--- branches/r5rs/sigscheme/sigschemeinternal.h	2005-11-20 17:15:38 UTC (rev 2194)
+++ branches/r5rs/sigscheme/sigschemeinternal.h	2005-11-20 17:22:07 UTC (rev 2195)
@@ -71,6 +71,8 @@
 extern ScmObj SigScm_features;
 extern const ScmSpecialCharInfo Scm_special_char_table[];
 
+extern void (*Scm_writess_func)(ScmObj port, ScmObj obj);
+
 /* datas.c */
 #if SCM_USE_VALUECONS
 extern ScmObj SigScm_null_values;



More information about the uim-commit mailing list