From 4d73090461577032bc822f23c2d7da0db7803097 Mon Sep 17 00:00:00 2001 From: morioka Date: Tue, 12 Jan 1999 15:09:25 +0000 Subject: [PATCH] (gnus-retrieve-parsed-headers): Add new optional arguments `dependencies' and `force-new'; new implementation; call `retrieve-parsed-headers' if it is found. --- lisp/gnus-int.el | 40 +++++++++++++++++++++++++++++++++------- 1 file changed, 33 insertions(+), 7 deletions(-) diff --git a/lisp/gnus-int.el b/lisp/gnus-int.el index 4996a25..0abe781 100644 --- a/lisp/gnus-int.el +++ b/lisp/gnus-int.el @@ -284,15 +284,41 @@ If FETCH-OLD, retrieve all headers (or some subset thereof) in the group." articles (gnus-group-real-name group) (nth 1 gnus-command-method) fetch-old)))) -(defun gnus-retrieve-parsed-headers (articles group &optional fetch-old) +(defun gnus-retrieve-parsed-headers (articles group &optional fetch-old + dependencies force-new) "Request parsed-headers for ARTICLES in GROUP. If FETCH-OLD, retrieve all headers (or some subset thereof) in the group." - (if (eq (setq gnus-headers-retrieved-by - (gnus-retrieve-headers articles group fetch-old)) - 'nov) - (gnus-get-newsgroup-headers-xover - articles nil nil gnus-newsgroup-name t) - (gnus-get-newsgroup-headers))) + (unless dependencies + (setq dependencies + (save-excursion + (set-buffer gnus-summary-buffer) + gnus-newsgroup-dependencies))) + (let ((gnus-command-method (gnus-find-method-for-group group)) + headers) + (if (and gnus-use-cache (numberp (car articles))) + (setq gnus-headers-retrieved-by + (gnus-cache-retrieve-headers articles group fetch-old)) + (let ((func (gnus-get-function gnus-command-method + 'retrieve-parsed-headers 'no-error))) + (if func + (setq headers (funcall func articles dependencies + (gnus-group-real-name group) + (nth 1 gnus-command-method) fetch-old + force-new) + gnus-headers-retrieved-by (car headers) + headers (cdr headers)) + (setq gnus-headers-retrieved-by + (funcall + (gnus-get-function gnus-command-method 'retrieve-headers) + articles (gnus-group-real-name group) + (nth 1 gnus-command-method) fetch-old)) + ))) + (or headers + (if (eq gnus-headers-retrieved-by 'nov) + (gnus-get-newsgroup-headers-xover + articles nil dependencies gnus-newsgroup-name t) + (gnus-get-newsgroup-headers dependencies))) + )) (defun gnus-retrieve-articles (articles group) "Request ARTICLES in GROUP." -- 1.7.10.4