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

yamaken at freedesktop.org yamaken at freedesktop.org
Sun Nov 20 05:38:38 PST 2005


Author: yamaken
Date: 2005-11-20 05:38:33 -0800 (Sun, 20 Nov 2005)
New Revision: 2182

Modified:
   branches/r5rs/sigscheme/debug.c
Log:
* sigscheme/debug.c
  - (print_ScmObj_internal, write_ss_scan): Fix broken multiple values
    printing when SCM_USE_VALUECONS


Modified: branches/r5rs/sigscheme/debug.c
===================================================================
--- branches/r5rs/sigscheme/debug.c	2005-11-20 13:27:08 UTC (rev 2181)
+++ branches/r5rs/sigscheme/debug.c	2005-11-20 13:38:33 UTC (rev 2182)
@@ -277,6 +277,10 @@
             SCM_PORT_PRINT(port, "()");
         else
             print_list(port, SCM_VALUEPACKET_VALUES(obj), otype);
+#if SCM_USE_VALUECONS
+        /* SCM_VALUEPACKET_VALUES() changes the type destructively */
+        SCM_ENTYPE_VALUEPACKET(obj);
+#endif
         SCM_PORT_PRINT(port, ">");
         break;
     case ScmConstant:
@@ -632,7 +636,15 @@
             break;
 
         case ScmValuePacket:
+#if SCM_USE_VALUECONS
+            if (!SCM_NULLVALUESP(obj)) {
+                write_ss_scan(CDR(SCM_VALUEPACKET_VALUES(obj)), ctx);
+                /* SCM_VALUEPACKET_VALUES() changes the type destructively */
+                SCM_ENTYPE_VALUEPACKET(obj);
+            }
+#else
             write_ss_scan(SCM_VALUEPACKET_VALUES(obj), ctx);
+#endif
             break;
 
         case ScmVector:



More information about the uim-commit mailing list