diff --git a/lib/init-7.scm b/lib/init-7.scm index aba6d5c2..09280a89 100644 --- a/lib/init-7.scm +++ b/lib/init-7.scm @@ -89,7 +89,7 @@ (if (pred (car ls)) (every1 pred (cdr ls)) #f))) (if (null? lol) (if (pair? ls) (every1 pred ls) #t) - (not (apply any (lambda (x) (not (pred x))) ls lol)))) + (not (apply any (lambda xs (not (apply pred xs))) ls lol)))) (define (error msg . args) (raise (make-exception 'user msg args #f #f))) diff --git a/tests/srfi-1-tests.scm b/tests/srfi-1-tests.scm index c4bb145c..8c9e8318 100644 --- a/tests/srfi-1-tests.scm +++ b/tests/srfi-1-tests.scm @@ -106,6 +106,9 @@ ;(test-error (find even? (circular-list 1 3))) ; divergent ;(test-error (any even? (circular-list 1 3))) ; divergent (test '4 (find even? '(3 1 4 1 5 9))) +(test '#f (every odd? '(1 2 3))) +(test '#t (every < '(1 2 3) '(4 5 6))) +(test-error (every odd? '(1 3 . x))) (test '(-8 -5 0 0) (find-tail even? '(3 1 37 -8 -5 0 0))) (test '#f (find-tail even? '(3 1 37 -5))) (test '(2 18) (take-while even? '(2 18 3 10 22 9)))