diff --git a/lib/init-7.scm b/lib/init-7.scm index 748e7821..9e4f34fd 100644 --- a/lib/init-7.scm +++ b/lib/init-7.scm @@ -284,7 +284,12 @@ `(,(rename 'begin) ,@(cdr (cddr expr)) (,(rename 'lp) - ,@(map (lambda (x) (if (pair? (cddr x)) (car (cddr x)) (car x))) + ,@(map (lambda (x) + (if (pair? (cddr x)) + (if (pair? (cdr (cddr x))) + (error "too many forms in do iterator" x) + (car (cddr x))) + (car x))) (cadr expr))))) (check (car (cddr expr))) (wrap