Function: seq-difference
seq-difference is a byte-compiled function defined in seq.el.gz.
Signature
(seq-difference SEQUENCE1 SEQUENCE2 &optional TESTFN)
Documentation
Return list of all the elements that appear in SEQUENCE1 but not in SEQUENCE2.
"Equality" of elements is defined by the function TESTFN, which
defaults to equal.
Other relevant functions are documented in the sequence group.
Shortdoc
;; sequence
(seq-difference '(1 2 3) '(2 3 4))
=> (1)
Aliases
ediff-set-difference (obsolete since 28.1)
Implementations
(seq-difference SEQUENCE1 SEQUENCE2 &optional TESTFN) in `seq.el'.
Undocumented
Source Code
;; Defined in /usr/src/emacs/lisp/emacs-lisp/seq.el.gz
(cl-defgeneric seq-difference (sequence1 sequence2 &optional testfn)
"Return list of all the elements that appear in SEQUENCE1 but not in SEQUENCE2.
\"Equality\" of elements is defined by the function TESTFN, which
defaults to `equal'."
(seq-reduce (lambda (acc elt)
(if (seq-contains-p sequence2 elt testfn)
acc
(cons elt acc)))
(seq-reverse sequence1)
'()))