Subject: bug#14718: 24.3.50; Endless loop in "package-read-all-archive-contents"

From: Stefan Monnier <[email-masked]>
Date: Tue, 25 Jun 2013 20:45:36 -0400

> If a package is contained in two or more archives,
> "package-read-all-archive-contents" hangs in an endless loop.  For
> instance, in "emacs -Q":

Duh!  Not sure how the nil got lost when I copied the loop from
package-process-define-package.

I installed the patch below which should fix it,

        Stefan

=== modified file 'lisp/ChangeLog'
--- lisp/ChangeLog	2013-06-25 16:13:49 +0000
+++ lisp/ChangeLog	2013-06-26 00:43:32 +0000
@@ -1,3 +1,8 @@
+2013-06-26  Stefan Monnier  <[email-masked]>
+
+	* emacs-lisp/package.el (package--add-to-archive-contents): Add missing
+	nil terminate the loop (bug#14718).
+
 2013-06-25  Stefan Monnier  <[email-masked]>
 
 	* emacs-lisp/package.el: Use lexical-binding.  Include obsolete

=== modified file 'lisp/emacs-lisp/package.el'
--- lisp/emacs-lisp/package.el	2013-06-25 16:13:49 +0000
+++ lisp/emacs-lisp/package.el	2013-06-26 00:42:56 +0000
@@ -3,6 +3,7 @@
 ;; Copyright (C) 2007-2013 Free Software Foundation, Inc.
 
 ;; Author: Tom Tromey <[email-masked]>
+;;         Daniel Hackney <[email-masked]>
 ;; Created: 10 Mar 2007
 ;; Version: 1.0.1
 ;; Keywords: tools
@@ -924,7 +925,8 @@
                    (version-list-<
                     version (package-desc-version (cadr existing-packages))))
               (setq existing-packages (cdr existing-packages))
-            (push pkg-desc (cdr existing-packages))))))))
+            (push pkg-desc (cdr existing-packages))
+            nil))))))
 
 (defun package-download-transaction (packages)
   "Download and install all the packages in PACKAGES.