GNU bug report logs - #68317
Can't sort *Packages* buffer by version after installing with package-vc

Previous Next

Package: emacs;

Reported by: Joseph Turner <joseph <at> breatheoutbreathe.in>

Date: Mon, 8 Jan 2024 09:10:02 UTC

Severity: normal

Fixed in version 30.1

Done: Philip Kaludercic <philipk <at> posteo.net>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 68317 in the body.
You can then email your comments to 68317 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#68317; Package emacs. (Mon, 08 Jan 2024 09:10:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Joseph Turner <joseph <at> breatheoutbreathe.in>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Mon, 08 Jan 2024 09:10:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Joseph Turner <joseph <at> breatheoutbreathe.in>
To: Emacs Bugs Mailing List <bug-gnu-emacs <at> gnu.org>
Subject: Can't sort *Packages* buffer by version after installing with
 package-vc
Date: Mon, 08 Jan 2024 00:59:38 -0800
To reproduce:

1. Install some package using package-vc.

2. Open the *Packages* buffer: M-x list-packages.  The version column
for the newly installed package should display a git hash.

3. Click on the Version column header.  If the package's hash starts with
a letter, then instead of sorting the results, Emacs signals an error:

version-to-list: Invalid version syntax: ‘c99367ebc2f0afe0baaf2f5e5ca1ad9d62ba6e21’ (must start with a number)

Thank you!!

Joseph




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#68317; Package emacs. (Mon, 08 Jan 2024 13:04:02 GMT) Full text and rfc822 format available.

Message #8 received at 68317 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Joseph Turner <joseph <at> breatheoutbreathe.in>,
 Philip Kaludercic <philipk <at> posteo.net>
Cc: 68317 <at> debbugs.gnu.org
Subject: Re: bug#68317: Can't sort *Packages* buffer by version after
 installing with package-vc
Date: Mon, 08 Jan 2024 15:03:27 +0200
> Date: Mon, 08 Jan 2024 00:59:38 -0800
> From:  Joseph Turner via "Bug reports for GNU Emacs,
>  the Swiss army knife of text editors" <bug-gnu-emacs <at> gnu.org>
> 
> To reproduce:
> 
> 1. Install some package using package-vc.
> 
> 2. Open the *Packages* buffer: M-x list-packages.  The version column
> for the newly installed package should display a git hash.
> 
> 3. Click on the Version column header.  If the package's hash starts with
> a letter, then instead of sorting the results, Emacs signals an error:
> 
> version-to-list: Invalid version syntax: ‘c99367ebc2f0afe0baaf2f5e5ca1ad9d62ba6e21’ (must start with a number)

Sounds like package-vc-commit should be modified to produce a valid
version string (which SHA1 is not)?  Philip?




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#68317; Package emacs. (Tue, 09 Jan 2024 19:26:02 GMT) Full text and rfc822 format available.

Message #11 received at 68317 <at> debbugs.gnu.org (full text, mbox):

From: Philip Kaludercic <philipk <at> posteo.net>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 68317 <at> debbugs.gnu.org, Joseph Turner <joseph <at> breatheoutbreathe.in>
Subject: Re: bug#68317: Can't sort *Packages* buffer by version after
 installing with package-vc
Date: Tue, 09 Jan 2024 19:25:44 +0000
Eli Zaretskii <eliz <at> gnu.org> writes:

>> Date: Mon, 08 Jan 2024 00:59:38 -0800
>> From:  Joseph Turner via "Bug reports for GNU Emacs,
>>  the Swiss army knife of text editors" <bug-gnu-emacs <at> gnu.org>
>> 
>> To reproduce:
>> 
>> 1. Install some package using package-vc.
>> 
>> 2. Open the *Packages* buffer: M-x list-packages.  The version column
>> for the newly installed package should display a git hash.
>> 
>> 3. Click on the Version column header.  If the package's hash starts with
>> a letter, then instead of sorting the results, Emacs signals an error:
>> 
>> version-to-list: Invalid version syntax: ‘c99367ebc2f0afe0baaf2f5e5ca1ad9d62ba6e21’ (must start with a number)
>
> Sounds like package-vc-commit should be modified to produce a valid
> version string (which SHA1 is not)?  Philip?

