diff --git a/lib/srfi/1/predicates.scm b/lib/srfi/1/predicates.scm index 942bfdab..bfa08367 100644 --- a/lib/srfi/1/predicates.scm +++ b/lib/srfi/1/predicates.scm @@ -29,7 +29,8 @@ (if (null? ls1) (and (null? ls2) (lp1 (cdr lists))) - (and (eq (car ls1) (car ls2)) + (and (pair? ls2) + (eq (car ls1) (car ls2)) (lp2 (cdr ls1) (cdr ls2)))))))) (define (length+ x) diff --git a/lib/srfi/1/test.sld b/lib/srfi/1/test.sld index ac9f5a6a..c01b2723 100644 --- a/lib/srfi/1/test.sld +++ b/lib/srfi/1/test.sld @@ -32,6 +32,8 @@ (test #f (pair? 'a)) (test #t (list= eq?)) (test #t (list= eq? '(a))) + (test #f (list= = '(1 2) '(1 2 3))) + (test #f (list= = '(1 2 3) '(1 2))) (test 'a (car '(a b c))) (test '(b c) (cdr '(a b c))) (test '(a) (car '((a) b c d)))