GNU bug report logs - #14718
24.3.50; Endless loop in "package-read-all-archive-contents"

Previous Next

Package: emacs;

Reported by: Sebastian Wiesner <lunaryorn <at> gmail.com>

Date: Tue, 25 Jun 2013 20:20:05 UTC

Severity: normal

Found in version 24.3.50

Done: Glenn Morris <rgm <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


Message #8 received at 14718 <at> debbugs.gnu.org (full text, mbox):

From: Stefan Monnier <monnier <at> iro.umontreal.ca>
To: Sebastian Wiesner <lunaryorn <at> gmail.com>
Cc: 14718 <at> debbugs.gnu.org
Subject: Re: bug#14718: 24.3.50;
 Endless loop in "package-read-all-archive-contents"
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  <monnier <at> iro.umontreal.ca>
+
+	* emacs-lisp/package.el (package--add-to-archive-contents): Add missing
+	nil terminate the loop (bug#14718).
+
 2013-06-25  Stefan Monnier  <monnier <at> iro.umontreal.ca>
 
 	* 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 <tromey <at> redhat.com>
+;;         Daniel Hackney <dan <at> haxney.org>
 ;; 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.





This bug report was last modified 11 years and 323 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.