Sync up with Pterodactyl Gnus v0.95.
[elisp/gnus.git-] / lisp / nnmh.el
index c8cc85b..6ee74d7 100644 (file)
@@ -1,8 +1,9 @@
 ;;; nnmh.el --- mhspool access for Gnus
-;; Copyright (C) 1995,96,97,98 Free Software Foundation, Inc.
+;; Copyright (C) 1995,96,97,98,99 Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
-;;     Masanobu UMEDA <umerin@flab.flab.fujitsu.junet>
+;;         Masanobu UMEDA <umerin@flab.flab.fujitsu.junet>
+;;         MORIOKA Tomohiko <morioka@jaist.ac.jp>
 ;; Keywords: news, mail
 
 ;; This file is part of GNU Emacs.
         ;; (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)
+          (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))
               '<))
          (cond
           (dir
+           (setq nnmh-group-alist
+                 (delq (assoc group nnmh-group-alist) nnmh-group-alist))
+           (push (list group (cons (car dir) (car (last dir))))
+                 nnmh-group-alist)
            (nnheader-report 'nnmh "Selected group %s" group)
            (nnheader-insert
             "211 %d %d %d %s\n" (length dir) (car dir)
-            (progn (while (cdr dir) (setq dir (cdr dir))) (car dir))
-            group))
+            (car (last dir)) group))
           (t
            (nnheader-report 'nnmh "Empty group %s" group)
            (nnheader-insert (format "211 0 1 0 %s\n" group))))))))))