From b431f54c1b01675ba36513474e14b206e26fd6fa Mon Sep 17 00:00:00 2001 From: Tak Kunihiro Date: Tue, 5 Oct 2021 09:11:33 +0200 Subject: [PATCH] Mention `seq-uniq' in `delete-dups' documentation * doc/lispref/lists.texi (Sets And Lists): Mention `seq-uniq' (bug#50928). * lisp/subr.el (delete-dups): Link to `seq-uniq' in doc string. --- doc/lispref/lists.texi | 17 +++++++++-------- lisp/subr.el | 2 +- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/doc/lispref/lists.texi b/doc/lispref/lists.texi index 75641256b60..f98ae76da9a 100644 --- a/doc/lispref/lists.texi +++ b/doc/lispref/lists.texi @@ -1227,13 +1227,13 @@ this is not guaranteed to happen): @cindex lists as sets @cindex sets - A list can represent an unordered mathematical set---simply consider a -value an element of a set if it appears in the list, and ignore the -order of the list. To form the union of two sets, use @code{append} (as -long as you don't mind having duplicate elements). You can remove -@code{equal} duplicates using @code{delete-dups}. Other useful -functions for sets include @code{memq} and @code{delq}, and their -@code{equal} versions, @code{member} and @code{delete}. + A list can represent an unordered mathematical set---simply consider +a value an element of a set if it appears in the list, and ignore the +order of the list. To form the union of two sets, use @code{append} +(as long as you don't mind having duplicate elements). You can remove +@code{equal} duplicates using @code{delete-dups} or @code{seq-uniq}. +Other useful functions for sets include @code{memq} and @code{delq}, +and their @code{equal} versions, @code{member} and @code{delete}. @cindex CL note---lack @code{union}, @code{intersection} @quotation @@ -1489,7 +1489,8 @@ comparison. This function destructively removes all @code{equal} duplicates from @var{list}, stores the result in @var{list} and returns it. Of several @code{equal} occurrences of an element in @var{list}, -@code{delete-dups} keeps the first one. +@code{delete-dups} keeps the first one. See @code{seq-uniq} for +non-destructive operation (@pxref{Sequence Functions}). @end defun See also the function @code{add-to-list}, in @ref{List Variables}, diff --git a/lisp/subr.el b/lisp/subr.el index a8fb52c9098..f8f446c6a92 100644 --- a/lisp/subr.el +++ b/lisp/subr.el @@ -696,7 +696,7 @@ If N is omitted or nil, remove the last element." "Destructively remove `equal' duplicates from LIST. Store the result in LIST and return it. LIST must be a proper list. Of several `equal' occurrences of an element in LIST, the first -one is kept." +one is kept. See `seq-uniq' for non-destructive operation." (let ((l (length list))) (if (> l 100) (let ((hash (make-hash-table :test #'equal :size l)) -- 2.39.5