aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBastien Guerry2014-01-08 12:19:30 +0100
committerBastien Guerry2014-01-08 12:19:30 +0100
commitd6262c7c39da949e0fe855410cfc11ed7d03bc27 (patch)
treee060215a231edb9eecd6a6b9a2c072b1d6c6de6a
parent0a3eec327076b877fe683ded596bda76fbaded0c (diff)
downloademacs-d6262c7c39da949e0fe855410cfc11ed7d03bc27.tar.gz
emacs-d6262c7c39da949e0fe855410cfc11ed7d03bc27.zip
package.el: various fixes.
* emacs-lisp/package.el (package-installed-p): First check if the package name is in package-alist. (package-delete): Correctly delete the package from package-alist.
-rw-r--r--lisp/ChangeLog6
-rw-r--r--lisp/emacs-lisp/package.el5
2 files changed, 9 insertions, 2 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 9ff78a4ca5f..a39294ac54d 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,9 @@
12014-01-08 Bastien Guerry <bzg@gnu.org>
2
3 * emacs-lisp/package.el (package-installed-p): First check if the
4 package name is in package-alist.
5 (package-delete): Correctly delete the package from package-alist.
6
12014-01-08 Daiki Ueno <ueno@gnu.org> 72014-01-08 Daiki Ueno <ueno@gnu.org>
2 8
3 * emacs-lisp/package.el (url-recreate-url): Declare. 9 * emacs-lisp/package.el (url-recreate-url): Declare.
diff --git a/lisp/emacs-lisp/package.el b/lisp/emacs-lisp/package.el
index 64a9eff916a..a89bf40eb44 100644
--- a/lisp/emacs-lisp/package.el
+++ b/lisp/emacs-lisp/package.el
@@ -881,13 +881,14 @@ GnuPG keyring is located under \"gnupg\" in `package-user-dir'."
881 "Return true if PACKAGE, of MIN-VERSION or newer, is installed. 881 "Return true if PACKAGE, of MIN-VERSION or newer, is installed.
882MIN-VERSION should be a version list." 882MIN-VERSION should be a version list."
883 (unless package--initialized (error "package.el is not yet initialized!")) 883 (unless package--initialized (error "package.el is not yet initialized!"))
884 (when (assq package package-alist)
884 (or 885 (or
885 (let ((pkg-descs (cdr (assq package package-alist)))) 886 (let ((pkg-descs (cdr (assq package package-alist))))
886 (and pkg-descs 887 (and pkg-descs
887 (version-list-<= min-version 888 (version-list-<= min-version
888 (package-desc-version (car pkg-descs))))) 889 (package-desc-version (car pkg-descs)))))
889 ;; Also check built-in packages. 890 ;; Also check built-in packages.
890 (package-built-in-p package min-version))) 891 (package-built-in-p package min-version))))
891 892
892(defun package-compute-transaction (packages requirements) 893(defun package-compute-transaction (packages requirements)
893 "Return a list of packages to be installed, including PACKAGES. 894 "Return a list of packages to be installed, including PACKAGES.
@@ -1232,7 +1233,7 @@ The file can either be a tar file or an Emacs Lisp file."
1232 (delete-file signed-file))) 1233 (delete-file signed-file)))
1233 ;; Update package-alist. 1234 ;; Update package-alist.
1234 (let* ((name (package-desc-name pkg-desc))) 1235 (let* ((name (package-desc-name pkg-desc)))
1235 (delete (delete pkg-desc (assq name package-alist)) package-alist)) 1236 (setq package-alist (delete (assq name package-alist) package-alist)))
1236 (message "Package `%s' deleted." (package-desc-full-name pkg-desc))))) 1237 (message "Package `%s' deleted." (package-desc-full-name pkg-desc)))))
1237 1238
1238(defun package-archive-base (desc) 1239(defun package-archive-base (desc)