From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.emacs.gnus.general/79463 Path: news.gmane.org!not-for-mail From: Dave Abrahams Newsgroups: gmane.emacs.gnus.general Subject: NNIR debugging Date: Wed, 13 Jul 2011 17:24:17 -0400 Message-ID: NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: dough.gmane.org 1310592287 14432 80.91.229.12 (13 Jul 2011 21:24:47 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Wed, 13 Jul 2011 21:24:47 +0000 (UTC) To: ding@gnus.org Original-X-From: ding-owner+M27759@lists.math.uh.edu Wed Jul 13 23:24:43 2011 Return-path: Envelope-to: ding-account@gmane.org Original-Received: from util0.math.uh.edu ([129.7.128.18]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1Qh6vD-0007ur-0O for ding-account@gmane.org; Wed, 13 Jul 2011 23:24:43 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.math.uh.edu) by util0.math.uh.edu with smtp (Exim 4.63) (envelope-from ) id 1Qh6v4-00012Z-8a; Wed, 13 Jul 2011 16:24:34 -0500 Original-Received: from mx2.math.uh.edu ([129.7.128.33]) by util0.math.uh.edu with esmtps (TLSv1:AES256-SHA:256) (Exim 4.63) (envelope-from ) id 1Qh6v2-00012I-Sl for ding@lists.math.uh.edu; Wed, 13 Jul 2011 16:24:32 -0500 Original-Received: from quimby.gnus.org ([80.91.231.51]) by mx2.math.uh.edu with esmtps (TLSv1:AES256-SHA:256) (Exim 4.76) (envelope-from ) id 1Qh6uy-0000lK-FE for ding@lists.math.uh.edu; Wed, 13 Jul 2011 16:24:32 -0500 Original-Received: from mail-vx0-f172.google.com ([209.85.220.172]) by quimby.gnus.org with esmtp (Exim 4.72) (envelope-from ) id 1Qh6uw-00089N-9I for ding@gnus.org; Wed, 13 Jul 2011 23:24:26 +0200 Original-Received: by vxi40 with SMTP id 40so7418543vxi.17 for ; Wed, 13 Jul 2011 14:24:19 -0700 (PDT) Original-Received: by 10.52.180.198 with SMTP id dq6mr1813970vdc.103.1310592259711; Wed, 13 Jul 2011 14:24:19 -0700 (PDT) Original-Received: from pluto.local (207-172-223-249.c3-0.smr-ubr3.sbo-smr.ma.static.cable.rcn.com [207.172.223.249]) by mx.google.com with ESMTPS id d3sm5631474vdg.36.2011.07.13.14.24.18 (version=TLSv1/SSLv3 cipher=OTHER); Wed, 13 Jul 2011 14:24:19 -0700 (PDT) Original-Received: by pluto.local (Postfix, from userid 501) id EBA7C7364C7; Wed, 13 Jul 2011 17:24:17 -0400 (EDT) User-Agent: Gnus/5.110018 (No Gnus v0.18) Emacs/23.3 (darwin) X-Spam-Score: -2.9 (--) List-ID: Precedence: bulk Xref: news.gmane.org gmane.emacs.gnus.general:79463 Archived-At: nnir is having some trouble finding an article, so I thought I'd go investigate. my gnus-refer-article-methods is set to ((nnir)) I set a breakpoint in gnus-read-header at line 12325 just below the comment ;; We have to really fetch the header to this article. this is where it comes down to brass tacks, I presume. gnus is just about to execute: (when (setq where (gnus-request-head id group)) ... now `group' is not anything having to do with the nnir group in which Gnus should actually search. It is simply the name of the group from which I invoked this command. `nntp-server-buffer' refers to an *empty* buffer (no contents). That doesn't seem right. Whose job is it to have filled up that buffer with something at this point? I don't know what code populates that buffer, but it looks like gnus-override-method is getting set up without any change in that buffer, and that doesn't seem right neither (I'm guessing some encapsulation is needed). My stack backtrace is below. At this point, I could really use some help. Anyone? (setq where (edebug-after (edebug-before 47) 50 (gnus-request-head ... ...))) (if (edebug-after (edebug-before 46) 51 (setq where ...)) (progn (edebug-after ... 53 ...) (edebug-after ... 57 ...) (edebug-after ... 59 ...) (edebug-after ... 63 ...) (edebug-after ... 65 ...) (edebug-after ... 85 ...) (edebug-after ... 87 ...))) (when (edebug-after (edebug-before 46) 51 (setq where ...)) (edebug-after (edebug-before 52) 53 (nnheader-fold-continuation-lines)) (edebug-after (edebug-before 54) 57 (goto-char ...)) (edebug-after (edebug-before 58) 59 (insert ".\n")) (edebug-after (edebug-before 60) 63 (goto-char ...)) (edebug-after (edebug-before 64) 65 (insert "211 ")) (edebug-after (edebug-before 66) 85 (princ ... ...)) (edebug-after (edebug-before 86) 87 (insert " Article retrieved.\n"))) (save-current-buffer (set-buffer (edebug-after 0 44 nntp-server-buffer)) (edebug-after (edebug-before 45) 88 (when ... ... ... ... ... ... ... ...)) (edebug-after (edebug-before 89) 158 (if ... nil ... ...))) (with-current-buffer (edebug-after 0 44 nntp-server-buffer) (edebug-after (edebug-before 45) 88 (when ... ... ... ... ... ... ... ...)) (edebug-after (edebug-before 89) 158 (if ... nil ... ...))) (if (edebug-after (edebug-before 35) 41 (and ... ...)) (edebug-after 0 42 header) (edebug-after (edebug-before 43) 159 (with-current-buffer ... ... ...))) (let ((group ...) (gnus-override-method ...) where) (edebug-after (edebug-before 14) 33 (if ... ... ...)) (edebug-after (edebug-before 34) 160 (if ... ... ...))) gnus-read-header("") (cond ((and old-header use-old-header) old-header) ((and ... ...) (gnus-number-to-header id)) (t (gnus-read-header id))) (let* ((line ...) (old-header ...) (header ...) (number ...) d) (when header (when ... ...) (let ... ...) (when old-header ...) (setq gnus-newsgroup-sparse ...) (setq gnus-newsgroup-ancient ...) (push number gnus-newsgroup-limit) (gnus-rebuild-thread ... line) (gnus-summary-goto-subject number nil t)) (when (and ... ...) (when ... ...) (when ... ...) (setq gnus-newsgroup-unselected ...)) (and header (mail-header-number header))) gnus-summary-insert-subject("") (setq number (gnus-summary-insert-subject message-id)) (and (gnus-check-server gnus-override-method) (setq number (gnus-summary-insert-subject message-id))) (if (and (gnus-check-server gnus-override-method) (setq number ...)) (progn (gnus-summary-select-article nil nil nil number) (throw ... t))) (when (and (gnus-check-server gnus-override-method) (setq number ...)) (gnus-summary-select-article nil nil nil number) (throw (quote found) t)) (while --cl-dolist-temp-- (setq gnus-override-method (car --cl-dolist-temp--)) (when (and ... ...) (gnus-summary-select-article nil nil nil number) (throw ... t)) (setq --cl-dolist-temp-- (cdr --cl-dolist-temp--))) (let ((--cl-dolist-temp-- ...) gnus-override-method) (while --cl-dolist-temp-- (setq gnus-override-method ...) (when ... ... ...) (setq --cl-dolist-temp-- ...)) nil) (catch (quote --cl-block-nil--) (let (... gnus-override-method) (while --cl-dolist-temp-- ... ... ...) nil)) (cl-block-wrapper (catch (quote --cl-block-nil--) (let ... ... nil))) (block nil (let (... gnus-override-method) (while --cl-dolist-temp-- ... ... ...) nil)) (dolist (gnus-override-method (gnus-refer-article-methods)) (when (and ... ...) (gnus-summary-select-article nil nil nil number) (throw ... t))) (catch (quote found) (dolist (gnus-override-method ...) (when ... ... ...)) (gnus-message 3 "Couldn't fetch article %s" message-id)) (cond ((and header ...) (prog1 ... ...)) (t (catch ... ... ...))) (let* ((header ...) (sparse ...) number) (cond (... ...) (t ...))) (progn (setq message-id (gnus-replace-in-string message-id " " "")) (unless (string-match "^<" message-id) (setq message-id ...)) (unless (string-match ">$" message-id) (setq message-id ...)) (unless (string-match "@" message-id) (setq message-id ...)) (let* (... ... number) (cond ... ...))) (if (and (stringp message-id) (not ...)) (progn (setq message-id ...) (unless ... ...) (unless ... ...) (unless ... ...) (let* ... ...))) (when (and (stringp message-id) (not ...)) (setq message-id (gnus-replace-in-string message-id " " "")) (unless (string-match "^<" message-id) (setq message-id ...)) (unless (string-match ">$" message-id) (setq message-id ...)) (unless (string-match "@" message-id) (setq message-id ...)) (let* (... ... number) (cond ... ...))) gnus-summary-refer-article("") (if (gnus-summary-refer-article (gnus-parent-id ref skip)) nil (gnus-message 1 "Couldn't find parent")) (unless (gnus-summary-refer-article (gnus-parent-id ref skip)) (gnus-message 1 "Couldn't find parent")) (if (and ref (not ...)) (unless (gnus-summary-refer-article ...) (gnus-message 1 "Couldn't find parent")) (gnus-message 1 "No references in article %d" (gnus-summary-article-number)) (setq error t)) (while (and (> n 0) (not error)) (setq header (gnus-summary-article-header)) (if (and ... ...) (with-current-buffer gnus-original-article-buffer ... ... ...) (setq ref ...)) (if (and ref ...) (unless ... ...) (gnus-message 1 "No references in article %d" ...) (setq error t)) (decf n)) (let ((skip 1) error header ref) (when (not ...) (setq skip ... n 1)) (while (and ... ...) (setq header ...) (if ... ... ...) (if ... ... ... ...) (decf n)) (gnus-summary-position-point) n) gnus-summary-refer-parent-article(1) call-interactively(gnus-summary-refer-parent-article nil nil) -- Dave Abrahams BoostPro Computing http://www.boostpro.com