aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lisp/emacs-lisp/map.el17
1 files changed, 9 insertions, 8 deletions
diff --git a/lisp/emacs-lisp/map.el b/lisp/emacs-lisp/map.el
index ebef27185ae..878611538fc 100644
--- a/lisp/emacs-lisp/map.el
+++ b/lisp/emacs-lisp/map.el
@@ -47,17 +47,18 @@
47(pcase-defmacro map (&rest args) 47(pcase-defmacro map (&rest args)
48 "Build a `pcase' pattern matching map elements. 48 "Build a `pcase' pattern matching map elements.
49 49
50The `pcase' pattern will match each element of PATTERN against 50ARGS is a list of elements to be matched in the map.
51the corresponding elements of the map.
52 51
53Extra elements of the map are ignored if fewer ARGS are 52Each element of ARGS can be of the form (KEY PAT), in which case KEY is
54given, and the match does not fail. 53evaluated and searched for in the map. The match fails if for any KEY
54found in the map, the corresponding PAT doesn't match the value
55associated to the KEY.
55 56
56ARGS can be a list of the form (KEY PAT), in which case KEY in an 57Each element can also be a SYMBOL, which is an abbreviation of a (KEY
57unquoted form. 58PAT) tuple of the form ('SYMBOL SYMBOL).
58 59
59ARGS can also be a list of symbols, which stands for ('SYMBOL 60Keys in ARGS not found in the map are ignored, and the match doesn't
60SYMBOL)." 61fail."
61 `(and (pred mapp) 62 `(and (pred mapp)
62 ,@(map--make-pcase-bindings args))) 63 ,@(map--make-pcase-bindings args)))
63 64