Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP

Loading…

package-compute-transaction hack still needed? #615

Closed
purcell opened this Issue · 10 comments

3 participants

@purcell
Collaborator

The doc comment about how "dependency order comes out backwards" is probably now redundant, right? Can we safely remove this, and the corresponding hack in melpa.el?

@milkypostman
@purcell
Collaborator

Great.

Background: I'm trying to tidy and polish things up a little prior to the inevitable burst of attention at emacsconf on Saturday.

@milkypostman

rinari will not install cleanly without the hack still.

  • 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
  5. inf-ruby
  6. rinary fails missing ruby-compilation

the log for compilation is:

Leaving directory `/Users/dcurtis/.emacs.d/elpa/inflections-20121016.957'

Compiling file /Users/dcurtis/.emacs.d/elpa/inflections-20121016.957/inflections-pkg.el at Thu Mar 28 15:16:11 2013
Entering directory `/Users/dcurtis/.emacs.d/elpa/inflections-20121016.957/'

Compiling file /Users/dcurtis/.emacs.d/elpa/inflections-20121016.957/inflections.el at Thu Mar 28 15:16:11 2013

In singularize-string:
inflections.el:140:9:Warning: `flet' is an obsolete macro (as of 24.3); use
    either `cl-flet' or `cl-letf'.

In pluralize-string:
inflections.el:150:9:Warning: `flet' is an obsolete macro (as of 24.3); use
    either `cl-flet' or `cl-letf'.

Compiling no file at Thu Mar 28 15:16:11 2013
Leaving directory `/Users/dcurtis/.emacs.d/elpa/findr-20130127.2032'

Compiling file /Users/dcurtis/.emacs.d/elpa/findr-20130127.2032/findr-pkg.el at Thu Mar 28 15:16:11 2013
Entering directory `/Users/dcurtis/.emacs.d/elpa/findr-20130127.2032/'

Compiling file /Users/dcurtis/.emacs.d/elpa/findr-20130127.2032/findr.el at Thu Mar 28 15:16:11 2013
findr.el:113:1:Warning: cl package required at runtime

In findr:
findr.el:219:72:Warning: `interactive-p' is an obsolete function (as of 23.2);
    use `called-interactively-p' instead.
findr.el:240:81:Warning: `labels' is an obsolete macro (as of 24.3); use
    `cl-labels' instead.
findr.el:270:17:Warning: `time-to-seconds' is an obsolete function (as of
    21.1); use `float-time' instead.
findr.el:270:17:Warning: `time-to-seconds' is an obsolete function (as of
    21.1); use `float-time' instead.
findr.el:241:47:Warning: `labels' is an obsolete macro (as of 24.3); use
    `cl-labels' instead.

In findr-queue-contents:
findr.el:327:11:Warning: defsubst `findr-queue-contents' was used before it
    was defined

Compiling no file at Thu Mar 28 15:16:12 2013
Leaving directory `/Users/dcurtis/.emacs.d/elpa/jump-20121016.1203'

Compiling file /Users/dcurtis/.emacs.d/elpa/jump-20121016.1203/jump-pkg.el at Thu Mar 28 15:16:12 2013
Entering directory `/Users/dcurtis/.emacs.d/elpa/jump-20121016.1203/'

Compiling file /Users/dcurtis/.emacs.d/elpa/jump-20121016.1203/jump.el at Thu Mar 28 15:16:12 2013

In jump-method:
jump.el:96:24:Warning: reference to free variable `method-command'

In jump-to-file:
jump.el:149:31:Warning: reference to free variable `root'

In jump-to:
jump.el:237:36:Warning: reference to free variable `root'

Compiling no file at Thu Mar 28 15:16:12 2013
Leaving directory `/Users/dcurtis/.emacs.d/elpa/ruby-compilation-20130323.928'

Compiling file /Users/dcurtis/.emacs.d/elpa/ruby-compilation-20130323.928/ruby-compilation-pkg.el at Thu Mar 28 15:16:12 2013
Entering directory `/Users/dcurtis/.emacs.d/elpa/ruby-compilation-20130323.928/'

Compiling file /Users/dcurtis/.emacs.d/elpa/ruby-compilation-20130323.928/ruby-compilation.el at Thu Mar 28 15:16:12 2013
ruby-compilation.el:59:1:Error: Cannot open load file: inf-ruby

Compiling no file at Thu Mar 28 15:16:12 2013
Leaving directory `/Users/dcurtis/.emacs.d/elpa/inf-ruby-20121215.1127'

Compiling file /Users/dcurtis/.emacs.d/elpa/inf-ruby-20121215.1127/inf-ruby-pkg.el at Thu Mar 28 15:16:12 2013
Entering directory `/Users/dcurtis/.emacs.d/elpa/inf-ruby-20121215.1127/'

Compiling file /Users/dcurtis/.emacs.d/elpa/inf-ruby-20121215.1127/inf-ruby.el at Thu Mar 28 15:16:12 2013

In inf-ruby-fix-completions-on-windows:
inf-ruby.el:325:11:Warning: reference to free variable `completions'
inf-ruby.el:325:28:Warning: assignment to free variable `completions'

Compiling no file at Thu Mar 28 15:16:13 2013
Leaving directory `/Users/dcurtis/.emacs.d/elpa/rinari-20130202.1020'

Compiling file /Users/dcurtis/.emacs.d/elpa/rinari-20130202.1020/rinari-pkg.el at Thu Mar 28 15:16:13 2013
Entering directory `/Users/dcurtis/.emacs.d/elpa/rinari-20130202.1020/'

Compiling file /Users/dcurtis/.emacs.d/elpa/rinari-20130202.1020/rinari.el at Thu Mar 28 15:16:13 2013
rinari.el:77:1:Error: Cannot open load file: ruby-compilation
@milkypostman

I have submitted a bug report to the emacs developers.

@purcell
Collaborator

Thanks for following up on that!

@milkypostman
Owner

So, I got this fixed in upstream. I'm going to close the issue and remove the text from the readme as soon as 24.3.xxx gets released next.

How often does this occur?

@purcell
Collaborator

I've never seen this issue locally. I imagine it would be pretty rare.

@josh-nz

I found this, I think, on a wiki page here ages ago:

; There is a small bug in Emacs24’s package.el such that the
; dependency order comes out backwards. The problem is patched by some
; advice.

 (defadvice package-compute-transaction
   (before package-compute-transaction-reverse (package-list requirements) activate compile)
   "reverse the requirements"
   (setq requirements (reverse requirements))
   (print requirements))

Does this mean I no longer need this if I'm running 24.3 or greater?

@milkypostman
Owner

@josh-nz That's correct! A patch was finally submitted that should fix this. If you can remember where you saw this---it used to be in our readme file which we removed---we should probably update that wiki page.

@josh-nz

I had a hunt around for the source of that before I posted. I couldn't find it. It may have come from your readme like you mentioned. I can only see two wiki pages here, and it's not on either of them. So the source has probably gone.

Is it worth adding something in the readme to the effect that you used to require this code, but if you're running 24.3+ you can now safely remove it due the Emacs being fixed, so others like myself who may come looking in the future are aware of why they can no longer find that reference?

I got alerted to it because I must have watched this issue when I added the code ages ago, for this exact reason - that one day it will no longer be required.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.