From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.emacs.gnus.general/86050 Path: news.gmane.org!not-for-mail From: Dan Christensen Newsgroups: gmane.emacs.gnus.general Subject: Re: [PATCH 0/2] two minor fixes for new/empty nnimap group handling Date: Wed, 08 Jul 2015 22:52:04 -0400 Message-ID: <87r3oixctn.fsf@uwo.ca> References: <1435750676-710-1-git-send-email-bjorn@mork.no> <87y4itti71.fsf@uwo.ca> <878uaspts1.fsf@ericabrahamsen.net> <87io9va7f5.fsf@uwo.ca> <87zj37nuu3.fsf@ericabrahamsen.net> <877fqa728f.fsf@uwo.ca> <871tgi9jvc.fsf@ericabrahamsen.net> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Trace: ger.gmane.org 1436410371 8872 80.91.229.3 (9 Jul 2015 02:52:51 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 9 Jul 2015 02:52:51 +0000 (UTC) To: ding@gnus.org Original-X-From: ding-owner+M34285@lists.math.uh.edu Thu Jul 09 04:52:39 2015 Return-path: Envelope-to: ding-account@gmane.org Original-Received: from lists1.math.uh.edu ([129.7.128.208]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1ZD1x0-0005Tp-4J for ding-account@gmane.org; Thu, 09 Jul 2015 04:52:38 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.math.uh.edu) by lists1.math.uh.edu with smtp (Exim 4.85) (envelope-from ) id 1ZD1wh-00042u-Vk; Wed, 08 Jul 2015 21:52:20 -0500 Original-Received: from mx2.math.uh.edu ([129.7.128.33]) by lists1.math.uh.edu with esmtps (TLSv1.2:AES128-GCM-SHA256:128) (Exim 4.85) (envelope-from ) id 1ZD1wg-00042b-0W for ding@lists.math.uh.edu; Wed, 08 Jul 2015 21:52:18 -0500 Original-Received: from quimby.gnus.org ([80.91.231.51]) by mx2.math.uh.edu with esmtps (TLSv1.2:DHE-RSA-AES128-SHA:128) (Exim 4.84) (envelope-from ) id 1ZD1we-0004WC-No for ding@lists.math.uh.edu; Wed, 08 Jul 2015 21:52:17 -0500 Original-Received: from plane.gmane.org ([80.91.229.3]) by quimby.gnus.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:256) (Exim 4.80) (envelope-from ) id 1ZD1wd-0004j3-EQ for ding@gnus.org; Thu, 09 Jul 2015 04:52:15 +0200 Original-Received: from list by plane.gmane.org with local (Exim 4.69) (envelope-from ) id 1ZD1wa-0005FN-MV for ding@gnus.org; Thu, 09 Jul 2015 04:52:12 +0200 Original-Received: from cpe84948c589861-cm84948c589860.cpe.net.cable.rogers.com ([99.255.115.45]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Thu, 09 Jul 2015 04:52:12 +0200 Original-Received: from jdc by cpe84948c589861-cm84948c589860.cpe.net.cable.rogers.com with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Thu, 09 Jul 2015 04:52:12 +0200 X-Injected-Via-Gmane: http://gmane.org/ Mail-Followup-To: ding@gnus.org Original-Lines: 71 Original-X-Complaints-To: usenet@ger.gmane.org X-Gmane-NNTP-Posting-Host: cpe84948c589861-cm84948c589860.cpe.net.cable.rogers.com User-Agent: Gnus/5.130014 (Ma Gnus v0.14) Emacs/24.3 (gnu/linux) Mail-Copies-To: never Cancel-Lock: sha1:Hhv7BYWvKDWerp2VZrR5kQ21bNc= X-Spam-Score: -3.6 (---) List-ID: Precedence: bulk Xref: news.gmane.org gmane.emacs.gnus.general:86050 Archived-At: Eric Abrahamsen writes: > I pushed a small change to `nnimap-request-group' yesterday that would > have prevented the first patch from applying cleanly -- sorry, I should > have mentioned you'd need to pull again first. No problem! > I thought my changes to the group creation process would have ensured > that all new groups had an "active" entry, but I guess not. > > I'd like to take one more whack at this, and then I'm going to give up > and just put Bjørn's guard in. Would you mind removing Bjørn's patches, > pulling once more, and trying these two? I just tried your latest patches against the latest git version. As before, the problem with info being nil is handled, but active is still nil and I get the backtrace below. If I add Bjørn's line + (or active (setq active (cons 0 0))) then the error goes away, but Gnus thinks that the group is empty (not surprisingly), so this isn't really a solution. I only update Gnus periodically. I had no trouble with nnmairix with the 2014/10/10 version, but when I next updated on 2015/5/4 the problem started. Would it be helpful to bisect? Based on "git log nnimap.el", there aren't many relevant changes, and the ones most likely responsible are (from newer to older): commit 10c00cefb79ea94c49a659b1f063218152e9b379 commit 04550947fe524054fdc5626ff7b342baca0c18d9 commit 1b4d1bd1ca7a32d8f9cb7c1ffe02af08f2c4b2c6 commit 062698a34df9fd679229f7dea14cfaaf408f87de commit c2b17919646859aef0e1d329e052dadbbf042eca commit 447c56af7cb2afac14a0f3ed23f85d907c443a5d 447c5 looks especially relevant, but seems to have been buggy since later ones made fixes. Could nnmairix be adjusted to make an extra call at some point to activate the appropriate group? Maybe it needs to call nnimap-request-group-scan instead of nnimap-request-group, now that 447c5 changed the behaviour of the latter? Anything else I can do to help get this working? Dan Debugger entered--Lisp error: (wrong-type-argument number-or-marker-p nil) -(nil nil) (format "211 %d %d %d %S\n" (- (cdr active) (car active)) (car active) (cdr active) group) (insert (format "211 %d %d %d %S\n" (- (cdr active) (car active)) (car active) (cdr active) group)) (progn (when (or (not dont-check) (not (setq active (nth 2 (assoc group nnimap-current-infos))))) (let ((sequences (nnimap-retrieve-group-data-early server info))) (nnimap-finish-retrieve-group-infos server info sequences t) (setq active (nth 2 (assoc group nnimap-current-infos))))) (erase-buffer) (message "%s" active) (insert (format "211 %d %d %d %S\n" (- (cdr active) (car active)) (car active) (cdr active) group)) t) (if result (progn (when (or (not dont-check) (not (setq active (nth 2 (assoc group nnimap-current-infos))))) (let ((sequences (nnimap-retrieve-group-data-early server info))) (nnimap-finish-retrieve-group-infos server info sequences t) (setq active (nth 2 (assoc group nnimap-current-infos))))) (erase-buffer) (message "%s" active) (insert (format "211 %d %d %d %S\n" (- (cdr active) (car active)) (car active) (cdr active) group)) t)) (when result (when (or (not dont-check) (not (setq active (nth 2 (assoc group nnimap-current-infos))))) (let ((sequences (nnimap-retrieve-group-data-early server info))) (nnimap-finish-retrieve-group-infos server info sequences t) (setq active (nth 2 (assoc group nnimap-current-infos))))) (erase-buffer) (message "%s" active) (insert (format "211 %d %d %d %S\n" (- (cdr active) (car active)) (car active) (cdr active) group)) t) (save-current-buffer (set-buffer nntp-server-buffer) (when result (when (or (not dont-check) (not (setq active (nth 2 (assoc group nnimap-current-infos))))) (let ((sequences (nnimap-retrieve-group-data-early server info))) (nnimap-finish-retrieve-group-infos server info sequences t) (setq active (nth 2 (assoc group nnimap-current-infos))))) (erase-buffer) (message "%s" active) (insert (format "211 %d %d %d %S\n" (- (cdr active) (car active)) (car active) (cdr active) group)) t)) (with-current-buffer nntp-server-buffer (when result (when (or (not dont-check) (not (setq active (nth 2 (assoc group nnimap-current-infos))))) (let ((sequences (nnimap-retrieve-group-data-early server info))) (nnimap-finish-retrieve-group-infos server info sequences t) (setq active (nth 2 (assoc group nnimap-current-infos))))) (erase-buffer) (message "%s" active) (insert (format "211 %d %d %d %S\n" (- (cdr active) (car active)) (car active) (cdr active) group)) t)) (let ((result (nnimap-change-group (if (and (not dont-check) (assoc group nnimap-current-infos)) nil group) server)) (info (when info (list info))) active) (with-current-buffer nntp-server-buffer (when result (when (or (not dont-check) (not (setq active (nth 2 ...)))) (let ((sequences (nnimap-retrieve-group-data-early server info))) (nnimap-finish-retrieve-group-infos server info sequences t) (setq active (nth 2 (assoc group nnimap-current-infos))))) (erase-buffer) (message "%s" active) (insert (format "211 %d %d %d %S\n" (- (cdr active) (car active)) (car active) (cdr active) group)) t))) nnimap-request-group("zz_mairix-nnmairixsearch-1" "rocky") apply(nnimap-request-group ("zz_mairix-nnmairixsearch-1" "rocky")) nnmairix-call-backend("request-group" "zz_mairix-nnmairixsearch-1" "rocky") nnmairix-request-group-with-article-number-correction("zz_mairix-nnmairixsearch-1" "nnmairix+mairixserver:nnmairixsearch") nnmairix-request-group("nnmairixsearch" "mairixserver" t ("nnmairix+mairixserver:nnmairixsearch" 2 nil nil (nnmairix "mairixserver" (nnmairix-backend nnimap) (nnmairix-backend-server "rocky") (nnmairix-mairix-command "mairix") (nnmairix-hidden-folders t) (nnmairix-default-group "nnmairixsearch")) ((query "test" "d:1w-") (numcorr nil 47850 47888) (display) (folder . "zz_mairix-nnmairixsearch-1") (threads)))) gnus-request-group("nnmairix+mairixserver:nnmairixsearch" t nil ("nnmairix+mairixserver:nnmairixsearch" 2 nil nil (nnmairix "mairixserver" (nnmairix-backend nnimap) (nnmairix-backend-server "rocky") (nnmairix-mairix-command "mairix") (nnmairix-hidden-folders t) (nnmairix-default-group "nnmairixsearch")) ((query "test" "d:1w-") (numcorr nil 47850 47888) (display) (folder . "zz_mairix-nnmairixsearch-1") (threads)))) gnus-select-newsgroup("nnmairix+mairixserver:nnmairixsearch" nil nil) gnus-summary-read-group-1("nnmairix+mairixserver:nnmairixsearch" nil nil nil nil nil) gnus-summary-read-group("nnmairix+mairixserver:nnmairixsearch" nil nil nil nil nil nil) gnus-group-read-group(nil nil nil) gnus-topic-read-group(nil) call-interactively(gnus-topic-read-group nil nil)