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.
This commit is contained in:
Nicolas Petton 2015-09-06 00:51:35 +02:00
parent a1535f9381
commit 1b5fda5cbc
2 changed files with 15 additions and 16 deletions

View file

@ -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))