diff --git a/lisp/emacs-lisp/package.el b/lisp/emacs-lisp/package.el index 2892728ebd9..4c85db1aedb 100644 --- a/lisp/emacs-lisp/package.el +++ b/lisp/emacs-lisp/package.el @@ -3740,7 +3740,9 @@ package-menu--find-upgrades ;; ENTRY is (PKG-DESC [NAME VERSION STATUS DOC]) (let ((pkg-desc (car entry)) (status (aref (cadr entry) 2))) - (cond ((member status '("installed" "dependency" "unsigned" "external")) + (cond ((member status (append + '("installed" "dependency" "unsigned" "external") + (and package-install-upgrade-built-in '("built-in")))) (push pkg-desc installed)) ((member status '("available" "new")) (setq available (package--append-to-alist pkg-desc available)))))) @@ -3749,8 +3751,10 @@ package-menu--find-upgrades (let* ((name (package-desc-name pkg-desc)) (avail-pkg (cadr (assq name available)))) (and avail-pkg - (version-list-< (package-desc-priority-version pkg-desc) - (package-desc-priority-version avail-pkg)) + (or (version-list-< (package-desc-priority-version pkg-desc) + (package-desc-priority-version avail-pkg)) + (and package-install-upgrade-built-in + (package--active-built-in-p pkg-desc))) (push (cons name avail-pkg) upgrades)))) upgrades))