File: map.el.html
map.el provides generic map-manipulation functions that work on alists, plists, hash-tables, and arrays. All functions are prefixed with "map-".
Functions taking a predicate or iterating over a map using a function take the function as their first argument. All other functions take the map as their first argument.
TODO:
- Add support for char-tables
- Maybe add support for gv?
- See if we can integrate text-properties
- A macro similar to let-alist but working on any type of map could
be really useful
Defined variables (1)
map--plist-has-predicate | Non-nil means ‘plist-get’ & co. accept a predicate in Emacs 29+. |
Defined functions (38)
map--into-hash | (MAP KEYWORD-ARGS) |
map--make-pcase-bindings | (ARGS) |
map--make-pcase-patterns | (ARGS) |
map--merge | (MERGE TYPE &rest MAPS) |
map--pcase-macroexpander | (&rest ARGS) |
map--pcase-map-elt | (KEY DEFAULT MAP) |
map--plist-delete | (MAP KEY) |
map--plist-member | (PLIST PROP &optional PREDICATE) |
map--plist-member-1 | (PLIST PROP &optional PREDICATE) |
map--plist-p | (LIST) |
map--plist-put | (PLIST PROP VAL &optional PREDICATE) |
map--plist-put-1 | (PLIST PROP VAL &optional PREDICATE) |
map--put | (MAP KEY VALUE) |
map-apply | (FUNCTION MAP) |
map-contains-key | (MAP KEY) |
map-copy | (MAP) |
map-delete | (MAP KEY) |
map-do | (FUNCTION MAP) |
map-elt | (MAP KEY &optional DEFAULT) |
map-empty-p | (MAP) |
map-every-p | (PRED MAP) |
map-filter | (PRED MAP) |
map-insert | (MAP KEY VALUE) |
map-into | (MAP TYPE) |
map-keys | (MAP) |
map-keys-apply | (FUNCTION MAP) |
map-length | (MAP) |
map-let | (KEYS MAP &rest BODY) |
map-merge | (TYPE &rest MAPS) |
map-merge-with | (TYPE FUNCTION &rest MAPS) |
map-nested-elt | (MAP KEYS &optional DEFAULT) |
map-pairs | (MAP) |
map-put | (MAP KEY VALUE &optional TESTFN) |
map-remove | (PRED MAP) |
map-some | (PRED MAP) |
map-values | (MAP) |
map-values-apply | (FUNCTION MAP) |
mapp | (MAP) |