diff lisp/packages.el @ 420:41dbb7a9d5f2 r21-2-18

Import from CVS: tag r21-2-18
author cvs
date Mon, 13 Aug 2007 11:24:09 +0200
parents 697ef44129c6
children 11054d720c21
line wrap: on
line diff
--- a/lisp/packages.el	Mon Aug 13 11:23:14 2007 +0200
+++ b/lisp/packages.el	Mon Aug 13 11:24:09 2007 +0200
@@ -55,7 +55,7 @@
 ;;; Package versioning
 
 (defvar packages-package-list nil
-  "database of loaded packages and version numbers")
+  "Database of loaded packages and version numbers")
 
 (defvar packages-hierarchy-depth 1
   "Depth of package hierarchies.")
@@ -86,13 +86,14 @@
 
 (defvar package-locations
   (list
-   (list (paths-construct-path '("~" ".xemacs"))
+   (list (paths-construct-path '("~" ".xemacs" "mule-packages"))
+                             'early #'(lambda () (featurep 'mule)))
+   (list (paths-construct-path '("~" ".xemacs" "xemacs-packages"))
                              'early #'(lambda () t))
    (list "site-packages"     'late  #'(lambda () t))
    (list "infodock-packages" 'late  #'(lambda () (featurep 'infodock)))
    (list "mule-packages"     'late  #'(lambda () (featurep 'mule)))
-   (list "xemacs-packages"   'late  #'(lambda () t))
-   (list "packages"          'late  #'(lambda () t)))
+   (list "xemacs-packages"   'late  #'(lambda () t)))
   "Locations of the various package directories.
 This is a list each of whose elements describes one directory.
 A directory description is a three-element list.
@@ -122,9 +123,8 @@
   (let ((info (if (and attributes (floatp (car attributes)))
 		  (list :version (car attributes))
 		attributes)))
-    (remassq name packages-package-list)
     (setq packages-package-list
-	  (cons (cons name info) packages-package-list))))
+	  (cons (cons name info) (remassq name packages-package-list)))))
 
 (defun package-require (name version)
   (let ((pkg (assq name packages-package-list)))
@@ -452,7 +452,7 @@
 SUFFIXES is a list of names of package subdirectories to look for."
   (let ((directories
 	 (apply
-	  #'append
+	  #'nconc
 	  (mapcar #'(lambda (package)
 		      (mapcar #'(lambda (suffix)
 				  (file-name-as-directory (concat package suffix)))