** New print option: `escape-newlines', defaults to #t.
** (ice-9 ftw): `file-system-fold', `file-system-tree', `scandir'
** `scm_c_value_ref': access to multiple returned values from C
-** scm_call_7, scm_call_8, scm_call_9, and scm_call_varargs
+** scm_call (a varargs version), scm_call_7, scm_call_8, scm_call_9
** Some new syntax helpers in (system syntax)
Search the manual for these identifiers and modules, for more.
Call @var{proc} with the given arguments.
@end deffn
-@deffn {C Function} scm_call_varargs (proc, ...)
+@deffn {C Function} scm_call (proc, ...)
Call @var{proc} with any number of arguments. The argument list must be
terminated by @code{SCM_UNDEFINED}. For example:
@example
-scm_call_varargs (scm_c_public_ref ("guile", "+"),
- scm_from_int (1),
- scm_from_int (2),
- SCM_UNDEFINED);
+scm_call (scm_c_public_ref ("guile", "+"),
+ scm_from_int (1),
+ scm_from_int (2),
+ SCM_UNDEFINED);
@end example
@end deffn
}
SCM
-scm_call_varargs (SCM proc, ...)
+scm_call (SCM proc, ...)
{
va_list argp;
SCM *argv = NULL;
SCM_API SCM scm_call_9 (SCM proc, SCM arg1, SCM arg2, SCM arg3, SCM arg4,
SCM arg5, SCM arg6, SCM arg7, SCM arg8, SCM arg9);
SCM_API SCM scm_call_n (SCM proc, SCM *argv, size_t nargs);
-SCM_API SCM scm_call_varargs (SCM proc, ...);
+SCM_API SCM scm_call (SCM proc, ...);
SCM_API SCM scm_apply_0 (SCM proc, SCM args);
SCM_API SCM scm_apply_1 (SCM proc, SCM arg1, SCM args);
SCM_API SCM scm_apply_2 (SCM proc, SCM arg1, SCM arg2, SCM args);
}
static void
-test_scm_call_varargs ()
+test_scm_call ()
{
SCM result;
- result = scm_call_varargs (scm_c_public_ref ("guile", "+"),
- scm_from_int (1),
- scm_from_int (2),
- SCM_UNDEFINED);
+ result = scm_call (scm_c_public_ref ("guile", "+"),
+ scm_from_int (1),
+ scm_from_int (2),
+ SCM_UNDEFINED);
assert (scm_is_true (scm_equal_p (result, scm_from_int (3))));
- result = scm_call_varargs (scm_c_public_ref ("guile", "list"),
- SCM_UNDEFINED);
+ result = scm_call (scm_c_public_ref ("guile", "list"),
+ SCM_UNDEFINED);
assert (scm_is_eq (result, SCM_EOL));
}
{
test_scm_from_locale_keywordn ();
test_scm_local_eval ();
- test_scm_call_varargs ();
+ test_scm_call ();
}
int