[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
master 50a192795a: Consider built-in packages to be installed
From: |
Lars Ingebrigtsen |
Subject: |
master 50a192795a: Consider built-in packages to be installed |
Date: |
Tue, 2 Aug 2022 06:14:51 -0400 (EDT) |
branch: master
commit 50a192795ad64d2ea49274b402cb42530a5199ca
Author: Matt Armstrong <matt@rfc20.org>
Commit: Lars Ingebrigtsen <larsi@gnus.org>
Consider built-in packages to be installed
* lisp/emacs-lisp/package.el (package-installed-p): Check for built-in
packages before initialization. (bug#56877).
---
lisp/emacs-lisp/package.el | 5 ++++-
test/lisp/emacs-lisp/package-tests.el | 15 +++++++++++++++
2 files changed, 19 insertions(+), 1 deletion(-)
diff --git a/lisp/emacs-lisp/package.el b/lisp/emacs-lisp/package.el
index df70f908da..482de52f85 100644
--- a/lisp/emacs-lisp/package.el
+++ b/lisp/emacs-lisp/package.el
@@ -2085,7 +2085,10 @@ If PACKAGE is a `package-desc' object, MIN-VERSION is
ignored."
package-activated-list)
;; We used the quickstart: make it possible to use package-installed-p
;; even before package is fully initialized.
- (memq package package-activated-list))
+ (or
+ (memq package package-activated-list)
+ ;; Also check built-in packages.
+ (package-built-in-p package min-version)))
(t
(or
(let ((pkg-descs (cdr (assq package (package--alist)))))
diff --git a/test/lisp/emacs-lisp/package-tests.el
b/test/lisp/emacs-lisp/package-tests.el
index d7a55998c2..b903cd781b 100644
--- a/test/lisp/emacs-lisp/package-tests.el
+++ b/test/lisp/emacs-lisp/package-tests.el
@@ -638,6 +638,21 @@ but with a different end of line convention (bug#48137)."
(package-refresh-contents)
(should (equal (length package-archive-contents) 2)))))
+(ert-deftest package-test-package-installed-p ()
+ "Test package-installed-p before and after package initialization."
+ (with-package-test ()
+ ;; Verify that `package-installed-p' evaluates true for a built-in
+ ;; package, in this case `project', before package initialization.
+ (should (not package--initialized))
+ (should (package-installed-p 'project nil))
+ (should (not (package-installed-p 'imaginary-package nil)))
+
+ ;; The results don't change after package initialization.
+ (package-initialize)
+ (should package--initialized)
+ (should (package-installed-p 'project nil))
+ (should (not (package-installed-p 'imaginary-package nil)))))
+
(ert-deftest package-test-describe-package ()
"Test displaying help for a package."
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- master 50a192795a: Consider built-in packages to be installed,
Lars Ingebrigtsen <=