Commit a94202b7 authored by NicolasPetton's avatar NicolasPetton
Browse files

Reuse `alist-get' in map.el

* lisp/emacs-lisp/map.el (map-elt): Use `alist-get' to retrieve alist
elements.
parent 3be98ca5
...@@ -106,11 +106,11 @@ form. ...@@ -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." ...@@ -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."
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment