diff options
author | Nicolas Petton <nicolas@petton.fr> | 2015-05-01 19:30:56 +0200 |
---|---|---|
committer | Nicolas Petton <nicolas@petton.fr> | 2015-05-01 19:33:40 +0200 |
commit | c856843f6b83d4578e7fab3d9821802f2a542540 (patch) | |
tree | 4e4e2f43fb72bc7a83ff9c1b283d8048fa7a2579 /doc | |
parent | b0481de73be9fb7c4839340de2b494f19041130a (diff) | |
download | emacs-seq-let.tar.gz |
New macro seq-let, providing destructuring support to seq.elseq-let
* lisp/emacs-lisp/seq.el (seq-let): New macro. `seq-let' is similar
to `cl-destructuring-bind' but works on all sequence types supported
by `seq.el'. Bump version number to 1.6.
* test/automated/seq-tests.el: Add tests for seq-let.
* doc/lispref/sequences.texi: Add documentation for seq-let.
Diffstat (limited to 'doc')
-rw-r--r-- | doc/lispref/sequences.texi | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/doc/lispref/sequences.texi b/doc/lispref/sequences.texi index b48fae4741f..e58f0390a45 100644 --- a/doc/lispref/sequences.texi +++ b/doc/lispref/sequences.texi @@ -797,6 +797,33 @@ vector or string (@pxref{Iteration} for more information about the @code{dolist} macro). This is primarily useful for side-effects. @end defmac +@defmac seq-let arguments sequense body@dots{} +@cindex sequence destructuring + This macro binds the variables in defined in the sequence +@var{arguments} to the elements of the sequence @var{sequence}. +@var{arguments} can itself include sequences allowing for nested +destructuring. + +@example +@group +(seq-let [first second] [1 2 3 4] + (list first second)) +@result{} (1 2) +@end group +@group +(seq-let (_ a _ b) '(1 2 3 4) + (list a b)) +@result{} (2 4) +@end group +@group +(seq-let [a [b [c]]] [1 [2 [3]]] + (list a b c)) +@result{} (1 2 3) +@end group +@end example +@end defmac + + @node Arrays @section Arrays @cindex array |