* module/scheme/base.scm (member): Match the r7rs requirement, as assoc
already does.
Thanks to Erik Dominikus for reporting the problem.
Closes: 43304
Christopher Baines
Greg Benison
+ Rob Browning
Tristan Colgate-McFarlane
Aleix Conchillo Flaqué
Ludovic Courtès
Josh Datko
David Diffenbaugh
Hyper Division
+ Erik Dominikus
Alexandre Duret-Lutz
Nils Durner
John W Eaton
(unless (procedure? =)
(error "not a procedure" =))
(let lp ((ls ls))
- (if (or (null? ls) (= (car ls) x))
- ls
- (lp (cdr ls)))))))
+ (cond
+ ((null? ls) #f)
+ ((= (car ls) x) ls)
+ (else (lp (cdr ls))))))))
(define* (assoc x ls #:optional (= equal?))
(cond
(let ((out (open-output-string))
(x (list 1)))
(set-cdr! x x)
- (write x out)
+ (write-shared x out)
(get-output-string out))
;; labels not guaranteed to be 0 indexed, spacing may differ
'("#0=(1 . #0#)" "#1=(1 . #1#)"))