summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicolas Petton <nicolas@petton.fr>2016-02-03 15:18:36 +0100
committerNicolas Petton <nicolas@petton.fr>2016-02-03 15:18:36 +0100
commit8b87ecb77dc8212e16be4ef8cb28fe2829f6877b (patch)
treef4dcad78647948b2e324c7fd91b8beb08d18f630
parent6191003fcd2bc65f2b18d5337f6f390d43f07173 (diff)
downloademacs-8b87ecb.tar.gz
* lisp/emacs-lisp/map.el: Improvements to the docstring of the pcase macro
-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 @@
(pcase-defmacro map (&rest args)
"Build a `pcase' pattern matching map elements.
-The `pcase' pattern will match each element of PATTERN against
-the corresponding elements of the map.
+ARGS is a list of elements to be matched in the map.
-Extra elements of the map are ignored if fewer ARGS are
-given, and the match does not fail.
+Each element of ARGS can be of the form (KEY PAT), in which case KEY is
+evaluated and searched for in the map. The match fails if for any KEY
+found in the map, the corresponding PAT doesn't match the value
+associated to the KEY.
-ARGS can be a list of the form (KEY PAT), in which case KEY in an
-unquoted form.
+Each element can also be a SYMBOL, which is an abbreviation of a (KEY
+PAT) tuple of the form ('SYMBOL SYMBOL).
-ARGS can also be a list of symbols, which stands for ('SYMBOL
-SYMBOL)."
+Keys in ARGS not found in the map are ignored, and the match doesn't
+fail."
`(and (pred mapp)
,@(map--make-pcase-bindings args)))