568 |
;; This is for XEmacs. |
;; This is for XEmacs. |
569 |
(mm-mule-charset-to-mime-charset charset))) |
(mm-mule-charset-to-mime-charset charset))) |
570 |
|
|
571 |
(defun mm-delete-duplicates (list) |
(if (fboundp 'delete-dups) |
572 |
"Simple substitute for CL `delete-duplicates', testing with `equal'." |
(defalias 'mm-delete-duplicates 'delete-dups) |
573 |
(let (result head) |
(defun mm-delete-duplicates (list) |
574 |
(while list |
"Destructively remove `equal' duplicates from LIST. |
575 |
(setq head (car list)) |
Store the result in LIST and return it. LIST must be a proper list. |
576 |
(setq list (delete head list)) |
Of several `equal' occurrences of an element in LIST, the first |
577 |
(setq result (cons head result))) |
one is kept. |
578 |
(nreverse result))) |
|
579 |
|
This is a compatibility function for Emacsen without `delete-dups'." |
580 |
|
;; Code from `subr.el' in Emacs 22: |
581 |
|
(let ((tail list)) |
582 |
|
(while tail |
583 |
|
(setcdr tail (delete (car tail) (cdr tail))) |
584 |
|
(setq tail (cdr tail)))) |
585 |
|
list)) |
586 |
|
|
587 |
;; Fixme: This is used in places when it should be testing the |
;; Fixme: This is used in places when it should be testing the |
588 |
;; default multibyteness. See mm-default-multibyte-p. |
;; default multibyteness. See mm-default-multibyte-p. |