GNU bug report logs - #12265
nnimap-find-article-by-message-id mis-using nnimap-change-group

Previous Next

Package: gnus;

Reported by: Dave Abrahams <dave <at> boostpro.com>

Date: Thu, 23 Aug 2012 18:07:02 UTC

Severity: normal

Tags: fixed

Found in version 5.130006

Fixed in version 24.3

Done: Lars Ingebrigtsen <larsi <at> gnus.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 12265 in the body.
You can then email your comments to 12265 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bugs <at> gnus.org:
bug#12265; Package gnus. (Thu, 23 Aug 2012 18:07:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Dave Abrahams <dave <at> boostpro.com>:
New bug report received and forwarded. Copy sent to bugs <at> gnus.org. (Thu, 23 Aug 2012 18:07:02 GMT) Full text and rfc822 format available.

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

From: Dave Abrahams <dave <at> boostpro.com>
To: submit <at> debbugs.gnu.org (The Gnus Bugfixing Girls + Boys)
Cc: julien <at> danjou.info
Subject: nnimap-find-article-by-message-id mis-using nnimap-change-group
Date: Thu, 23 Aug 2012 11:06:15 -0700

Backtrace attached below.

Preliminary analysis: 

  nnimap-find-article-by-message-id calls nnimap-change-group and
  attempts to use its result as a list.  nnimap-change-group has no
  documented result (please fix!) but it can return t and it's been that
  way for a long time.

I haven't done a more complete analysis, but git blame suggests the
problematic commit is:

  commit ac8ce21091b89a7a05ad821854f4d3e7ff35a394
  Author: Julien Danjou <julien <at> danjou.info>
  Date:   Thu Jun 14 10:09:04 2012 +0200

      Add recent argument to nnimap-find-article-by-message-id

      Signed-off-by: Julien Danjou <julien <at> danjou.info>


--8<---------------cut here---------------start------------->8---
Debugger entered--Lisp error: (wrong-type-argument listp t)
  cdr(t)
  (let ((--cl-dolist-temp-- (cdr (nnimap-change-group group server nil t))) result) (while --cl-dolist-temp-- (setq result (car --cl-dolist-temp--)) (when (equal "EXISTS" (cadr result)) (throw (quote found) (car result))) (setq --cl-dolist-temp-- (cdr --cl-dolist-temp--))))
  (catch (quote --cl-block-nil--) (let ((--cl-dolist-temp-- (cdr (nnimap-change-group group server nil t))) result) (while --cl-dolist-temp-- (setq result (car --cl-dolist-temp--)) (when (equal "EXISTS" (cadr result)) (throw (quote found) (car result))) (setq --cl-dolist-temp-- (cdr --cl-dolist-temp--)))))
  (cl-block-wrapper (catch (quote --cl-block-nil--) (let ((--cl-dolist-temp-- (cdr (nnimap-change-group group server nil t))) result) (while --cl-dolist-temp-- (setq result (car --cl-dolist-temp--)) (when (equal "EXISTS" (cadr result)) (throw (quote found) (car result))) (setq --cl-dolist-temp-- (cdr --cl-dolist-temp--))))))
  (block nil (let ((--cl-dolist-temp-- (cdr (nnimap-change-group group server nil t))) result) (while --cl-dolist-temp-- (setq result (car --cl-dolist-temp--)) (when (equal "EXISTS" (cadr result)) (throw (quote found) (car result))) (setq --cl-dolist-temp-- (cdr --cl-dolist-temp--)))))
  (dolist (result (cdr (nnimap-change-group group server nil t))) (when (equal "EXISTS" (cadr result)) (throw (quote found) (car result))))
  (catch (quote found) (dolist (result (cdr (nnimap-change-group group server nil t))) (when (equal "EXISTS" (cadr result)) (throw (quote found) (car result)))))
  (let* ((number-of-article (catch (quote found) (dolist (result (cdr (nnimap-change-group group server nil t))) (when (equal "EXISTS" (cadr result)) (throw (quote found) (car result)))))) (sequence (nnimap-send-command "UID SEARCH%s HEADER Message-Id %S" (if (and limit number-of-article) (format " %s:*" (- (string-to-number number-of-article) limit -1)) "") message-id))) (when (nnimap-wait-for-response sequence) (let ((article (car (last (cdr ...))))) (if article (string-to-number article) (when (and limit number-of-article) (nnimap-find-article-by-message-id group server message-id))))))
  (save-current-buffer (set-buffer (nnimap-buffer)) (erase-buffer) (let* ((number-of-article (catch (quote found) (dolist (result (cdr ...)) (when (equal "EXISTS" ...) (throw ... ...))))) (sequence (nnimap-send-command "UID SEARCH%s HEADER Message-Id %S" (if (and limit number-of-article) (format " %s:*" (- ... limit -1)) "") message-id))) (when (nnimap-wait-for-response sequence) (let ((article (car (last ...)))) (if article (string-to-number article) (when (and limit number-of-article) (nnimap-find-article-by-message-id group server message-id)))))))
  (with-current-buffer (nnimap-buffer) (erase-buffer) (let* ((number-of-article (catch (quote found) (dolist (result (cdr ...)) (when (equal "EXISTS" ...) (throw ... ...))))) (sequence (nnimap-send-command "UID SEARCH%s HEADER Message-Id %S" (if (and limit number-of-article) (format " %s:*" (- ... limit -1)) "") message-id))) (when (nnimap-wait-for-response sequence) (let ((article (car (last ...)))) (if article (string-to-number article) (when (and limit number-of-article) (nnimap-find-article-by-message-id group server message-id)))))))
  nnimap-find-article-by-message-id(nil "LocalIMAP" "<m21uixv9m8.fsf <at> boostpro.com>")
  nnimap-request-head("<m21uixv9m8.fsf <at> boostpro.com>" nil "LocalIMAP")
  gnus-request-head("<m21uixv9m8.fsf <at> boostpro.com>" "INBOX")
  gnus-read-header("<m21uixv9m8.fsf <at> boostpro.com>")
  gnus-summary-insert-subject("<m21uixv9m8.fsf <at> boostpro.com>")
  byte-code("\304 \305.\211.\203-.	@.\306!\203&.\307\n!\211.\203&.\310\305\211\211$\210\311\312\313\"\210	A\211.\204	.*\314\315\316\n#\207" [gnus-override-method --cl-dolist-temp-- message-id number gnus-refer-article-methods nil gnus-check-server gnus-summary-insert-subject gnus-summary-select-article throw found t gnus-message 3 "Couldn't fetch article %s"] 6)
  gnus-summary-refer-article("<m21uixv9m8.fsf <at> boostpro.com>")
  gnus-summary-refer-parent-article(1)
  call-interactively(gnus-summary-refer-parent-article nil nil)
