diff --git a/libguile/ChangeLog b/libguile/ChangeLog index 8d2516ca2..e7d61a612 100644 --- a/libguile/ChangeLog +++ b/libguile/ChangeLog @@ -1,3 +1,8 @@ +2004-02-20 Han-Wen Nienhuys + + * list.c (scm_list_n): validate non-immediate arguments; + this will catch forgotten a SCM_UNDEFINED. + 2004-02-18 Marius Vollmer * gc.h (scm_gc_cells_collected): Removed duplicated declaration. diff --git a/libguile/list.c b/libguile/list.c index 74bb2cc3e..e36797f4a 100644 --- a/libguile/list.c +++ b/libguile/list.c @@ -90,6 +90,9 @@ scm_list_n (SCM elt, ...) var_start (foo, elt); while (! SCM_UNBNDP (elt)) { + if (SCM_NIMP (elt)) + SCM_VALIDATE_CELL(elt, 0); + *pos = scm_cons (elt, SCM_EOL); pos = SCM_CDRLOC (*pos); elt = va_arg (foo, SCM);