diff lisp/packages.el @ 5003:6b6b0f8ab749

#'union doesn't preserve relative order; use #'delete-duplicates instead. 2010-02-07 Aidan Kehoe <kehoea@parhasard.net> * setup-paths.el (paths-find-emacs-roots) (paths-construct-info-path): * packages.el (packages-find-installation-package-directories): #'union doesn't guarantee that it will preserve the relative order of elements in its arguments; use #'delete-duplicates instead. Thank you for the bug reports, Robert Pluim, Stephen Turnbull.
author Aidan Kehoe <kehoea@parhasard.net>
date Sun, 07 Feb 2010 14:37:35 +0000
parents 9c6ea1581159
children 5efbd1253905
line wrap: on
line diff
--- a/lisp/packages.el	Sun Feb 07 07:10:01 2010 -0600
+++ b/lisp/packages.el	Sun Feb 07 14:37:35 2010 +0000
@@ -385,8 +385,10 @@
 (defun packages-find-installation-package-directories (roots)
   "Find the package directories in the XEmacs installation.
 ROOTS is a list of installation roots."
-  (union (paths-find-version-directories roots (list "") nil nil nil t)
-         (paths-find-site-directories roots (list "") nil) :test #'equal))
+  (delete-duplicates
+   (nconc (paths-find-version-directories roots (list "") nil nil nil t)
+          (paths-find-site-directories roots (list "") nil))
+   :test #'equal))
 
 (defun packages-find-package-hierarchies (package-directories &optional envvar default)
   "Find package hierarchies in a list of package directories.