diff options
Diffstat (limited to 'lisp/emacs-lisp/package.el')
-rw-r--r-- | lisp/emacs-lisp/package.el | 5 |
1 files changed, 3 insertions, 2 deletions
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'." "Return true if PACKAGE, of MIN-VERSION or newer, is installed. MIN-VERSION should be a version list." (unless package--initialized (error "package.el is not yet initialized!")) + (when (assq package package-alist) (or (let ((pkg-descs (cdr (assq package package-alist)))) (and pkg-descs (version-list-<= min-version (package-desc-version (car pkg-descs))))) ;; Also check built-in packages. - (package-built-in-p package min-version))) + (package-built-in-p package min-version)))) (defun package-compute-transaction (packages requirements) "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." (delete-file signed-file))) ;; Update package-alist. (let* ((name (package-desc-name pkg-desc))) - (delete (delete pkg-desc (assq name package-alist)) package-alist)) + (setq package-alist (delete (assq name package-alist) package-alist))) (message "Package `%s' deleted." (package-desc-full-name pkg-desc))))) (defun package-archive-base (desc) |