From 779c60ac35129c3e76a6ce5a1b4b95d7b9920a05 Mon Sep 17 00:00:00 2001 From: Alex Shinn Date: Mon, 8 May 2017 12:04:13 +0900 Subject: [PATCH] add check for empty second list in list= (fixes issue #407) --- lib/srfi/1/predicates.scm | 3 ++- lib/srfi/1/test.sld | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) 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)))