aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChong Yidong2010-11-01 21:50:26 -0400
committerChong Yidong2010-11-01 21:50:26 -0400
commit0f75c62ae368984e9379a13233dd9c443ea57bdd (patch)
treec505bd9f59688b6862f77dad6647bf482839ccc2
parentb29f5b7bf279a5e49bb3419ec6fec1aebd1162cc (diff)
downloademacs-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/ChangeLog8
-rw-r--r--lisp/emacs-lisp/package.el20
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 @@
12010-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
12010-11-01 Vinicius Jose Latorre <viniciusjl@ig.com.br> 92010-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."
1020The variable `package-load-list' controls which packages to load." 1020The 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))))