summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorEarl Hyatt <okamsn@protonmail.com>2021-08-14 14:17:12 +0200
committerLars Ingebrigtsen <larsi@gnus.org>2021-08-14 14:17:12 +0200
commitc58f8dda2b2282302cf47ef3e7df6523bde606f5 (patch)
treeca39c4f866e2d1dfac5efbe94e7684790c65cbb8 /doc
parentadb6c3f1a4cc5ec3d26bfb2311dfc87b965153a0 (diff)
downloademacs-c58f8dda2b2282302cf47ef3e7df6523bde606f5.tar.gz
Add macro `seq-setq`.
* doc/lispref/sequences.texi (seq-setq): Document this macro. * lisp/emacs-lisp/seq.el (seq-setq): New macro. * test/lisp/emacs-lisp/seq-tests.el (test-seq-setq): Test this macro (bug#50053).
Diffstat (limited to 'doc')
-rw-r--r--doc/lispref/sequences.texi17
1 files changed, 17 insertions, 0 deletions
diff --git a/doc/lispref/sequences.texi b/doc/lispref/sequences.texi
index 545fd408f88..20816ce8ca2 100644
--- a/doc/lispref/sequences.texi
+++ b/doc/lispref/sequences.texi
@@ -1111,6 +1111,23 @@ The @code{pcase} patterns provide an alternative facility for
destructuring binding, see @ref{Destructuring with pcase Patterns}.
@end defmac
+@defmac seq-setq var-sequence val-sequence
+@cindex sequence destructuring
+ This macro works similarly to @code{seq-let}, except that values are
+assigned to variables as if by @code{setq} instead of as in a
+@code{let} binding.
+
+@example
+@group
+(let ((a nil)
+ (b nil))
+ (seq-setq (_ a _ b) '(1 2 3 4))
+ (list a b))
+@result{} (2 4)
+@end group
+@end example
+@end defmac
+
@defun seq-random-elt sequence
This function returns an element of @var{sequence} taken at random.