fix for PR8079
svn: r3161
This commit is contained in:
parent
436c36cc1e
commit
cbfb5fc62b
|
@ -104,22 +104,19 @@
|
||||||
|
|
||||||
(define (list= = . lists)
|
(define (list= = . lists)
|
||||||
(or (null? lists) ; special case
|
(or (null? lists) ; special case
|
||||||
|
|
||||||
(let lp1 ((list-a (car lists)) (others (cdr lists)))
|
(let lp1 ((list-a (car lists)) (others (cdr lists)))
|
||||||
(or (null? others)
|
(or (null? others)
|
||||||
(let ((list-b (car others))
|
(let ((list-b (car others))
|
||||||
(others (cdr others)))
|
(others (cdr others)))
|
||||||
(if (eq? list-a list-b) ; EQ? => LIST=
|
(if (eq? list-a list-b) ; EQ? => LIST=
|
||||||
(lp1 list-b others)
|
(lp1 list-b others)
|
||||||
(let lp2 ((list-a list-a) (list-b list-b))
|
(let lp2 ((la list-a) (lb list-b))
|
||||||
(if (null-list? list-a)
|
(if (null-list? la)
|
||||||
(and (null-list? list-b)
|
(and (null-list? lb)
|
||||||
(lp1 list-b others))
|
(lp1 list-b others))
|
||||||
(and (not (null-list? list-b))
|
(and (not (null-list? lb))
|
||||||
(= (car list-a) (car list-b))
|
(= (car la) (car lb))
|
||||||
(lp2 (cdr list-a) (cdr list-b)))))))))))
|
(lp2 (cdr la) (cdr lb)))))))))))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user