mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-24 06:20:43 -08:00
Reuse `alist-get' in map.el
* lisp/emacs-lisp/map.el (map-elt): Use `alist-get' to retrieve alist elements.
This commit is contained in:
parent
3be98ca53b
commit
a94202b78a
1 changed files with 2 additions and 10 deletions
|
|
@ -106,11 +106,11 @@ form.
|
||||||
"Perform a lookup in MAP of KEY and return its associated value.
|
"Perform a lookup in MAP of KEY and return its associated value.
|
||||||
If KEY is not found, return DEFAULT which defaults to nil.
|
If KEY is not found, return DEFAULT which defaults to nil.
|
||||||
|
|
||||||
If MAP is a list, `equal' is used to lookup KEY.
|
If MAP is a list, `eql' is used to lookup KEY.
|
||||||
|
|
||||||
MAP can be a list, hash-table or array."
|
MAP can be a list, hash-table or array."
|
||||||
(map--dispatch map
|
(map--dispatch map
|
||||||
:list (map--elt-list map key default)
|
:list (alist-get key map default)
|
||||||
:hash-table (gethash key map default)
|
:hash-table (gethash key map default)
|
||||||
:array (map--elt-array map key default)))
|
:array (map--elt-array map key default)))
|
||||||
|
|
||||||
|
|
@ -324,14 +324,6 @@ MAP can be a list, hash-table or array."
|
||||||
(setq index (1+ index))))
|
(setq index (1+ index))))
|
||||||
map)))
|
map)))
|
||||||
|
|
||||||
(defun map--elt-list (map key &optional default)
|
|
||||||
"Lookup, in the list MAP, the value associated with KEY and return it.
|
|
||||||
If KEY is not found, return DEFAULT which defaults to nil."
|
|
||||||
(let ((pair (assoc key map)))
|
|
||||||
(if pair
|
|
||||||
(cdr pair)
|
|
||||||
default)))
|
|
||||||
|
|
||||||
(defun map--elt-array (map key &optional default)
|
(defun map--elt-array (map key &optional default)
|
||||||
"Return the element of the array MAP at the index KEY.
|
"Return the element of the array MAP at the index KEY.
|
||||||
If KEY is not found, return DEFAULT which defaults to nil."
|
If KEY is not found, return DEFAULT which defaults to nil."
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue