Gnus development mailing list
 help / color / mirror / Atom feed
From: Dave Abrahams <dave@boostpro.com>
To: ding@gnus.org
Subject: NNIR debugging
Date: Wed, 13 Jul 2011 17:24:17 -0400	[thread overview]
Message-ID: <m27h7lvpq6.fsf@pluto.luannocracy.com> (raw)


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("<m2tybg7605.wl%dave@boostpro.com>")
  (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("<m2tybg7605.wl%dave@boostpro.com>")
  (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("<m2tybg7605.wl%dave@boostpro.com>")
  (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




             reply	other threads:[~2011-07-13 21:24 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-07-13 21:24 Dave Abrahams [this message]
2011-07-19 16:55 ` Lars Magne Ingebrigtsen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=m27h7lvpq6.fsf@pluto.luannocracy.com \
    --to=dave@boostpro.com \
    --cc=ding@gnus.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).