From: Donald Curtis <dcurtis@coe.edu>
To: Stefan Monnier <monnier@iro.umontreal.ca>
Cc: 14082-done@debbugs.gnu.org
Subject: bug#14082: 24.3; Package dependences calculated in reverse
Date: Fri, 5 Apr 2013 10:27:38 -0500 [thread overview]
Message-ID: <110E0219-69CB-4A85-AF3B-9A074704575C@coe.edu> (raw)
In-Reply-To: <jwvtxnnui9d.fsf-monnier+emacs@gnu.org>
It appears the bug is still happening because if the package already exists then the new code will not get called because it is wrapped in the `unless'. The following patch works perfectly for me. It just always adds the package to the front.
diff --git a/package.el.orig b/package.el
index ab17ec1..064e1db 100644
--- a/package.el.orig
+++ b/package.el
@@ -810,11 +810,10 @@ but version %s required"
(symbol-name next-pkg) (package-version-join next-version)
(package-version-join (package-desc-vers (cdr pkg-desc)))))
;; Only add to the transaction if we don't already have it.
- (unless (memq next-pkg package-list)
- (setq package-list
- ;; Move to front, so it gets installed early enough
- ;; (bug#14082).
- (cons next-pkg (delq next-pkg package-list))))
+ (setq package-list
+ ;; Move to front, so it gets installed early enough
+ ;; (bug#14082).
+ (cons next-pkg (delq next-pkg package-list)))
(setq package-list
(package-compute-transaction package-list
(package-desc-reqs
Donald
On Apr 3, 2013, at 21:46, Stefan Monnier <monnier@iro.umontreal.ca> wrote:
>> * rinari requires: ruby-mode, inf-ruby, ruby-compilation, jump
>> * jump requires: findr, inflections
>> * ruby-compilation requires: inf-ruby
>
>> Yet, the order of compilation appears to be:
>
>> 1. inflections
>> 2. findr
>> 3. jump
>> 4. ruby-compilation *fails missing inf-ruby*
>
> Indeed, thanks. I installed the patch below which should fix
> this problem. Note that a better fix would be to first download packages,
> the unpack packages, then autoload packages, then compile packages.
> This way, ordering won't matter (including circular dependencies).
>
>
> Stefan
>
>
> === modified file 'lisp/emacs-lisp/package.el'
> --- lisp/emacs-lisp/package.el 2013-04-04 01:51:33 +0000
> +++ lisp/emacs-lisp/package.el 2013-04-04 02:42:31 +0000
> @@ -811,7 +811,10 @@
> (package-version-join (package-desc-vers (cdr pkg-desc)))))
> ;; Only add to the transaction if we don't already have it.
> (unless (memq next-pkg package-list)
> - (push next-pkg package-list))
> + (setq package-list
> + ;; Move to front, so it gets installed early enough
> + ;; (bug#14082).
> + (cons next-pkg (delq next-pkg package-list))))
> (setq package-list
> (package-compute-transaction package-list
> (package-desc-reqs
>
next prev parent reply other threads:[~2013-04-05 15:27 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-03-28 20:38 bug#14082: 24.3; Package dependences calculated in reverse Donald Curtis
2013-04-04 2:46 ` Stefan Monnier
2013-04-05 15:27 ` Donald Curtis [this message]
2013-04-05 18:48 ` Stefan Monnier
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=110E0219-69CB-4A85-AF3B-9A074704575C@coe.edu \
--to=dcurtis@coe.edu \
--cc=14082-done@debbugs.gnu.org \
--cc=monnier@iro.umontreal.ca \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.