GNU bug report logs - #16762
Installed packages are not considered part of the archive contents

Previous Next

Package: emacs;

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


View this message in rfc822 format

From: Johan Andersson <johan.rejeep <at> gmail.com>
To: Dmitry Gutov <dgutov <at> yandex.ru>
Cc: Stefan <monnier <at> iro.umontreal.ca>, 16762 <at> debbugs.gnu.org
Subject: bug#16762: Installed packages are not considered part of the archive contents
Date: Mon, 24 Mar 2014 09:10:42 +0100
[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.