--8<---------------cut here---------------end--------------->8---


Ma Gnus v0.6
GNU Emacs 24.1.1 (x86_64-apple-darwin11.4.0, Carbon Version 1.6.0 AppKit 1138.47)
 of 2012-06-27 on pluto.luannocracy.com

-- 
Dave Abrahams
BoostPro Computing                  Software Development        Training
http://www.boostpro.com             Clang/LLVM/EDG Compilers  C++  Boost





Information forwarded to bugs <at> gnus.org:
bug#12265; Package gnus. (Wed, 05 Sep 2012 17:33:02 GMT) Full text and rfc822 format available.

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

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Dave Abrahams <dave <at> boostpro.com>
Cc: julien <at> danjou.info, 12265 <at> debbugs.gnu.org
Subject: Re: bug#12265: nnimap-find-article-by-message-id mis-using
	nnimap-change-group
Date: Wed, 05 Sep 2012 19:31:51 +0200
Dave Abrahams <dave <at> boostpro.com> writes:

> Backtrace attached below.
>
> Preliminary analysis: 
>
>   nnimap-find-article-by-message-id calls nnimap-change-group and
>   attempts to use its result as a list.  nnimap-change-group has no
>   documented result (please fix!) but it can return t and it's been that
>   way for a long time.

You seem to have fixed this one, too.  :-)

-- 
(domestic pets only, the antidote for overdose, milk.)
  http://lars.ingebrigtsen.no  *  Lars Magne Ingebrigtsen




Added tag(s) fixed. Request was from Lars Ingebrigtsen <larsi <at> gnus.org> to control <at> debbugs.gnu.org. (Wed, 05 Sep 2012 17:33:02 GMT) Full text and rfc822 format available.

bug marked as fixed in version 24.3, send any further explanations to 12265 <at> debbugs.gnu.org and Dave Abrahams <dave <at> boostpro.com> Request was from Lars Ingebrigtsen <larsi <at> gnus.org> to control <at> debbugs.gnu.org. (Wed, 05 Sep 2012 17:33:02 GMT) Full text and rfc822 format available.

Information forwarded to bugs <at> gnus.org:
bug#12265; Package gnus. (Wed, 05 Sep 2012 19:44:02 GMT) Full text and rfc822 format available.

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

From: Dave Abrahams <dave <at> boostpro.com>
To: Lars Ingebrigtsen <larsi <at> gnus.org>
Cc: julien <at> danjou.info, 12265 <at> debbugs.gnu.org
Subject: Re: bug#12265: nnimap-find-article-by-message-id mis-using
	nnimap-change-group
Date: Wed, 05 Sep 2012 12:43:42 -0700
on Wed Sep 05 2012, Lars Ingebrigtsen <larsi-AT-gnus.org> wrote:

> You seem to have fixed this one, too.  :-)

Yes.

-- 
Dave Abrahams
BoostPro Computing                  Software Development        Training
http://www.boostpro.com             Clang/LLVM/EDG Compilers  C++  Boost




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Thu, 04 Oct 2012 11:24:05 GMT) Full text and rfc822 format available.

This bug report was last modified 12 years and 267 days ago.

Previous Next


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