Mercurial > emacs
diff lisp/gnus/mm-util.el @ 65846:a4e8d78ae3fb
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-574
Merge from gnus--rel--5.10
2005-10-04 Reiner Steib <Reiner.Steib@gmx.de>
* lisp/gnus/mm-url.el (mm-url-predefined-programs): Add switches for curl.
* lisp/gnus/gnus-util.el (gnus-remove-duplicates): Remove.
* lisp/gnus/nnmail.el (nnmail-article-group): Use mm-delete-duplicates
instead of gnus-remove-duplicates.
* lisp/gnus/message.el (message-remove-duplicates): Remove.
(message-idna-to-ascii-rhs-1): Use mm-delete-duplicates instead of
message-remove-duplicates.
* lisp/gnus/mm-util.el (mm-delete-duplicates): Use `delete-dups' if
available, else use implementation from `delete-dups'.
author | Miles Bader <miles@gnu.org> |
---|---|
date | Tue, 04 Oct 2005 22:51:06 +0000 |
parents | fafd692d1e40 |
children | 1077b8039c32 aa89c814f853 |
line wrap: on
line diff
--- a/lisp/gnus/mm-util.el Tue Oct 04 21:50:34 2005 +0000 +++ b/lisp/gnus/mm-util.el Tue Oct 04 22:51:06 2005 +0000 @@ -568,14 +568,21 @@ ;; This is for XEmacs. (mm-mule-charset-to-mime-charset charset))) -(defun mm-delete-duplicates (list) - "Simple substitute for CL `delete-duplicates', testing with `equal'." - (let (result head) - (while list - (setq head (car list)) - (setq list (delete head list)) - (setq result (cons head result))) - (nreverse result))) +(if (fboundp 'delete-dups) + (defalias 'mm-delete-duplicates 'delete-dups) + (defun mm-delete-duplicates (list) + "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. + +This is a compatibility function for Emacsen without `delete-dups'." + ;; Code from `subr.el' in Emacs 22: + (let ((tail list)) + (while tail + (setcdr tail (delete (car tail) (cdr tail))) + (setq tail (cdr tail)))) + list)) ;; Fixme: This is used in places when it should be testing the ;; default multibyteness. See mm-default-multibyte-p.