We can also adjust `package-menu--version-predicate' to handle
non-version numbers, which I think would be more robust.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#68317; Package emacs. (Tue, 09 Jan 2024 19:55:02 GMT) Full text and rfc822 format available.

Message #14 received at 68317 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Philip Kaludercic <philipk <at> posteo.net>
Cc: 68317 <at> debbugs.gnu.org, joseph <at> breatheoutbreathe.in
Subject: Re: bug#68317: Can't sort *Packages* buffer by version after
 installing with package-vc
Date: Tue, 09 Jan 2024 21:53:49 +0200
> From: Philip Kaludercic <philipk <at> posteo.net>
> Cc: Joseph Turner <joseph <at> breatheoutbreathe.in>,  68317 <at> debbugs.gnu.org
> Date: Tue, 09 Jan 2024 19:25:44 +0000
> 
> Eli Zaretskii <eliz <at> gnu.org> writes:
> 
> >> version-to-list: Invalid version syntax: ‘c99367ebc2f0afe0baaf2f5e5ca1ad9d62ba6e21’ (must start with a number)
> >
> > Sounds like package-vc-commit should be modified to produce a valid
> > version string (which SHA1 is not)?  Philip?
> 
> We can also adjust `package-menu--version-predicate' to handle
> non-version numbers, which I think would be more robust.

Fine by me, but can this be done safely enough for emacs-29?




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#68317; Package emacs. (Tue, 09 Jan 2024 20:20:03 GMT) Full text and rfc822 format available.

Message #17 received at 68317 <at> debbugs.gnu.org (full text, mbox):

From: Philip Kaludercic <philipk <at> posteo.net>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 68317 <at> debbugs.gnu.org, joseph <at> breatheoutbreathe.in
Subject: Re: bug#68317: Can't sort *Packages* buffer by version after
 installing with package-vc
Date: Tue, 09 Jan 2024 20:19:15 +0000
[Message part 1 (text/plain, inline)]
Eli Zaretskii <eliz <at> gnu.org> writes:

>> From: Philip Kaludercic <philipk <at> posteo.net>
>> Cc: Joseph Turner <joseph <at> breatheoutbreathe.in>,  68317 <at> debbugs.gnu.org
>> Date: Tue, 09 Jan 2024 19:25:44 +0000
>> 
>> Eli Zaretskii <eliz <at> gnu.org> writes:
>> 
>> >> version-to-list: Invalid version syntax: ‘c99367ebc2f0afe0baaf2f5e5ca1ad9d62ba6e21’ (must start with a number)
>> >
>> > Sounds like package-vc-commit should be modified to produce a valid
>> > version string (which SHA1 is not)?  Philip?
>> 
>> We can also adjust `package-menu--version-predicate' to handle
>> non-version numbers, which I think would be more robust.
>
> Fine by me, but can this be done safely enough for emacs-29?

This would be a simple implementation, I don't know if it is safe enough
for you:

[Message part 2 (text/plain, inline)]
diff --git a/lisp/emacs-lisp/package.el b/lisp/emacs-lisp/package.el
index fa9903e13e3..f97c2cff783 100644
--- a/lisp/emacs-lisp/package.el
+++ b/lisp/emacs-lisp/package.el
@@ -4070,8 +4070,8 @@ package-menu-execute
 (defun package-menu--version-predicate (A B)
   "Predicate to sort \"*Packages*\" buffer by the version column.
 This is used for `tabulated-list-format' in `package-menu-mode'."
