This commit was generated by cvs2svn to compensate for changes in r3784,
[elisp/gnus.git-] / lisp / nnultimate.el
index b1962ac..bf8fcb9 100644 (file)
@@ -1,5 +1,5 @@
 ;;; nnultimate.el --- interfacing with the Ultimate Bulletin Board system
-;; Copyright (C) 1999 Free Software Foundation, Inc.
+;; Copyright (C) 1999, 2000 Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
 ;; Keywords: news
 (require 'gnus)
 (require 'nnmail)
 (require 'mm-util)
-(require 'nnweb)
 (eval-when-compile
   (ignore-errors
-    (require 'w3)
-    (require 'url)
-    (require 'w3-forms)))
+    (require 'nnweb)))
 ;; Report failure to find w3 at load time if appropriate.
-(eval '(progn
-        (require 'w3)
-        (require 'url)
-        (require 'w3-forms)))
+(eval '(require 'nnweb))
 
 (nnoo-declare nnultimate)
 
@@ -88,7 +82,8 @@
       (while (and (setq article (car articles))
                  map)
        (while (and map
-                   (> article (caar map)))
+                   (or (> article (caar map))
+                       (< (cadar map) (caar map))))
          (pop map))
        (when (setq mmap (car map))
          (setq farticle -1)
                                      "-" (number-to-string current-page)
                                      (match-string 0 href))))
              (goto-char (point-min))
-             (setq contents (w3-parse-buffer (current-buffer)))
+             (setq contents
+                   (ignore-errors (w3-parse-buffer (current-buffer))))
              (setq table (nnultimate-find-forum-table contents))
              (setq string (mapconcat 'identity (nnweb-text table) ""))
              (when (string-match "topic is \\([0-9]\\) pages" string)
            ;;(setq total-contents (nreverse total-contents))
            (dolist (art (cdr elem))
              (if (not (nth (1- (cdr art)) total-contents))
-                 ();(debug)
+                 ()                    ;(debug)
                (push (list (car art)
                            (nth (1- (cdr art)) total-contents)
                            subject)
                (setq art (1+ (string-to-number (car artlist)))))
              (pop artlist))
            (setq garticles art))
-         (string-match "/\\([0-9]+\\).html" href)
-         (setq topic (string-to-number (match-string 1 href)))
-         (if (setq tinfo (assq topic topics))
-             (progn
-               (setq old-max (cadr tinfo))
-               (setcar (cdr tinfo) garticles))
-           (setq old-max 0)
-           (push (list topic garticles subject href) topics)
-           (setcar (nthcdr 4 entry) topics))
-         (when (not (= old-max garticles))
-           (setq inc (- garticles old-max))
-           (setq mapping (nconc mapping
-                                (list
-                                 (list
-                                  old-total (1- (incf old-total inc))
-                                  topic (1+ old-max)))))
-           (incf old-max inc)
-           (setcar (nthcdr 5 entry) mapping)
-           (setcar (nthcdr 6 entry) old-total)))))
+         (when garticles
+           (string-match "/\\([0-9]+\\).html" href)
+           (setq topic (string-to-number (match-string 1 href)))
+           (if (setq tinfo (assq topic topics))
+               (progn
+                 (setq old-max (cadr tinfo))
+                 (setcar (cdr tinfo) garticles))
+             (setq old-max 0)
+             (push (list topic garticles subject href) topics)
+             (setcar (nthcdr 4 entry) topics))
+           (when (not (= old-max garticles))
+             (setq inc (- garticles old-max))
+             (setq mapping (nconc mapping
+                                  (list
+                                   (list
+                                    old-total (1- (incf old-total inc))
+                                    topic (1+ old-max)))))
+             (incf old-max inc)
+             (setcar (nthcdr 5 entry) mapping)
+             (setcar (nthcdr 6 entry) old-total))))))
     (setcar (nthcdr 7 entry) current-time)
     (setcar (nthcdr 1 entry) (1- old-total))
     (nnultimate-write-groups)
     (nnultimate-open-server server))
   (unless nnultimate-groups-alist
     (nnultimate-read-groups)
-  (setq nnultimate-groups (cdr (assoc nnultimate-address
-                                     nnultimate-groups-alist)))))
+    (setq nnultimate-groups (cdr (assoc nnultimate-address
+                                       nnultimate-groups-alist)))))
 
 (deffoo nnultimate-open-server (server &optional defs connectionless)
   (nnheader-init-server-buffer)
          case-fold-search)
       (when (and href (string-match
                       "postings\\|forumdisplay\\|Forum[0-9]+/HTML\\|getbio"
-                                   href))
+                      href))
        t))))
 
 (provide 'nnultimate)
 
+;; Local Variables:
+;; coding: iso-8859-1
+;; End:
+
 ;;; nnultimate.el ends here