diff options
author | Nicolas Petton <nicolas@petton.fr> | 2016-02-03 15:18:36 +0100 |
---|---|---|
committer | Nicolas Petton <nicolas@petton.fr> | 2016-02-03 15:18:36 +0100 |
commit | 8b87ecb77dc8212e16be4ef8cb28fe2829f6877b (patch) | |
tree | f4dcad78647948b2e324c7fd91b8beb08d18f630 | |
parent | 6191003fcd2bc65f2b18d5337f6f390d43f07173 (diff) | |
download | emacs-8b87ecb.tar.gz |
* lisp/emacs-lisp/map.el: Improvements to the docstring of the pcase macro
-rw-r--r-- | lisp/emacs-lisp/map.el | 17 |
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))) |