--- Begin Message ---
Subject: |
25.0.50; delete-dups doesn't delete all duplicates |
Date: |
Wed, 15 Jul 2015 08:40:06 +0300 |
Tags: patch
Function delete-dups doesn't delete all duplicates from long
lists:
(delete-dups (mapcar (lambda (x) (% x 3)) (number-sequence 0 102)))
=> (0 1 2 1 0 2 1 0 2 1 0 2 ...)
The following patch seems to fix the problem.
* lisp/subr.el (delete-dups): Fix paren typo.
diff --git a/lisp/subr.el b/lisp/subr.el
index 5bd4bb4..e2c1bae 100644
--- a/lisp/subr.el
+++ b/lisp/subr.el
@@ -426,8 +426,8 @@ one is kept."
(let ((elt (car retail)))
(if (gethash elt hash)
(setcdr tail (cdr retail))
- (puthash elt t hash)))
- (setq tail retail)))
+ (puthash elt t hash)
+ (setq tail retail)))))
(let ((tail list))
(while tail
(setcdr tail (delete (car tail) (cdr tail)))
In GNU Emacs 25.0.50.2 (x86_64-unknown-linux-gnu, GTK+ Version 3.17.4)
of 2015-07-14 on arirop
Repository revision: 6a7e718916d00dbacaa765669f389b86f33075f5
Windowing system distributor `Fedora Project', version 11.0.11702000
System Description: Fedora release 23 (Rawhide)
--
Ari Roponen
--- End Message ---