Provide a C vararg interface to gsubr invocation.
authorLudovic Courtès <ludo@gnu.org>
Sun, 8 Mar 2009 15:36:14 +0000 (16:36 +0100)
committerLudovic Courtès <ludo@gnu.org>
Sun, 8 Mar 2009 15:40:49 +0000 (16:40 +0100)
commit8321ed20f69b4c56cb680563160cd30ecac8f509
tree29c7a0a9988b62826a2fcacd7747b51502d4fc57
parentd18f4d805ed12cc477fa00b3608130785151f3d6
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.
libguile/eval.i.c
libguile/gsubr.c
libguile/gsubr.h