summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/emacs-lisp')
-rw-r--r--lisp/emacs-lisp/map.el10
-rw-r--r--lisp/emacs-lisp/seq.el11
2 files changed, 14 insertions, 7 deletions
diff --git a/lisp/emacs-lisp/map.el b/lisp/emacs-lisp/map.el
index ea56efefe97..7564463e6c6 100644
--- a/lisp/emacs-lisp/map.el
+++ b/lisp/emacs-lisp/map.el
@@ -46,11 +46,15 @@
(pcase-defmacro map (&rest args)
"pcase pattern matching map elements.
+
Matches if the object is a map (list, hash-table or array), and
-binds values from ARGS to their corresponding elements of the map.
+each PATTERN matches the corresponding elements of the map.
+
+Supernumerary elements of the map are ignore if less ARGS are
+given, and the match does not fail.
-ARGS can be a list elements of the form (KEY PAT), in which case
-KEY in an unquoted form.
+ARGS can be a list of the form (KEY PAT), in which case KEY in an
+unquoted form.
ARGS can also be a list of symbols, which stands for ('SYMBOL
SYMBOL)."
diff --git a/lisp/emacs-lisp/seq.el b/lisp/emacs-lisp/seq.el
index a63447d3243..d7c9c74b2e0 100644
--- a/lisp/emacs-lisp/seq.el
+++ b/lisp/emacs-lisp/seq.el
@@ -71,13 +71,16 @@ Evaluate BODY with VAR bound to each element of SEQ, in turn.
,@body)
,(cadr spec)))
-(pcase-defmacro seq (&rest args)
+(pcase-defmacro seq (&rest patterns)
"pcase pattern matching sequence elements.
+
Matches if the object is a sequence (list, string or vector), and
-binds each element of ARGS to the corresponding element of the
-sequence."
+each PATTERN matches the corresponding element of the sequence.
+
+Supernumerary elements of the sequence are ignore if less
+PATTERNS are given, and the match does not fail."
`(and (pred seq-p)
- ,@(seq--make-pcase-bindings args)))
+ ,@(seq--make-pcase-bindings patterns)))
(defmacro seq-let (args seq &rest body)
"Bind the variables in ARGS to the elements of SEQ then evaluate BODY.