[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] master 1b5fda5 4/4: Improve the semantic of map-some
From: |
Nicolas Petton |
Subject: |
[Emacs-diffs] master 1b5fda5 4/4: Improve the semantic of map-some |
Date: |
Sat, 05 Sep 2015 22:56:06 +0000 |
branch: master
commit 1b5fda5cbca96aec3e407bc9e4f8a16e48e7954c
Author: Nicolas Petton <address@hidden>
Commit: Nicolas Petton <address@hidden>
Improve the semantic of map-some
Update map-some to return the returned by the predicate, similar to
seq-some.
* lisp/emacs-lisp/map.el (map-some): Update the function to return the
return value of the predicate.
* test/automated/map-tests.el (test-map-some): Update the test to check
for non-nil values only.
---
lisp/emacs-lisp/map.el | 5 +++--
test/automated/map-tests.el | 26 ++++++++++++--------------
2 files changed, 15 insertions(+), 16 deletions(-)
diff --git a/lisp/emacs-lisp/map.el b/lisp/emacs-lisp/map.el
index 4e7d3b9..ea56efe 100644
--- a/lisp/emacs-lisp/map.el
+++ b/lisp/emacs-lisp/map.el
@@ -262,8 +262,9 @@ MAP can be a list, hash-table or array."
MAP can be a list, hash-table or array."
(catch 'map--break
(map-apply (lambda (key value)
- (when (funcall pred key value)
- (throw 'map--break (cons key value))))
+ (let ((result (funcall pred key value)))
+ (when result
+ (throw 'map--break result))))
map)
nil))
diff --git a/test/automated/map-tests.el b/test/automated/map-tests.el
index ca68004..8693415 100644
--- a/test/automated/map-tests.el
+++ b/test/automated/map-tests.el
@@ -262,21 +262,19 @@ Evaluate BODY for each created map.
(ert-deftest test-map-some ()
(with-maps-do map
- (should (equal (map-some (lambda (k _v)
- (eq 1 k))
- map)
- (cons 1 4)))
- (should (not (map-some (lambda (k _v)
- (eq 'd k))
- map))))
+ (should (map-some (lambda (k _v)
+ (eq 1 k))
+ map))
+ (should-not (map-some (lambda (k _v)
+ (eq 'd k))
+ map)))
(let ((vec [a b c]))
- (should (equal (map-some (lambda (k _v)
- (> k 1))
- vec)
- (cons 2 'c)))
- (should (not (map-some (lambda (k _v)
- (> k 3))
- vec)))))
+ (should (map-some (lambda (k _v)
+ (> k 1))
+ vec))
+ (should-not (map-some (lambda (k _v)
+ (> k 3))
+ vec))))
(ert-deftest test-map-every-p ()
(with-maps-do map