-  (let ((vA (or (version-to-list (aref (cadr A) 1)) '(0)))
-        (vB (or (version-to-list (aref (cadr B) 1)) '(0))))
+  (let ((vA (or (ignore-error error (version-to-list (aref (cadr A) 1))) '(0)))
+        (vB (or (ignore-error error (version-to-list (aref (cadr B) 1))) '(0))))
     (if (version-list-= vA vB)
         (package-menu--name-predicate A B)
       (version-list-< vA vB))))

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#68317; Package emacs. (Wed, 10 Jan 2024 03:28:01 GMT) Full text and rfc822 format available.

Message #20 received at 68317 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Philip Kaludercic <philipk <at> posteo.net>
Cc: 68317 <at> debbugs.gnu.org, joseph <at> breatheoutbreathe.in
Subject: Re: bug#68317: Can't sort *Packages* buffer by version after
 installing with package-vc
Date: Wed, 10 Jan 2024 05:27:08 +0200
> From: Philip Kaludercic <philipk <at> posteo.net>
> Cc: joseph <at> breatheoutbreathe.in,  68317 <at> debbugs.gnu.org
> Date: Tue, 09 Jan 2024 20:19:15 +0000
> 
> Eli Zaretskii <eliz <at> gnu.org> writes:
> 
> >> From: Philip Kaludercic <philipk <at> posteo.net>
> >> Cc: Joseph Turner <joseph <at> breatheoutbreathe.in>,  68317 <at> debbugs.gnu.org
> >> Date: Tue, 09 Jan 2024 19:25:44 +0000
> >> 
> >> Eli Zaretskii <eliz <at> gnu.org> writes:
> >> 
> >> >> version-to-list: Invalid version syntax: ‘c99367ebc2f0afe0baaf2f5e5ca1ad9d62ba6e21’ (must start with a number)
> >> >
> >> > Sounds like package-vc-commit should be modified to produce a valid
> >> > version string (which SHA1 is not)?  Philip?
> >> 
> >> We can also adjust `package-menu--version-predicate' to handle
> >> non-version numbers, which I think would be more robust.
> >
> > Fine by me, but can this be done safely enough for emacs-29?
> 
> This would be a simple implementation, I don't know if it is safe enough
> for you:

Looks safe enough, thanks.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#68317; Package emacs. (Wed, 10 Jan 2024 05:28:02 GMT) Full text and rfc822 format available.

Message #23 received at 68317 <at> debbugs.gnu.org (full text, mbox):

From: Joseph Turner <joseph <at> breatheoutbreathe.in>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: Philip Kaludercic <philipk <at> posteo.net>, 68317 <at> debbugs.gnu.org
Subject: Re: bug#68317: Can't sort *Packages* buffer by version after
 installing with package-vc
Date: Tue, 09 Jan 2024 21:16:06 -0800
Eli Zaretskii <eliz <at> gnu.org> writes:

>> From: Philip Kaludercic <philipk <at> posteo.net>
>> Cc: joseph <at> breatheoutbreathe.in,  68317 <at> debbugs.gnu.org
>> Date: Tue, 09 Jan 2024 20:19:15 +0000
>>
>> Eli Zaretskii <eliz <at> gnu.org> writes:
>>
>> >> From: Philip Kaludercic <philipk <at> posteo.net>
>> >> Cc: Joseph Turner <joseph <at> breatheoutbreathe.in>,  68317 <at> debbugs.gnu.org
>> >> Date: Tue, 09 Jan 2024 19:25:44 +0000
>> >>
>> >> Eli Zaretskii <eliz <at> gnu.org> writes:
>> >>
>> >> >> version-to-list: Invalid version syntax: ‘c99367ebc2f0afe0baaf2f5e5ca1ad9d62ba6e21’ (must start with a number)
>> >> >
>> >> > Sounds like package-vc-commit should be modified to produce a valid
>> >> > version string (which SHA1 is not)?  Philip?
>> >>
>> >> We can also adjust `package-menu--version-predicate' to handle
>> >> non-version numbers, which I think would be more robust.
>> >
>> > Fine by me, but can this be done safely enough for emacs-29?
>>
>> This would be a simple implementation, I don't know if it is safe enough
>> for you:
>
> Looks safe enough, thanks.

With this solution, when sorting by version, packages at version 0.0.0
are interleaved with packages whose version string is a hash, such as:

  breadcrumb                     c99367ebc2f0afe0baaf2f5e5ca1ad9d62ba6e21 source                No description available.
  chordpro-mode                  a63fc0b7181299befc4496cba04e0f84d5953000 source                No description available.
  consult-emms                   407edec0f2a997e32cb1bbeff811f73b6fac42ac source                No description available.
  denote                         5e9b6b3bf0a81e00b0db0071f0c06a889f7e4a71 source                No description available.
  disable-mouse                  0.0.0          external              Disable mouse commands globally
  emacsql                        0.0.0          external              High-level SQL database front-end
  hl-todo                        0.0.0          external              Highlight TODO and similar keywords
  hyperdrive                     2930992446f508a7716b1e52a6aaf824d3f152d9 source                No description available.
  jabber                         6900d9e085bbb2ef35b731c661fe54fa88422d6a source                No description available.
  ledger-mode                    0.0.0          external              Helper code for use with the "ledger" command-line tool
  lisp                           unknown        source                No description available.
  macrostep                      0.0.0          external              Interactive macro expander

While this is a little bit awkward, it's certainly better than an error.

Thank you for the quick fix!

Joseph




Reply sent to Philip Kaludercic <philipk <at> posteo.net>:
You have taken responsibility. (Wed, 10 Jan 2024 08:29:01 GMT) Full text and rfc822 format available.

Notification sent to Joseph Turner <joseph <at> breatheoutbreathe.in>:
bug acknowledged by developer. (Wed, 10 Jan 2024 08:29:02 GMT) Full text and rfc822 format available.

Message #28 received at 68317-done <at> debbugs.gnu.org (full text, mbox):

From: Philip Kaludercic <philipk <at> posteo.net>
To: Joseph Turner <joseph <at> breatheoutbreathe.in>
Cc: Eli Zaretskii <eliz <at> gnu.org>, 68317-done <at> debbugs.gnu.org
Subject: Re: bug#68317: Can't sort *Packages* buffer by version after
 installing with package-vc
Date: Wed, 10 Jan 2024 08:28:03 +0000
Joseph Turner <joseph <at> breatheoutbreathe.in> writes:

> Eli Zaretskii <eliz <at> gnu.org> writes:
>
>>> From: Philip Kaludercic <philipk <at> posteo.net>
>>> Cc: joseph <at> breatheoutbreathe.in,  68317 <at> debbugs.gnu.org
>>> Date: Tue, 09 Jan 2024 20:19:15 +0000
>>>
>>> Eli Zaretskii <eliz <at> gnu.org> writes:
>>>
>>> >> From: Philip Kaludercic <philipk <at> posteo.net>
>>> >> Cc: Joseph Turner <joseph <at> breatheoutbreathe.in>,  68317 <at> debbugs.gnu.org
>>> >> Date: Tue, 09 Jan 2024 19:25:44 +0000
>>> >>
>>> >> Eli Zaretskii <eliz <at> gnu.org> writes:
>>> >>
>>> >> >> version-to-list: Invalid version syntax: ‘c99367ebc2f0afe0baaf2f5e5ca1ad9d62ba6e21’ (must start with a number)
>>> >> >
>>> >> > Sounds like package-vc-commit should be modified to produce a valid
>>> >> > version string (which SHA1 is not)?  Philip?
>>> >>
>>> >> We can also adjust `package-menu--version-predicate' to handle
>>> >> non-version numbers, which I think would be more robust.
>>> >
>>> > Fine by me, but can this be done safely enough for emacs-29?
>>>
>>> This would be a simple implementation, I don't know if it is safe enough
>>> for you:
>>
>> Looks safe enough, thanks.
>
> With this solution, when sorting by version, packages at version 0.0.0
> are interleaved with packages whose version string is a hash, such as:
>
>   breadcrumb                     c99367ebc2f0afe0baaf2f5e5ca1ad9d62ba6e21 source                No description available.
>   chordpro-mode                  a63fc0b7181299befc4496cba04e0f84d5953000 source                No description available.
>   consult-emms                   407edec0f2a997e32cb1bbeff811f73b6fac42ac source                No description available.
>   denote                         5e9b6b3bf0a81e00b0db0071f0c06a889f7e4a71 source                No description available.
>   disable-mouse                  0.0.0          external              Disable mouse commands globally
>   emacsql                        0.0.0          external              High-level SQL database front-end
>   hl-todo                        0.0.0          external              Highlight TODO and similar keywords
>   hyperdrive                     2930992446f508a7716b1e52a6aaf824d3f152d9 source                No description available.
>   jabber                         6900d9e085bbb2ef35b731c661fe54fa88422d6a source                No description available.
>   ledger-mode                    0.0.0          external              Helper code for use with the "ledger" command-line tool
>   lisp                           unknown        source                No description available.
>   macrostep                      0.0.0          external              Interactive macro expander
>
> While this is a little bit awkward, it's certainly better than an error.
>
> Thank you for the quick fix!

I agree it is not ideal, I can take a look at it again after emacs-29 is
cut.  But for now I'll mark the bug report as resolved.

> Joseph




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#68317; Package emacs. (Wed, 10 Jan 2024 09:08:01 GMT) Full text and rfc822 format available.

Message #31 received at 68317 <at> debbugs.gnu.org (full text, mbox):

From: Stefan Kangas <stefankangas <at> gmail.com>
To: Philip Kaludercic <philipk <at> posteo.net>,
 Joseph Turner <joseph <at> breatheoutbreathe.in>
Cc: Eli Zaretskii <eliz <at> gnu.org>, 68317 <at> debbugs.gnu.org
Subject: Re: bug#68317: Can't sort *Packages* buffer by version after
 installing with package-vc
Date: Wed, 10 Jan 2024 01:06:50 -0800
Philip Kaludercic <philipk <at> posteo.net> writes:

> I agree it is not ideal, I can take a look at it again after emacs-29 is
> cut.  But for now I'll mark the bug report as resolved.

Shouldn't we rather leave the bug open with the tag "fixed" in that case?

According to https://debbugs.gnu.org/Developer.html

    fixed: This bug is fixed or worked around, but there's still an
               issue that needs to be resolved.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#68317; Package emacs. (Wed, 10 Jan 2024 13:48:04 GMT) Full text and rfc822 format available.

Message #34 received at 68317 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Joseph Turner <joseph <at> breatheoutbreathe.in>
Cc: philipk <at> posteo.net, 68317 <at> debbugs.gnu.org
Subject: Re: bug#68317: Can't sort *Packages* buffer by version after
 installing with package-vc
Date: Wed, 10 Jan 2024 15:13:58 +0200
> From: Joseph Turner <joseph <at> breatheoutbreathe.in>
> Cc: Philip Kaludercic <philipk <at> posteo.net>, 68317 <at> debbugs.gnu.org
> Date: Tue, 09 Jan 2024 21:16:06 -0800
> 
> Eli Zaretskii <eliz <at> gnu.org> writes:
> 
> With this solution, when sorting by version, packages at version 0.0.0
> are interleaved with packages whose version string is a hash, such as:

We could produce a version of 0.0-git, in which case all those
packages that have a hash as the version will be sorted together.




bug Marked as fixed in versions 30.1. Request was from Philip Kaludercic <philipk <at> posteo.net> to control <at> debbugs.gnu.org. (Wed, 10 Jan 2024 19:10:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#68317; Package emacs. (Wed, 10 Jan 2024 19:12:02 GMT) Full text and rfc822 format available.

Message #39 received at 68317 <at> debbugs.gnu.org (full text, mbox):

From: Philip Kaludercic <philipk <at> posteo.net>
To: Stefan Kangas <stefankangas <at> gmail.com>
Cc: Eli Zaretskii <eliz <at> gnu.org>, 68317 <at> debbugs.gnu.org,
 Joseph Turner <joseph <at> breatheoutbreathe.in>
Subject: Re: bug#68317: Can't sort *Packages* buffer by version after
 installing with package-vc
Date: Wed, 10 Jan 2024 19:10:37 +0000
Stefan Kangas <stefankangas <at> gmail.com> writes:

> Philip Kaludercic <philipk <at> posteo.net> writes:
>
>> I agree it is not ideal, I can take a look at it again after emacs-29 is
>> cut.  But for now I'll mark the bug report as resolved.
>
> Shouldn't we rather leave the bug open with the tag "fixed" in that case?
>
> According to https://debbugs.gnu.org/Developer.html
>
>     fixed: This bug is fixed or worked around, but there's still an
>                issue that needs to be resolved.

I have tried to adjust the status, but never having done so, I am not
sure if I have succeeded.




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Thu, 08 Feb 2024 12:24:06 GMT) Full text and rfc822 format available.

This bug report was last modified 1 year and 133 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.