Subject: bug#62720: 29.0.60; Not easy at all to upgrade :core packages like Eglot

From: Dmitry Gutov <[email-masked]>
Date: Sun, 23 Apr 2023 02:37:50 +0300

Philip,

On 13/04/2023 21:49, Philip Kaludercic wrote:
> +    (when (and (or current-prefix-arg package-install-upgrade-built-in)
> +               (package--active-built-in-p pkg))
> +      (setq pkg (cadr (assq name package-archive-contents))))

How sure are you that the first element in (cdr (assq name 
package-archive-contents)) will contain the latest version?

When reading the code I stumbled on these two items:

- Comment in package-compute-transaction:

                 ;; pkg-descs is sorted by priority, not version, so
                 ;; don't error just yet.

- package-menu--find-upgrades iterates through installed packages and 
checks for new versions with this condition:

              (version-list-< (package-desc-priority-version pkg-desc)
                              (package-desc-priority-version avail-pkg))

That's why I came with the more complex way to choose the appropriate 
package-desc in my latest attempt:

  (car
   (last (seq-sort-by #'package-desc-priority-version
                      #'version-list-<
                      (cdr (assq package package-archive-contents)))))

Would be happy to hear it's an overkill and we can use the more simple 
version.