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

yamaken at freedesktop.org yamaken at freedesktop.org
Sun Dec 11 18:45:36 PST 2005


Author: yamaken
Date: 2005-12-11 18:45:32 -0800 (Sun, 11 Dec 2005)
New Revision: 2534

Modified:
   branches/r5rs/sigscheme/operations.c
   branches/r5rs/sigscheme/storage-continuation.c
Log:
* sigscheme/storage-continuation.c
  - (enter_dynamic_extent): Replace SCM_SHIFT_RAW*() with POP_ARG()

* sigscheme/operations.c
  - (ScmOp_vector): Ditto


Modified: branches/r5rs/sigscheme/operations.c
===================================================================
--- branches/r5rs/sigscheme/operations.c	2005-12-12 02:01:06 UTC (rev 2533)
+++ branches/r5rs/sigscheme/operations.c	2005-12-12 02:45:32 UTC (rev 2534)
@@ -1491,14 +1491,15 @@
 
 ScmObj ScmOp_vector(ScmObj args)
 {
-    int len = SCM_INT_VALUE(ScmOp_length(args));
-    int i   = 0;
-    ScmObj *vec = Scm_malloc(sizeof(ScmObj) * len); /* allocate vector */
+    int len, i;
+    ScmObj *vec;
     DECLARE_FUNCTION("vector", ProcedureVariadic0);
 
-    /* set item */
+    len = SCM_INT_VALUE(ScmOp_length(args));
+    vec = Scm_malloc(sizeof(ScmObj) * len);
+
     for (i = 0; i < len; i++)
-        SCM_SHIFT_RAW_1(vec[i], args);
+        vec[i] = POP_ARG(args);
 
     return Scm_NewVector(vec, len);
 }

Modified: branches/r5rs/sigscheme/storage-continuation.c
===================================================================
--- branches/r5rs/sigscheme/storage-continuation.c	2005-12-12 02:01:06 UTC (rev 2533)
+++ branches/r5rs/sigscheme/storage-continuation.c	2005-12-12 02:45:32 UTC (rev 2534)
@@ -152,6 +152,7 @@
 static void enter_dynamic_extent(ScmObj dest)
 {
     ScmObj frame, unwound, retpath;
+    DECLARE_INTERNAL_FUNCTION("enter_dynamic_extent");
 
     retpath = SCM_NULL;
 
@@ -162,8 +163,7 @@
         retpath = CONS(frame, retpath);
     }
 
-    /* assumes that (SCM_NULL != NULL) */
-    while (SCM_SHIFT_RAW(frame, retpath)) {
+    while (frame = POP_ARG(retpath), VALIDP(frame)) {
         Scm_call(DYNEXT_FRAME_BEFORE(frame), SCM_NULL);
     }
 }



More information about the uim-commit mailing list