diff options
author | Jim Blandy <jimb@red-bean.com> | 1996-10-11 07:56:11 +0000 |
---|---|---|
committer | Jim Blandy <jimb@red-bean.com> | 1996-10-11 07:56:11 +0000 |
commit | a9d61ae5c27f089739f71fdd4217fbd446de34be (patch) | |
tree | 628b070954b18568b384d2caf2803cd6658ddb92 /libguile/eval.c | |
parent | 95b6af86e8aff5326050eb9673a91a44a3518324 (diff) | |
download | guile-a9d61ae5c27f089739f71fdd4217fbd446de34be.tar.gz |
* eval.c (scm_nconc2last): Make sure that each element of lst
(which is a list of argument lists, except for the tail) is a
proper list, i.e., finite and terminated by '().
Diffstat (limited to 'libguile/eval.c')
-rw-r--r-- | libguile/eval.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/libguile/eval.c b/libguile/eval.c index 1570a4592..6d460a71e 100644 --- a/libguile/eval.c +++ b/libguile/eval.c @@ -2369,12 +2369,12 @@ scm_nconc2last (lst) SCM *lloc; if (SCM_EOL == lst) return lst; - SCM_ASSERT (SCM_NIMP (lst) && SCM_CONSP (lst), lst, SCM_ARG1, s_nconc2last); + SCM_ASSERT (scm_ilength(lst) >= 0, lst, SCM_WNA, s_nconc2last); lloc = &lst; while (SCM_NNULLP (SCM_CDR (*lloc))) { lloc = &SCM_CDR (*lloc); - SCM_ASSERT (SCM_NIMP (*lloc) && SCM_CONSP (*lloc), lst, SCM_ARG1, s_nconc2last); + SCM_ASSERT (scm_ilength(SCM_CAR(*lloc)) >= 0, lst, SCM_ARGn, s_nconc2last); } *lloc = SCM_CAR (*lloc); return lst; |