diff --git a/src/lib/lists.pl b/src/lib/lists.pl index 22ee8d4b..964280d7 100644 --- a/src/lib/lists.pl +++ b/src/lib/lists.pl @@ -54,7 +54,7 @@ length(Xs0, N) :- '$skip_max_list'(M, N, Xs0,Xs), !, ( Xs == [] -> N = M - ; nonvar(Xs) -> var(N), throw(error(resource_error(finite_memory),length/2)) + ; nonvar(Xs) -> var(N), Xs = [_|_], throw(error(resource_error(finite_memory),length/2)) ; nonvar(N) -> R is N-M, length_rundown(Xs, R) ; N == Xs -> throw(error(resource_error(finite_memory),length/2)) ; length_addendum(Xs, N, M)