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.
This commit is contained in:
Tak Kunihiro 2021-10-05 09:11:33 +02:00 committed by Lars Ingebrigtsen
parent 0a7bab689c
commit b431f54c1b
2 changed files with 10 additions and 9 deletions

View file

@ -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},

View file

@ -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))