guile-devel
[Top][All Lists]
Advanced

[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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]