[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] master 0e6f462: Don't try to add nil packages on refresh
From: |
Stefan Kangas |
Subject: |
[Emacs-diffs] master 0e6f462: Don't try to add nil packages on refresh |
Date: |
Sun, 20 Oct 2019 18:01:40 -0400 (EDT) |
branch: master
commit 0e6f4628d8fff53505e4399e71da9f531a64fff7
Author: Stefan Kangas <address@hidden>
Commit: Stefan Kangas <address@hidden>
Don't try to add nil packages on refresh
* lisp/emacs-lisp/package.el (package-read-archive-contents): Don't
try to add nil entries. Warn instead. (Bug#28502)
* test/lisp/emacs-lisp/package-tests.el
(package-test-update-archives/ignore-nil-entry): New test.
* test/lisp/emacs-lisp/package-resources/with-nil-entry/archive-contents:
New file.
---
lisp/emacs-lisp/package.el | 5 ++++-
.../package-resources/with-nil-entry/archive-contents | 8 ++++++++
test/lisp/emacs-lisp/package-tests.el | 10 ++++++++++
3 files changed, 22 insertions(+), 1 deletion(-)
diff --git a/lisp/emacs-lisp/package.el b/lisp/emacs-lisp/package.el
index 2046206..645e831 100644
--- a/lisp/emacs-lisp/package.el
+++ b/lisp/emacs-lisp/package.el
@@ -1520,7 +1520,10 @@ If the archive version is too new, signal an error."
(contents (package--read-archive-file contents-file)))
(when contents
(dolist (package contents)
- (package--add-to-archive-contents package archive)))))
+ (if package
+ (package--add-to-archive-contents package archive)
+ (lwarn '(package refresh) :warning
+ "Ignoring `nil' package on `%s' package archive" archive))))))
(defvar package--old-archive-priorities nil
"Store currently used `package-archive-priorities'.
diff --git
a/test/lisp/emacs-lisp/package-resources/with-nil-entry/archive-contents
b/test/lisp/emacs-lisp/package-resources/with-nil-entry/archive-contents
new file mode 100644
index 0000000..03e6aa7
--- /dev/null
+++ b/test/lisp/emacs-lisp/package-resources/with-nil-entry/archive-contents
@@ -0,0 +1,8 @@
+(1
+ (foo .
+ [(1 0)
+ nil "foo package" single])
+ nil
+ (bar .
+ [(1 0)
+ nil "bar package" single]))
diff --git a/test/lisp/emacs-lisp/package-tests.el
b/test/lisp/emacs-lisp/package-tests.el
index 8670e6f..828c456 100644
--- a/test/lisp/emacs-lisp/package-tests.el
+++ b/test/lisp/emacs-lisp/package-tests.el
@@ -452,6 +452,16 @@ Must called from within a `tar-mode' buffer."
(search-forward-regexp "^ +simple-single" nil t))))
(if (process-live-p process) (kill-process process)))))
+(ert-deftest package-test-update-archives/ignore-nil-entry ()
+ "Ignore any packages that are nil. Test for Bug#28502."
+ (with-package-test ()
+ (let* ((with-nil-entry (expand-file-name "package-resources/with-nil-entry"
+ package-test-file-dir))
+ (package-archives `(("with-nil-entry" . ,with-nil-entry))))
+ (package-initialize)
+ (package-refresh-contents)
+ (should (equal (length package-archive-contents) 2)))))
+
(ert-deftest package-test-describe-package ()
"Test displaying help for a package."
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] master 0e6f462: Don't try to add nil packages on refresh,
Stefan Kangas <=