* nnmh.el (nnmh-retrieve-parsed-headers): Abolished.
* gnus-sum.el (gnus-get-newsgroup-headers-xover): Don't use
`gnus-retrieve-parsed-headers'.
(gnus-fetch-headers): Ditto.
* gnus-int.el (gnus-retrieve-parsed-headers): Abolished.
* gnus-cache.el (gnus-cache-braid-headers): Abolished.
(gnus-cache-retrieve-parsed-headers): Abolished.
2001-07-30 Katsumi Yamaoka <yamaoka@jpl.org>
+ * lisp/gnus-vers.el (gnus-revision-number): Increment to 04.
+
+ * lisp/nnmh.el (nnmh-retrieve-parsed-headers): Abolished.
+
+ * lisp/gnus-sum.el (gnus-get-newsgroup-headers-xover): Don't use
+ `gnus-retrieve-parsed-headers'.
+ (gnus-fetch-headers): Ditto.
+
+ * lisp/gnus-int.el (gnus-retrieve-parsed-headers): Abolished.
+
+ * lisp/gnus-cache.el (gnus-cache-braid-headers): Abolished.
+ (gnus-cache-retrieve-parsed-headers): Abolished.
+
+2001-07-30 Katsumi Yamaoka <yamaoka@jpl.org>
+
* lisp/nnshimbun.el (nnshimbun-request-expire-articles): Bind
`nnmail-expiry-wait-function' to nil if the group's parameter
`expiry-wait' is specified by the user or the shimbun's default
(group article headers ticked dormant unread &optional force)
(when (and (or force (not (eq gnus-use-cache 'passive)))
(numberp article)
- (> article 0)
- (vectorp headers)) ; This might be a dummy article.
+ (> article 0) ; This might be a dummy article.
+ (vectorp headers))
(let ((number article) file)
;; If this is a virtual group, we find the real group.
(when (gnus-virtual-group-p group)
cached articles))
type)))))))
-(defun gnus-cache-retrieve-parsed-headers (articles group &optional fetch-old
- dependencies force-new)
- "Retrieve the parsed-headers for ARTICLES in GROUP."
- (let ((cached
- (setq gnus-newsgroup-cached (gnus-cache-articles-in-group group))))
- (if (not cached)
- ;; No cached articles here, so we just retrieve them
- ;; the normal way.
- (let ((gnus-use-cache nil))
- (gnus-retrieve-parsed-headers articles group fetch-old
- dependencies force-new))
- (let ((uncached-articles (gnus-sorted-intersection
- (gnus-sorted-complement articles cached)
- articles))
- (cache-file (gnus-cache-file-name group ".overview")))
- (gnus-cache-braid-headers
- ;; We first retrieve all the headers that we don't have in
- ;; the cache.
- (prog1
- (let ((gnus-use-cache nil))
- (when uncached-articles
- (and articles
- (gnus-retrieve-parsed-headers
- uncached-articles group fetch-old
- dependencies))
- ))
- (gnus-cache-save-buffers))
- ;; Then we insert the cached headers.
- (cond ((not (file-exists-p cache-file))
- ;; There are no cached headers.
- )
- ((eq gnus-headers-retrieved-by 'nov)
- (with-current-buffer nntp-server-buffer
- (erase-buffer)
- (nnheader-insert-file-contents cache-file)
- (nnheader-get-newsgroup-headers-xover*
- articles nil dependencies group)
- ))
- (t
- ;; We braid HEADs.
- (nnheader-retrieve-headers-from-directory*
- cached
- (expand-file-name
- (file-name-as-directory
- (nnheader-translate-file-chars
- (if (gnus-use-long-file-name 'not-cache)
- group
- (let ((group
- (nnheader-replace-chars-in-string group ?/ ?_)))
- ;; Translate the first colon into a slash.
- (when (string-match ":" group)
- (aset group (match-beginning 0) ?/))
- (nnheader-replace-chars-in-string group ?. ?/)))
- t))
- gnus-cache-directory)
- dependencies)
- )))
- ))))
-
(defun gnus-cache-enter-article (&optional n)
"Enter the next N articles into the cache.
If not given a prefix, use the process marked articles instead.
(setq cached (cdr cached)))
(kill-buffer cache-buf)))
-(defun gnus-cache-braid-headers (headers cached-headers)
- (if cached-headers
- (if headers
- (let (cached-header hrest nhrest)
- (nconc (catch 'tag
- (while cached-headers
- (setq cached-header (car cached-headers))
- (if (< (mail-header-number cached-header)
- (mail-header-number (car headers)))
- (throw 'tag (nreverse cached-headers))
- (setq hrest headers
- nhrest (cdr hrest))
- (while (and nhrest
- (> (mail-header-number cached-header)
- (mail-header-number (car nhrest))))
- (setq hrest nhrest
- nhrest (cdr nhrest))
- )
- ;;(if nhrest
- (setcdr hrest (cons cached-header nhrest))
- ;; (setq headers
- ;; (nconc headers (list cached-header)))
- ;; (throw 'tag nil)
- ;;)
- )
- (setq cached-headers (cdr cached-headers))))
- headers))
- (nreverse cached-headers))
- headers))
-
;;;###autoload
(defun gnus-jog-cache ()
"Go through all groups and put the articles into the cache.
articles (gnus-group-real-name group)
(nth 1 gnus-command-method) 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."
- (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 headers
- (gnus-cache-retrieve-parsed-headers articles group fetch-old
- dependencies force-new))
- (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."
(let ((gnus-command-method (gnus-find-method-for-group group)))
(cons :value ("" "") regexp (repeat string))
(sexp :value nil))))
-(defcustom gnus-unread-mark ? ;Whitespace
+(defcustom gnus-unread-mark ?\ ;;;Whitespace
"*Mark used for unread articles."
:group 'gnus-summary-marks
:type 'character)
:group 'gnus-summary-marks
:type 'character)
-(defcustom gnus-no-mark ? ;Whitespace
+(defcustom gnus-no-mark ?\ ;;;Whitespace
"*Mark used for articles that have no other secondary mark."
:group 'gnus-summary-marks
:type 'character)
:group 'gnus-summary-marks
:type 'character)
-(defcustom gnus-empty-thread-mark ? ;Whitespace
+(defcustom gnus-empty-thread-mark ?\ ;;;Whitespace
"*There is no thread under the article."
:group 'gnus-summary-marks
:type 'character)
(if (or (null gnus-summary-default-score)
(<= (abs (- gnus-tmp-score gnus-summary-default-score))
gnus-summary-zcore-fuzz))
- ? ;Whitespace
+ ?\ ;;;Whitespace
(if (< gnus-tmp-score gnus-summary-default-score)
gnus-score-below-mark gnus-score-over-mark)))
(gnus-tmp-replied
(if (or (null gnus-summary-default-score)
(<= (abs (- score gnus-summary-default-score))
gnus-summary-zcore-fuzz))
- ? ;Whitespace
+ ?\ ;;;Whitespace
(if (< score gnus-summary-default-score)
gnus-score-below-mark gnus-score-over-mark))
'score))
(if (or (null gnus-summary-default-score)
(<= (abs (- gnus-tmp-score gnus-summary-default-score))
gnus-summary-zcore-fuzz))
- ? ;Whitespace
+ ?\ ;;;Whitespace
(if (< gnus-tmp-score gnus-summary-default-score)
gnus-score-below-mark gnus-score-over-mark))
gnus-tmp-replied
(let ((name (gnus-group-decoded-name gnus-newsgroup-name)))
(gnus-message 5 "Fetching headers for %s..." name)
(prog1
- ;;;!!! FIXME: temporary fix for an infloop on nnimap.
- (if (eq 'nnimap (car (gnus-find-method-for-group name)))
- (if (eq 'nov
- (setq gnus-headers-retrieved-by
- (gnus-retrieve-headers
- articles gnus-newsgroup-name
- ;; We might want to fetch old headers, but
- ;; not if there is only 1 article.
- (and (or (and
- (not (eq gnus-fetch-old-headers 'some))
- (not (numberp gnus-fetch-old-headers)))
- (> (length articles) 1))
- gnus-fetch-old-headers))))
- (gnus-get-newsgroup-headers-xover
- articles nil nil gnus-newsgroup-name t)
- (gnus-get-newsgroup-headers))
- (gnus-retrieve-parsed-headers
- articles gnus-newsgroup-name
- ;; We might want to fetch old headers, but
- ;; not if there is only 1 article.
- (and (or (and (not (eq gnus-fetch-old-headers 'some))
- (not (numberp gnus-fetch-old-headers)))
- (> (length articles) 1))
- gnus-fetch-old-headers)))
+ (if (eq 'nov
+ (setq gnus-headers-retrieved-by
+ (gnus-retrieve-headers
+ articles gnus-newsgroup-name
+ ;; We might want to fetch old headers, but
+ ;; not if there is only 1 article.
+ (and (or (and
+ (not (eq gnus-fetch-old-headers 'some))
+ (not (numberp gnus-fetch-old-headers)))
+ (> (length articles) 1))
+ gnus-fetch-old-headers))))
+ (gnus-get-newsgroup-headers-xover
+ articles nil nil gnus-newsgroup-name t)
+ (gnus-get-newsgroup-headers))
(gnus-message 5 "Fetching headers for %s...done" name))))
(defun gnus-select-newsgroup (group &optional read-all select-articles)
(let ((gnus-nov-is-evil t))
(nconc
(nreverse headers)
- ;;;!!! FIXME: temporary fix for an infloop on nnimap.
- (if (eq 'nnimap (car (gnus-find-method-for-group group)))
- (when (gnus-retrieve-headers sequence group)
- (gnus-get-newsgroup-headers))
- (gnus-retrieve-parsed-headers sequence group))))))))
+ (when (eq (gnus-retrieve-headers sequence group) 'headers)
+ (gnus-get-newsgroup-headers))))))))
(defun gnus-article-get-xrefs ()
"Fill in the Xref value in `gnus-current-headers', if necessary.
(require 'product)
(provide 'gnus-vers)
-(defconst gnus-revision-number "03"
+(defconst gnus-revision-number "04"
"Revision number for this version of gnus.")
;; Product information of this gnus.
;; (nnheader-fold-continuation-lines)
'headers))))
-(deffoo nnmh-retrieve-parsed-headers (articles
- dependencies
- &optional newsgroup server fetch-old
- force-new)
- (save-excursion
- (set-buffer nntp-server-buffer)
- (let* ((file nil)
- (number (length articles))
- (large (and (numberp nnmail-large-newsgroup)
- (> number nnmail-large-newsgroup)))
- (count 0)
- (file-name-coding-system 'binary)
- (pathname-coding-system 'binary)
- (case-fold-search t)
- ;;beg
- article
- headers header id end ref lines chars ctype in-reply-to
- (cur (current-buffer)))
- (nnmh-possibly-change-directory newsgroup server)
- ;; We don't support fetching by Message-ID.
- (nnheader-retrieve-headers-from-directory
- articles nnmh-current-directory dependencies
- fetch-old force-new large "nnmh")
- )))
-
(deffoo nnmh-open-server (server &optional defs)
(nnoo-change-server 'nnmh server defs)
(when (not (file-exists-p nnmh-directory))