summaryrefslogtreecommitdiff
path: root/libguile/eval.c
diff options
context:
space:
mode:
authorJim Blandy <jimb@red-bean.com>1996-10-11 07:56:11 +0000
committerJim Blandy <jimb@red-bean.com>1996-10-11 07:56:11 +0000
commita9d61ae5c27f089739f71fdd4217fbd446de34be (patch)
tree628b070954b18568b384d2caf2803cd6658ddb92 /libguile/eval.c
parent95b6af86e8aff5326050eb9673a91a44a3518324 (diff)
downloadguile-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.c4
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;