diff options
| author | Chong Yidong | 2010-11-01 21:50:26 -0400 |
|---|---|---|
| committer | Chong Yidong | 2010-11-01 21:50:26 -0400 |
| commit | 0f75c62ae368984e9379a13233dd9c443ea57bdd (patch) | |
| tree | c505bd9f59688b6862f77dad6647bf482839ccc2 | |
| parent | b29f5b7bf279a5e49bb3419ec6fec1aebd1162cc (diff) | |
| download | emacs-0f75c62ae368984e9379a13233dd9c443ea57bdd.tar.gz emacs-0f75c62ae368984e9379a13233dd9c443ea57bdd.zip | |
Two fixes for elpa packages overriding built-in ones.
* emacs-lisp/package.el (package-initialize): Ensure that
obsoleted built-in packages are not in package-activated-list
during activation.
(describe-package-1): Make the "installed" status override
"built-in".
| -rw-r--r-- | lisp/ChangeLog | 8 | ||||
| -rw-r--r-- | lisp/emacs-lisp/package.el | 20 |
2 files changed, 19 insertions, 9 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 120b37a6f25..239f50c3c80 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,3 +1,11 @@ | |||
| 1 | 2010-11-02 Chong Yidong <cyd@stupidchicken.com> | ||
| 2 | |||
| 3 | * emacs-lisp/package.el (package-initialize): Ensure that | ||
| 4 | obsoleted built-in packages are not in package-activated-list | ||
| 5 | during activation. | ||
| 6 | (describe-package-1): Make the "installed" status override | ||
| 7 | "built-in". | ||
| 8 | |||
| 1 | 2010-11-01 Vinicius Jose Latorre <viniciusjl@ig.com.br> | 9 | 2010-11-01 Vinicius Jose Latorre <viniciusjl@ig.com.br> |
| 2 | 10 | ||
| 3 | * subr.el (version-separator, version-regexp-alist): Remove '*' | 11 | * subr.el (version-separator, version-regexp-alist): Remove '*' |
diff --git a/lisp/emacs-lisp/package.el b/lisp/emacs-lisp/package.el index 454036018be..f6e7b893cd6 100644 --- a/lisp/emacs-lisp/package.el +++ b/lisp/emacs-lisp/package.el | |||
| @@ -1020,15 +1020,17 @@ makes them available for download." | |||
| 1020 | The variable `package-load-list' controls which packages to load." | 1020 | The variable `package-load-list' controls which packages to load." |
| 1021 | (interactive) | 1021 | (interactive) |
| 1022 | (require 'finder-inf nil t) | 1022 | (require 'finder-inf nil t) |
| 1023 | (setq package-alist package--builtins) | 1023 | (setq package-alist package--builtins |
| 1024 | (setq package-activated-list (mapcar #'car package-alist)) | 1024 | package-activated-list (mapcar #'car package-alist) |
| 1025 | (setq package-obsolete-alist nil) | 1025 | package-obsolete-alist nil) |
| 1026 | (package-load-all-descriptors) | 1026 | (package-load-all-descriptors) |
| 1027 | (package-read-all-archive-contents) | 1027 | (package-read-all-archive-contents) |
| 1028 | ;; "Deactivate" obsoleted built-in packages | ||
| 1029 | (dolist (elt package-obsolete-alist) | ||
| 1030 | (delq (car elt) package-activated-list)) | ||
| 1028 | ;; Try to activate all our packages. | 1031 | ;; Try to activate all our packages. |
| 1029 | (mapc (lambda (elt) | 1032 | (dolist (elt package-alist) |
| 1030 | (package-activate (car elt) (package-desc-vers (cdr elt)))) | 1033 | (package-activate (car elt) (package-desc-vers (cdr elt))))) |
| 1031 | package-alist)) | ||
| 1032 | 1034 | ||
| 1033 | 1035 | ||
| 1034 | ;;;; Package description buffer. | 1036 | ;;;; Package description buffer. |
| @@ -1073,10 +1075,10 @@ The variable `package-load-list' controls which packages to load." | |||
| 1073 | ;; This package is loaded (i.e. in `package-alist'). | 1075 | ;; This package is loaded (i.e. in `package-alist'). |
| 1074 | (progn | 1076 | (progn |
| 1075 | (setq version (package-version-join (package-desc-vers desc))) | 1077 | (setq version (package-version-join (package-desc-vers desc))) |
| 1076 | (cond (built-in | 1078 | (cond ((setq pkg-dir (package--dir package-name version)) |
| 1077 | (princ "a built-in package.\n\n")) | ||
| 1078 | ((setq pkg-dir (package--dir package-name version)) | ||
| 1079 | (insert "an installed package.\n\n")) | 1079 | (insert "an installed package.\n\n")) |
| 1080 | (built-in | ||
| 1081 | (princ "a built-in package.\n\n")) | ||
| 1080 | (t ;; This normally does not happen. | 1082 | (t ;; This normally does not happen. |
| 1081 | (insert "a deleted package.\n\n") | 1083 | (insert "a deleted package.\n\n") |
| 1082 | (setq version nil)))) | 1084 | (setq version nil)))) |