GNU bug report logs -
#16762
Installed packages are not considered part of the archive contents
Previous Next
Reported by: Johan Andersson <johan.rejeep <at> gmail.com>
Date: Sat, 15 Feb 2014 16:07:02 UTC
Severity: normal
Fixed in version 24.4
Done: Dmitry Gutov <dgutov <at> yandex.ru>
Bug is archived. No further changes may be made.
Full log
Message #29 received at 16762 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
> Johan?
I actually found a way around the issue because I had no time waiting for
it to get fixed.
But I still think that this should be fixed for the reason I mention that
other packages, such as Epl depends on the (non) package API. This specific
issue will break for example this function:
https://github.com/cask/epl/blob/master/epl.el#L447-L452
On Mon, Mar 24, 2014 at 7:20 AM, Dmitry Gutov <dgutov <at> yandex.ru> wrote:
> On 24.03.2014 02:55, Stefan wrote:
>
> Does it affect the output of M-x package-list RET?
>>
>
> It's identical (checked with diff).
>
> What about the package-menu-mark-upgrades?
>>
>
> It works. Don't see any problems.
>
>
> If we can keep the already installed packages, couldn't we also keep the
>> already built-in packages?
>>
>
> 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.
>
>
> === 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
> - ;; Skip entirely if pinned to another archive or already installed.
> - ((or (and pinned-to-archive
> - (not (equal (cdr pinned-to-archive) archive)))
> - (let ((bi (assq name package--builtin-versions)))
>
> - (and bi (version-list-= version (cdr bi))))
> - (let ((ins (cdr (assq name package-alist))))
> - (and ins (version-list-= version
> - (package-desc-version (car ins))))))
> + ;; Skip entirely if pinned to another archive.
> + ((and pinned-to-archive
> + (not (equal (cdr pinned-to-archive) archive)))
>
> nil)
> ((not existing-packages)
> (push (list name pkg-desc) package-archive-contents))
> @@ -1090,8 +1085,11 @@
>
> (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)
>
>
>
[Message part 2 (text/html, inline)]
This bug report was last modified 11 years and 64 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.