[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 1/1] (scheme base) member: return #f, not (), for no match
From: |
Rob Browning |
Subject: |
[PATCH 1/1] (scheme base) member: return #f, not (), for no match |
Date: |
Sun, 4 Oct 2020 10:50:09 -0500 |
* module/scheme/base.scm (member): Match the r7rs requirement, as assoc
already does.
Thanks to Erik Dominikus for reporting the problem.
Closes: 43304
---
Proposed for 3.0
module/scheme/base.scm | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/module/scheme/base.scm b/module/scheme/base.scm
index 5a366f846..94591477d 100644
--- a/module/scheme/base.scm
+++ b/module/scheme/base.scm
@@ -129,9 +129,10 @@
(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
--
2.26.1
- [PATCH 1/1] (scheme base) member: return #f, not (), for no match,
Rob Browning <=