Gnus development mailing list
 help / color / mirror / Atom feed
* NNIR debugging
@ 2011-07-13 21:24 Dave Abrahams
  2011-07-19 16:55 ` Lars Magne Ingebrigtsen
  0 siblings, 1 reply; 2+ messages in thread
From: Dave Abrahams @ 2011-07-13 21:24 UTC (permalink / raw)
  To: ding


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




^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: NNIR debugging
  2011-07-13 21:24 NNIR debugging Dave Abrahams
@ 2011-07-19 16:55 ` Lars Magne Ingebrigtsen
  0 siblings, 0 replies; 2+ messages in thread
From: Lars Magne Ingebrigtsen @ 2011-07-19 16:55 UTC (permalink / raw)
  To: ding

Dave Abrahams <dave@boostpro.com> writes:

> `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?

The backend function that was called with -request-article should have
put some data in there if the request was successful...

-- 
(domestic pets only, the antidote for overdose, milk.)
  bloggy blog http://lars.ingebrigtsen.no/




^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2011-07-19 16:55 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-07-13 21:24 NNIR debugging Dave Abrahams
2011-07-19 16:55 ` Lars Magne Ingebrigtsen

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).