]> code.delx.au - gnu-emacs/commitdiff
* lisp/emacs-lisp/map.el: Improvements to the docstring of the pcase macro
authorNicolas Petton <nicolas@petton.fr>
Wed, 3 Feb 2016 14:18:36 +0000 (15:18 +0100)
committerNicolas Petton <nicolas@petton.fr>
Wed, 3 Feb 2016 14:18:36 +0000 (15:18 +0100)
lisp/emacs-lisp/map.el

index ebef27185aed41a6934f8043480edace2b5bdf6f..878611538fc1c692d9230d9ff9a596acbeaeecb7 100644 (file)
 (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)))