Mercurial > hg > xemacs-beta
comparison lisp/packages.el @ 318:afd57c14dfc8 r21-0b57
Import from CVS: tag r21-0b57
author | cvs |
---|---|
date | Mon, 13 Aug 2007 10:45:36 +0200 |
parents | d1b52dcaa789 |
children | 1d62742628b6 |
comparison
equal
deleted
inserted
replaced
317:a2fc9afbef65 | 318:afd57c14dfc8 |
---|---|
133 name)) | 133 name)) |
134 ((< (package-get-key name :version) version) | 134 ((< (package-get-key name :version) version) |
135 (error "Need version %g of package %s, got version %g" | 135 (error "Need version %g of package %s, got version %g" |
136 version name (cdr pkg))) | 136 version name (cdr pkg))) |
137 (t t)))) | 137 (t t)))) |
138 | |
139 (defun package-delete-name (name) | |
140 (let (pkg) | |
141 ;; Delete ALL versions of package. | |
142 ;; This is pretty memory-intensive, as we use copy-alist when deleting | |
143 ;; package entries, to prevent side-effects in functions that call this | |
144 ;; one. | |
145 (while (setq pkg (assq name packages-package-list)) | |
146 (setq packages-package-list (delete pkg (copy-alist | |
147 packages-package-list))) | |
148 ) | |
149 )) | |
138 | 150 |
139 ;;; Build time stuff | 151 ;;; Build time stuff |
140 | 152 |
141 (defvar autoload-file-name "auto-autoloads.el" | 153 (defvar autoload-file-name "auto-autoloads.el" |
142 "Filename that autoloads are expected to be found in.") | 154 "Filename that autoloads are expected to be found in.") |
291 (setq autoload-list (cdr autoload-list))))) | 303 (setq autoload-list (cdr autoload-list))))) |
292 | 304 |
293 ;; Data-directory is really a list now. Provide something to search it for | 305 ;; Data-directory is really a list now. Provide something to search it for |
294 ;; directories. | 306 ;; directories. |
295 | 307 |
308 (defun locate-data-directory-list (name &optional dir-list) | |
309 "Locate the matching list of directories in a search path DIR-LIST. | |
310 If no DIR-LIST is supplied, it defaults to `data-directory-list'." | |
311 (unless dir-list | |
312 (setq dir-list data-directory-list)) | |
313 (let (found found-dir found-dir-list) | |
314 (while dir-list | |
315 (setq found (file-name-as-directory (concat (car dir-list) name)) | |
316 found-dir (file-directory-p found)) | |
317 (and found-dir | |
318 (setq found-dir-list (cons found found-dir-list))) | |
319 (setq dir-list (cdr dir-list))) | |
320 (nreverse found-dir-list))) | |
321 | |
322 ;; Data-directory is really a list now. Provide something to search it for | |
323 ;; a directory. | |
324 | |
296 (defun locate-data-directory (name &optional dir-list) | 325 (defun locate-data-directory (name &optional dir-list) |
297 "Locate a directory in a search path DIR-LIST (a list of directories). | 326 "Locate a directory in a search path DIR-LIST (a list of directories). |
298 If no DIR-LIST is supplied, it defaults to `data-directory-list'." | 327 If no DIR-LIST is supplied, it defaults to `data-directory-list'." |
299 (unless dir-list | 328 (unless dir-list |
300 (setq dir-list data-directory-list)) | 329 (setq dir-list data-directory-list)) |
328 (site-directory (paths-find-site-directory roots base))) | 357 (site-directory (paths-find-site-directory roots base))) |
329 (paths-uniq-append | 358 (paths-uniq-append |
330 (and version-directory (list version-directory)) | 359 (and version-directory (list version-directory)) |
331 (and site-directory (list site-directory))))) | 360 (and site-directory (list site-directory))))) |
332 | 361 |
333 (defvar packages-special-base-regexp "^\\(etc\\|info\\|lisp\\|lib-src\\|bin\\)$" | 362 (defvar packages-special-base-regexp "^\\(etc\\|info\\|lisp\\|lib-src\\|bin\\|pkginfo\\|man\\)$" |
334 "Special subdirectories of packages.") | 363 "Special subdirectories of packages.") |
335 | 364 |
336 (defvar packages-no-package-hierarchy-regexp | 365 (defvar packages-no-package-hierarchy-regexp |
337 (concat "\\(" paths-version-control-filename-regexp "\\)" | 366 (concat "\\(" paths-version-control-filename-regexp "\\)" |
338 "\\|" | 367 "\\|" |