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

yamaken at freedesktop.org yamaken at freedesktop.org
Sun Dec 4 03:56:39 PST 2005


Author: yamaken
Date: 2005-12-04 03:56:05 -0800 (Sun, 04 Dec 2005)
New Revision: 2350

Modified:
   branches/r5rs/sigscheme/operations.c
Log:
* sigscheme/operations.c
  - (ScmOp_map): Modify an error message
  - (map_multiple_args): Fix infinite loop on improper list


Modified: branches/r5rs/sigscheme/operations.c
===================================================================
--- branches/r5rs/sigscheme/operations.c	2005-12-04 11:30:03 UTC (rev 2349)
+++ branches/r5rs/sigscheme/operations.c	2005-12-04 11:56:05 UTC (rev 2350)
@@ -1600,9 +1600,9 @@
 ScmObj ScmOp_map(ScmObj proc, ScmObj args)
 {
     DECLARE_FUNCTION("map", ProcedureVariadic1);
-     /* sanity check */
+
     if (NULLP(args))
-        SigScm_Error("map : wrong number of arguments");
+        ERR("map: wrong number of arguments");
 
     /* fast path for single arg case */
     if (NULLP(CDR(args)))
@@ -1651,6 +1651,8 @@
             /* pop destructively */
             SET_CAR(rest_args, CDR(arg));
         }
+        if (!NULLP(rest_args))
+            ERR_OBJ("proper list required but got", args);
 
         SCM_QUEUE_ADD(resq, Scm_call(proc, map_args));
     }



More information about the uim-commit mailing list