[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#37976: 27.0.50; Dependency reversal of seq-subseq and cl-subseq caus
From: |
Stefan Monnier |
Subject: |
bug#37976: 27.0.50; Dependency reversal of seq-subseq and cl-subseq causes regression when using seq from ELPA |
Date: |
Wed, 13 Nov 2019 08:42:38 -0500 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) |
>> Why would they use "seq-subseq from MELPA" when they have the latest
>> seq.el built into their Emacs `master`?
> I am sorry to have written MELPA, but I meant ELPA.
[ ELPA is the whole infrastructure/protocol. I'll assume you meant the
GNU ELPA repository. ]
Ah, much better. We definitely want this case to work right.
> But is it that unlikely that you somehow would have the `seq` from ELPA
> on your `load-path`?
That would be a bug, yes.
How do you end up with ELPA's `seq` in your `load-path`: package.el
should not activate the `seq` package (because it should consider the
built-in one "at least as good").
>> Could we have some more data, such as which package (name and version)
>> pulls which version of `seq` (and how does it say "from MELPA")?
> In ELPA there are not that many packages that depend on seq, but there
> is for example `beacon` which depends on `(seq "2.14")`. In MELPA there
> is a lot, for example `org-drill` which also depends on `(seq "2.14")`.
Right. I was worried about dependencies on MELPA's `seq` (assuming it
used a different versioning scheme, which would thus indeed wreak havoc
with package.el's attempt to compare the `seq` package's version with
the built-in one).
> I am using NixOS and I think this issue comes from nix and how it
> resolves packages. Nix will resolve Emacs package dependencies on a
> system level and make sure all of them are added to your `load-path`
> when launching Emacs. The unfortunate thing is that if a package depends
> on `seq`, it pulls the one from ELPA since it doesn't know about the
> built-in package in Emacs.
Sounds like a bug in the NixOS handling of Emacs's packages, then: they
should presumably be added to `package-directory-list` or
`package-user-dir` but not directly to `load-path`.
After all, adding them to `load-path` also breaks `package-load-list`
(since `package-load-list` lets you specify packages which shouldn't be
activated (aka put into your `load-path`) even though they're installed).
> Thank you for your reply and if you don't think anything needs to be
> done on Emacs/ELPA side, feel free to close this issue.
It does look like the problem is on NixOS's side, indeed.
Stefan