|
From: | Johan Andersson |
Subject: | bug#16762: Installed packages are not considered part of the archive contents |
Date: | Mon, 24 Mar 2014 09:10:42 +0100 |
It's identical (checked with diff).
What about the package-menu-mark-upgrades?
It works. Don't see any problems.Yes, seems so. I hadn't tried this before because the previous behavior was to omit them (I think), but the patch below seems to work fine WRT the questions above.
If we can keep the already installed packages, couldn't we also keep the
already built-in packages?
=== modified file 'lisp/emacs-lisp/package.el'
--- lisp/emacs-lisp/package.el 2014-03-23 08:35:56 +0000
+++ lisp/emacs-lisp/package.el 2014-03-24 06:11:52 +0000
@@ -1047,14 +1047,9 @@
(existing-packages (assq name package-archive-contents))
(pinned-to-archive (assoc name package-pinned-packages)))(cond- ((or (and pinned-to-archive
- ;; Skip entirely if pinned to another archive or already installed.
- (not (equal (cdr pinned-to-archive) archive)))
- (let ((bi (assq name package--builtin-versions)))+ ;; Skip entirely if pinned to another archive.
- (and bi (version-list-= version (cdr bi))))
- (let ((ins (cdr (assq name package-alist))))
- (and ins (version-list-= version
- (package-desc-version (car ins))))))
+ ((and pinned-to-archive
+ (not (equal (cdr pinned-to-archive) archive)))@@ -1090,8 +1085,11 @@
nil)
((not existing-packages)
(push (list name pkg-desc) package-archive-contents))
(package-refresh-contents))
(list (intern (completing-read
"Install package: "
- (mapcar (lambda (elt) (symbol-name (car elt)))
- package-archive-contents)
+ (delq nil
+ (mapcar (lambda (elt)
+ (unless (package-installed-p (car elt))
+ (symbol-name (car elt))))
+ package-archive-contents))
nil t)))))
(package-download-transaction
(if (package-desc-p pkg)
[Prev in Thread] | Current Thread | [Next in Thread] |