1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-20 11:40:18 +02:00

* 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 '().
This commit is contained in:
Jim Blandy 1996-10-11 07:56:11 +00:00
parent 95b6af86e8
commit a9d61ae5c2

View file

@ -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;