summaryrefslogtreecommitdiff
path: root/libguile/gsubr.h
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2009-03-08 16:36:14 +0100
committerLudovic Courtès <ludo@gnu.org>2009-03-08 16:40:49 +0100
commit8321ed20f69b4c56cb680563160cd30ecac8f509 (patch)
tree29c7a0a9988b62826a2fcacd7747b51502d4fc57 /libguile/gsubr.h
parentd18f4d805ed12cc477fa00b3608130785151f3d6 (diff)
downloadguile-8321ed20f69b4c56cb680563160cd30ecac8f509.tar.gz
Provide a C vararg interface to gsubr invocation.
* libguile/eval.i.c (CEVAL): Update calls to `scm_i_gsubr_apply ()' with a fixed number of arguments. Use `scm_i_gsubr_apply_list ()' for calls with a list of arguments of unknown length. (SCM_APPLY): Use `scm_i_gsubr_apply_list ()' instead of `scm_i_gsubr_apply ()'. * libguile/gsubr.c (gsubr_apply_raw): New. (scm_i_gsubr_apply): Change to take a C vararg list instead of a Scheme list. Use `gsubr_apply_raw ()'. (scm_i_gsubr_apply_list): Use `gsubr_apply_raw ()'. * libguile/gsubr.h (scm_i_gsubr_apply): Update prototype. (scm_i_gsubr_apply_list): New declaration.
Diffstat (limited to 'libguile/gsubr.h')
-rw-r--r--libguile/gsubr.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/libguile/gsubr.h b/libguile/gsubr.h
index 42a5c1886..65680a02c 100644
--- a/libguile/gsubr.h
+++ b/libguile/gsubr.h
@@ -48,7 +48,8 @@ SCM_API SCM scm_c_define_gsubr_with_generic (const char *name,
int req, int opt, int rst,
SCM (*fcn) (), SCM *gf);
-SCM_INTERNAL SCM scm_i_gsubr_apply (SCM proc, SCM args);
+SCM_INTERNAL SCM scm_i_gsubr_apply (SCM proc, SCM arg, ...);
+SCM_INTERNAL SCM scm_i_gsubr_apply_list (SCM proc, SCM args);
SCM_INTERNAL void scm_init_gsubr (void);
#endif /* SCM_GSUBR_H */