Handle package versions that are not version strings

* lisp/emacs-lisp/package.el (package-menu--version-predicate): Ignore
any errors raised by 'version-to-list', thus falling back to the
default version list.  (Bug#68317)

(cherry picked from commit eb913c7501)
This commit is contained in:
Philip Kaludercic 2024-01-10 09:25:41 +01:00 committed by Eli Zaretskii
parent d58d0fa52f
commit 5567ce1a9f

View file

@ -4003,8 +4003,8 @@ invocations."
(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))))