Subject: Re: bug#65283: 29.1; package-vc-install fails to install package "ement" because some dependencies installed by it are omitted from load-path
From: Philip Kaludercic <[email-masked]>
To: Adam Porter <[email-masked]>
Cc: [email-masked]
Date: Sat, 19 Aug 2023 09:44:48 +0000
List-Id: <debbugs-submit.debbugs.gnu.org>

Adam Porter <[email-masked]> writes:

> Hi Philip,
>
> On 8/15/23 16:52, Philip Kaludercic wrote:
>
>>> So there appears to be a bug somewhere in the package-vc library.
>> With a slight modification of `package-vc-install-dependencies', we
>> can
>> see in which order the dependencies are installed:
>> --8<---------------cut here---------------start------------->8---
>> (package-vc-install-dependencies (package-desc-reqs (cadr (assoc 'ement package-archive-contents))))
>> ;=> (:to-install (svg-lib persist plz taxy taxy-magit-section) :missing nil)
>> ;                ^ mapc runs over this
>> --8<---------------cut here---------------end--------------->8---
>> This made me suspect that there might be a bug in that function, and
>> with these changes, the above command works 
>
> Great.
>
>> (I can't test it because my matrix account AFAIK isn't supported by
>> Ement):
> This is a bit off-topic, but would you please explain what you mean
> (via private email would be fine)?  AFAIK Ement.el should support any
> Matrix account on any homeserver.  If you've encountered a bug trying
> to use it, I'd like to fix it.
>
>> It boils down to a lack-of-type-safety kind of bug.  It was comparing
>> 'package-name with (package-name . "version string"), that always ends
>> up being nil.
>
> I've encountered similar issues when dealing with package.el
> functions. The inconsistent use of types can be challenging to work
> with.
>
>> Not sure about the change to `dependent-order', I'll have to think about
>> that in more detail tomorrow.  Perhaps there is an all-together shorter
>> patch?
>
> It seems like a reasonable patch to me.

I have pushed the above patch and will close this report.

> Is there any chance of getting this fix to Emacs 29 users, either via
> a 29.2 release or by putting a new version of package-vc on GNU ELPA?
> It would be a shame for this great new feature to be unusable (or
> unreliable) until Emacs 30 is released.

See https://mail.gnu.org/archive/html/emacs-devel/2023-08/msg00667.html.

> Thanks for your work,
> Adam