summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorNicolas Petton <nicolas@petton.fr>2015-05-01 19:30:56 +0200
committerNicolas Petton <nicolas@petton.fr>2015-05-01 19:33:40 +0200
commitc856843f6b83d4578e7fab3d9821802f2a542540 (patch)
tree4e4e2f43fb72bc7a83ff9c1b283d8048fa7a2579 /doc
parentb0481de73be9fb7c4839340de2b494f19041130a (diff)
downloademacs-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.texi27
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