Add take
and ntake
(bug#56521)
These are useful list primitives, complementary to `nthcdr`. * src/fns.c (Ftake, Fntake): New. (syms_of_fns): Defsubr them. * doc/lispref/lists.texi (List Elements): * lisp/emacs-lisp/shortdoc.el (list): Document. * lisp/emacs-lisp/byte-opt.el (side-effect-free-fns, pure-fns): Declare `take` pure and side-effect-free. * test/src/fns-tests.el (fns-tests--take-ref, fns--take-ntake): New test. * etc/NEWS: Announce.
This commit is contained in:
parent
637436970f
commit
d62766305a
6 changed files with 146 additions and 2 deletions
|
@ -595,6 +595,10 @@ A FUNC form can have any number of `:no-eval' (or `:no-value'),
|
|||
:eval (nth 1 '(one two three)))
|
||||
(nthcdr
|
||||
:eval (nthcdr 1 '(one two three)))
|
||||
(take
|
||||
:eval (take 3 '(one two three four)))
|
||||
(ntake
|
||||
:eval (ntake 3 (list 'one 'two 'three 'four)))
|
||||
(elt
|
||||
:eval (elt '(one two three) 1))
|
||||
(car-safe
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue