diff options
Diffstat (limited to 'libguile/fluids.c')
-rw-r--r-- | libguile/fluids.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/libguile/fluids.c b/libguile/fluids.c index 37eecf939..cc02f8a1a 100644 --- a/libguile/fluids.c +++ b/libguile/fluids.c @@ -224,13 +224,13 @@ SCM_DEFINE (scm_with_fluids, "with-fluids*", 3, 0, 0, SCM scm_internal_with_fluids (SCM fluids, SCM vals, SCM (*cproc) (), void *cdata) +#define FUNC_NAME "scm_internal_with_fluids" { SCM ans; + int flen, vlen; - int flen = scm_ilength (fluids); - int vlen = scm_ilength (vals); - SCM_ASSERT (flen >= 0, fluids, SCM_ARG1, s_scm_with_fluids); - SCM_ASSERT (vlen >= 0, vals, SCM_ARG2, s_scm_with_fluids); + SCM_VALIDATE_LIST_COPYLEN (1, fluids, flen); + SCM_VALIDATE_LIST_COPYLEN (2, vals, vlen); if (flen != vlen) scm_out_of_range (s_scm_with_fluids, vals); @@ -241,6 +241,7 @@ scm_internal_with_fluids (SCM fluids, SCM vals, SCM (*cproc) (), void *cdata) scm_swap_fluids_reverse (fluids, vals); return ans; } +#undef FUNC_NAME |