Elisp: Sequence Functions
The Sequence library seq.el
seq.el is a library of functions on Sequence Type .
seq.el is new in Emacs 25 (Released 2016-09)
seq.el is loaded when emacs starts.
You may want to explicitly declare (require 'seq)
Most of the functions provide new functionalities, some gives a unified interface to old functions, such as
length
mapcar
mapc
elt
Is Sequence, Length, is Empty
seqp
→ return true if it's a sequence.seq-length
→ same aslength
seq-empty-p
→ check is empty.
Copy Sequence
copy-sequence
-
make a shallow copy. (if a element is a list, vector, record, they are not copied, but share reference with the original )
;; demo seq-copy is shallow copy (setq xx [3 4 [5 6]]) (setq xnew (seq-copy xx )) ;; [3 4 [5 6]] ;; set 9 to the element 5 in xnew (aset (aref xnew 2) 0 9) ;; 9 xnew ;; [3 4 [9 6]] ;; original is also changed xx [3 4 [9 6]]
Get nth
seq-elt
-
get nth element. (index start at 0)
Same as
elt
seq-first
-
get the first element