SCM
scm_map (SCM proc, SCM arg1, SCM args)
+#define FUNC_NAME s_map
{
long i, len;
SCM res = SCM_EOL;
len = scm_ilength (arg1);
SCM_GASSERTn (len >= 0,
g_map, scm_cons2 (proc, arg1, args), SCM_ARG2, s_map);
+ SCM_VALIDATE_REST_ARGUMENT (args);
if (SCM_NULLP (args))
{
while (SCM_NIMP (arg1))
pres = SCM_CDRLOC (*pres);
}
}
+#undef FUNC_NAME
SCM_GPROC (s_for_each, "for-each", 2, 0, 1, scm_for_each, g_for_each);
SCM
scm_for_each (SCM proc, SCM arg1, SCM args)
+#define FUNC_NAME s_for_each
{
SCM *ve = &args; /* Keep args from being optimized away. */
long i, len;
len = scm_ilength (arg1);
SCM_GASSERTn (len >= 0, g_for_each, scm_cons2 (proc, arg1, args),
SCM_ARG2, s_for_each);
+ SCM_VALIDATE_REST_ARGUMENT (args);
if SCM_NULLP (args)
{
while SCM_NIMP (arg1)
scm_apply (proc, arg1, SCM_EOL);
}
}
-
+#undef FUNC_NAME
SCM