*** empty log message ***
authorLars Magne Ingebrigtsen <larsi@gnus.org>
Tue, 4 Mar 1997 21:48:57 +0000 (21:48 +0000)
committerLars Magne Ingebrigtsen <larsi@gnus.org>
Tue, 4 Mar 1997 21:48:57 +0000 (21:48 +0000)
16 files changed:
lisp/ChangeLog
lisp/gnus-async.el
lisp/gnus-demon.el
lisp/gnus-group.el
lisp/gnus-load.el
lisp/gnus-msg.el
lisp/gnus-salt.el
lisp/gnus-sum.el
lisp/gnus-topic.el
lisp/gnus.el
lisp/message.el
lisp/nnheader.el
lisp/nnheaderxm.el
lisp/nnmail.el
lisp/nnweb.el
texi/gnus.texi

index f3f9870..d862941 100644 (file)
@@ -1,3 +1,66 @@
+Wed Aug 28 02:09:20 1996  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * nnweb.el (nnweb-dejanews-create-mapping): Would just fetch the
+       first 100 hits.
+       (nnweb-close-group): Set file name to nil before killing.
+       (nnweb-altavista-create-mapping): Fetch the required number of
+       articles. 
+
+       * gnus-group.el (gnus-group-read-ephemeral-group): Don't call the
+       activation several times.
+
+       * gnus-sum.el (gnus-summary-enter-digest-group): Copy the parent's
+       params to the nndoc group.
+       (gnus-summary-read-document): Ditto.
+
+       * message.el (message-followup): Would produce buggy messages when
+       replying to messages without Message-IDs.
+
+Sat Aug 10 23:41:07 1996  Per Abrahamsen  <abraham@dina.kvl.dk>
+
+       * gnus.el (gnus-decode-rfc1522): Start decoding from beginning of
+       headers instead of end.
+
+Wed Aug 28 01:35:26 1996  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-demon.el (gnus-demon-cancel): Cancel function timers.
+
+       * nnheaderxm.el (nnheader-xmas-cancel-function-timers): New
+       function.
+
+       * nnheader.el (nnheader-cancel-function-timers): New alias.
+
+       * gnus-topic.el (gnus-topic-mode): Update groups.
+       (gnus-topic-remove-group): Update topic.
+
+       * gnus-group.el (gnus-group-update-group-function): New variable. 
+       (gnus-group-update-group): Use it.
+
+       * gnus-topic.el (gnus-topic-update-topics-containing-group): New
+       function. 
+
+Tue Aug 27 14:35:01 1996  Ken Raeburn  <raeburn@cygnus.com>
+
+       * nnmail.el (nnmail-move-inbox): Don't try setting modes on
+       "po:$USER".
+
+Tue Aug 27 21:45:14 1996  Lars Magne Ingebrigtsen  <lars@eyesore.no>
+
+       * gnus-sum.el (gnus-summary-number-of-articles-in-thread): Would
+       bug out on unthreadeds.
+
+Tue Aug 27 21:38:13 1996  Kurt Swanson  <kurt@dna.lth.se>
+
+       * gnus-salt.el (gnus-pick-mode-map): Typo.
+
+Tue Aug 27 21:35:58 1996  Lars Magne Ingebrigtsen  <lars@eyesore.no>
+
+       * gnus-load.el: Removed gnus-vis thingies.
+
+Tue Aug 27 00:54:05 1996  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.el: Red Gnus v0.17 is released.
+
 Tue Aug 27 00:46:48 1996  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
 
        * nnweb.el (nnweb-dejanews-create-mapping): Dummy function.
index d0e9720..20a3668 100644 (file)
@@ -128,10 +128,11 @@ from that group.")
                                (not (natnump article)))
                      ;; Not already fetched -- so we add it to the list.
                      (push article gnus-async-fetch-list)))
-                 (setq gnus-async-fetch-list (nreverse gnus-async-fetch-list))))
+                 (setq gnus-async-fetch-list
+                       (nreverse gnus-async-fetch-list))))
 
              (when do-fetch
-               (setq article (pop gnus-async-fetch-list))))
+               (setq article (car gnus-async-fetch-list))))
        
          (gnus-async-release-semaphore 'gnus-async-article-semaphore))
     
index 6ea404d..47f79ac 100644 (file)
@@ -106,7 +106,8 @@ time Emacs has been idle for IDLE `gnus-demon-timestep's.")
   (and gnus-demon-timer
        (nnheader-cancel-timer gnus-demon-timer))
   (setq gnus-demon-timer nil
-       gnus-use-demon nil))
+       gnus-use-demon nil)
+  (nnheader-cancel-function-timers 'gnus-demon))
 
 (defun gnus-demon-is-idle-p ()
   "Whether Emacs is idle or not."
index 377c606..7b9a914 100644 (file)
@@ -198,6 +198,7 @@ variable.")
 
 (defvar gnus-group-indentation-function nil)
 (defvar gnus-goto-missing-group-function nil)
+(defvar gnus-group-update-group-function nil)
 (defvar gnus-group-get-parameter-function 'gnus-group-get-parameter)
 (defvar gnus-group-goto-next-group-function nil
   "Function to override finding the next group after listing groups.")
@@ -395,7 +396,6 @@ variable.")
     "\C-k" gnus-group-kill-level
     "z" gnus-group-kill-all-zombies))
 
-
 (defun gnus-group-make-menu-bar ()
   (gnus-turn-off-edit-menu 'group)
   (unless (boundp 'gnus-group-reading-menu)
@@ -986,6 +986,8 @@ already."
            (save-excursion
              (forward-line -1)
              (run-hooks 'gnus-group-update-group-hook))))
+       (when gnus-group-update-group-function
+         (funcall gnus-group-update-group-function group))
        (gnus-group-set-mode-line)))))
 
 (defun gnus-group-set-mode-line ()
@@ -1312,7 +1314,7 @@ Return the name of the group is selection was successful."
                 (gnus-group-prefixed-name group method))))
     (gnus-sethash
      group
-     `(t nil (,group ,gnus-level-default-subscribed nil nil ,method
+     `(-1 nil (,group ,gnus-level-default-subscribed nil nil ,method
                     ((quit-config . ,(if quit-config quit-config
                                        (cons (current-buffer) 'summary))))))
      gnus-newsrc-hashtb)
@@ -1322,7 +1324,8 @@ Return the name of the group is selection was successful."
     (when activate
       (unless (gnus-request-group group)
        (error "Couldn't request group: %s" 
-              (nnheader-get-report (car method)))))
+              (nnheader-get-report (car method))))
+      (gnus-activate-group group nil t))
     (if request-only
        group
       (condition-case ()
index 5343b53..d598bce 100644 (file)
@@ -580,26 +580,13 @@ gnus-newsrc-hashtb should be kept so that both hold the same information.")
      ("gnus-mh" gnus-mh-mail-setup gnus-summary-save-article-folder
       gnus-Folder-save-name gnus-folder-save-name)
      ("gnus-mh" :interactive t gnus-summary-save-in-folder)
-     ("gnus-vis" gnus-group-make-menu-bar gnus-summary-make-menu-bar
-      gnus-server-make-menu-bar gnus-article-make-menu-bar
-      gnus-browse-make-menu-bar gnus-highlight-selected-summary
-      gnus-summary-highlight-line gnus-carpal-setup-buffer
-      gnus-group-highlight-line
-      gnus-article-add-button gnus-insert-next-page-button
-      gnus-insert-prev-page-button gnus-visual-turn-off-edit-menu)
-     ("gnus-vis" :interactive t
-      gnus-article-push-button gnus-article-press-button
-      gnus-article-highlight gnus-article-highlight-some
-      gnus-article-highlight-headers gnus-article-highlight-signature
-      gnus-article-add-buttons gnus-article-add-buttons-to-head
-      gnus-article-next-button gnus-article-prev-button)
      ("gnus-demon" gnus-demon-add-nocem gnus-demon-add-scanmail
       gnus-demon-add-disconnection gnus-demon-add-handler
       gnus-demon-remove-handler)
      ("gnus-demon" :interactive t
       gnus-demon-init gnus-demon-cancel)
      ("gnus-salt" gnus-highlight-selected-tree gnus-possibly-generate-tree
-      gnus-tree-open gnus-tree-close)
+      gnus-tree-open gnus-tree-close gnus-carpal-setup-buffer)
      ("gnus-nocem" gnus-nocem-scan-groups gnus-nocem-close
       gnus-nocem-unwanted-article-p)
      ("gnus-srvr" gnus-enter-server-buffer gnus-server-set-info)
index 8952478..428c843 100644 (file)
@@ -356,7 +356,7 @@ header line with the old Message-ID."
            (if post
                (message-news (or to-group group))
              (set-buffer gnus-article-copy)
-             (message-followup))
+             (message-followup to-group))
          ;; The is mail.
          (if post
              (progn
index be9fd49..14c15ab 100644 (file)
@@ -70,7 +70,7 @@ It accepts the same format specs that `gnus-summary-line-format' does.")
    "b" gnus-uu-mark-buffer
    "B" gnus-uu-unmark-buffer
    "." gnus-pick-article
-   gnus-mouse-2 gnus-pick-pick-article
+   gnus-mouse-2 gnus-mouse-pick-article
    "\r" gnus-pick-start-reading))
 
 (defun gnus-pick-make-menu-bar ()
index dbc1c62..3f84424 100644 (file)
@@ -2095,6 +2095,8 @@ This is all marks except unread, ticked, dormant, and expirable."
   (let* ((number
          ;; Fix by Luc Van Eycken <Luc.VanEycken@esat.kuleuven.ac.be>.
          (cond
+          ((not (listp thread))
+           1)
           ((and (consp thread) (cdr thread))
            (apply
             '+ 1 (mapcar
@@ -5565,14 +5567,16 @@ to guess what the document format is."
   (interactive "P")
   (gnus-set-global-variables)
   (gnus-summary-select-article)
-  (let ((name (format "%s-%d"
-                     (gnus-group-prefixed-name
-                      gnus-newsgroup-name (list 'nndoc ""))
-                     gnus-current-article))
-       (ogroup gnus-newsgroup-name)
-       (case-fold-search t)
-       (buf (current-buffer))
-       dig)
+  (let* ((name (format "%s-%d"
+                      (gnus-group-prefixed-name
+                       gnus-newsgroup-name (list 'nndoc ""))
+                      gnus-current-article))
+        (ogroup gnus-newsgroup-name)
+        (params (append (gnus-info-params (gnus-get-info ogroup))
+                        (list (cons 'to-group ogroup))))
+        (case-fold-search t)
+        (buf (current-buffer))
+        dig)
     (save-excursion
       (setq dig (nnheader-set-temp-buffer " *gnus digest buffer*"))
       (insert-buffer-substring gnus-original-article-buffer)
@@ -5588,8 +5592,7 @@ to guess what the document format is."
                                 ,(get-buffer dig))
                          (nndoc-article-type ,(if force 'digest 'guess))) t)
            ;; Make all postings to this group go to the parent group.
-           (nconc (gnus-info-params (gnus-get-info name))
-                  (list (cons 'to-group ogroup)))
+           (gnus-info-set-params (gnus-get-info name) params)
          ;; Couldn't select this doc group.
          (switch-to-buffer buf)
          (gnus-set-global-variables)
@@ -5601,9 +5604,11 @@ to guess what the document format is."
   "Open a new group based on the current article(s).
 Obeys the standard process/prefix convention."
   (interactive "P")
-  (let ((articles (gnus-summary-work-articles n))
-       (ogroup gnus-newsgroup-name)
-       article group egroup groups vgroup)
+  (let* ((articles (gnus-summary-work-articles n))
+        (ogroup gnus-newsgroup-name)
+        (params (append (gnus-info-params (gnus-get-info ogroup))
+                        (list (cons 'to-group ogroup))))
+        article group egroup groups vgroup)
     (while (setq article (pop articles))
       (setq group (format "%s-%d" gnus-newsgroup-name gnus-current-article))
       (gnus-summary-remove-process-mark article)
@@ -5624,8 +5629,7 @@ Obeys the standard process/prefix convention."
                       t nil t))
                (progn
                  ;; Make all postings to this group go to the parent group.
-                 (nconc (gnus-info-params (gnus-get-info egroup))
-                        (list (cons 'to-group ogroup)))
+                 (gnus-info-set-params (gnus-get-info name) params)
                  (push egroup groups))
              ;; Couldn't select this doc group.
              (gnus-error 3 "Article couldn't be entered"))))))
index babe3c2..3e9c841 100644 (file)
@@ -485,13 +485,30 @@ articles in the topic and its subtopics."
           'gnus-active active-topic
           'gnus-topic-visible visiblep))))
 
+(defun gnus-topic-update-topics-containing-group (group)
+  "Update all topics that have GROUP as a member."
+  (when (and (eq major-mode 'gnus-group-mode)
+            gnus-topic-mode)
+    (save-excursion
+      (let ((alist gnus-topic-alist))
+       ;; This is probably not entirely correct.  If a topic
+       ;; isn't shown, then it's not updated.  But the updating
+       ;; should be performed in any case, since the topic's
+       ;; parent should be updated.  Pfft.
+       (while alist
+         (when (and (member group (cdar alist))
+                    (gnus-topic-goto-topic (caar alist)))
+           (gnus-topic-update-topic-line (caar alist)))
+         (pop alist))))))
+
 (defun gnus-topic-update-topic ()
   "Update all parent topics to the current group."
   (when (and (eq major-mode 'gnus-group-mode)
             gnus-topic-mode)
     (let ((group (gnus-group-group-name))
          (buffer-read-only nil))
-      (when (and group (gnus-get-info group)
+      (when (and group 
+                (gnus-get-info group)
                 (gnus-topic-goto-topic (gnus-current-topic)))
        (gnus-topic-update-topic-line (gnus-group-topic-name))
        (gnus-group-goto-group group)
@@ -858,7 +875,6 @@ articles in the topic and its subtopics."
              minor-mode-map-alist))
       (add-hook 'gnus-summary-exit-hook 'gnus-topic-update-topic)
       (add-hook 'gnus-group-catchup-group-hook 'gnus-topic-update-topic)
-      (add-hook 'gnus-group-update-group-hook 'gnus-topic-update-topic)
       (set (make-local-variable 'gnus-group-prepare-function)
           'gnus-group-prepare-topics)
       (set (make-local-variable 'gnus-group-get-parameter-function)
@@ -867,6 +883,8 @@ articles in the topic and its subtopics."
           'gnus-topic-goto-next-group)
       (set (make-local-variable 'gnus-group-indentation-function)
           'gnus-topic-group-indentation)
+      (set (make-local-variable 'gnus-group-update-group-function)
+          'gnus-topic-update-topics-containing-group)
       (setq gnus-group-change-level-function 'gnus-topic-change-level)
       (setq gnus-goto-missing-group-function 'gnus-topic-goto-missing-group)
       (gnus-make-local-hook 'gnus-check-bogus-groups-hook)
@@ -980,6 +998,7 @@ If COPYP, copy the groups instead."
     (when (and topicl group)
       (gnus-delete-line)
       (gnus-delete-first group topicl))
+    (gnus-topic-update-topic)
     (gnus-group-position-point)))
 
 (defun gnus-topic-copy-group (n topic)
index 3172709..3508779 100644 (file)
@@ -28,7 +28,7 @@
 
 (eval '(run-hooks 'gnus-load-hook))
 
-(defconst gnus-version-number "0.17"
+(defconst gnus-version-number "0.18"
   "Version number for this version of Gnus.")
 
 (defconst gnus-version (format "Red Gnus v%s" gnus-version-number)
index 1b39948..b473063 100644 (file)
@@ -2611,11 +2611,14 @@ Headers already prepared in the buffer are not modified."
 
 ;;;###autoload
 (defun message-wide-reply (&optional to-address)
+  "Make a \"wide\" reply to the message in the current buffer."
   (interactive)
   (message-reply to-address t))
 
 ;;;###autoload
-(defun message-followup ()
+(defun message-followup (&optional to-newsgroups)
+  "Follow up to the message in the current buffer.
+If TO-NEWSGROUPS, use that as the new Newsgroups line."
   (interactive)
   (let ((cur (current-buffer))
        from subject date reply-to mct
@@ -2660,6 +2663,8 @@ Headers already prepared in the buffer are not modified."
     (message-setup
      `((Subject . ,subject)
        ,@(cond 
+         (to-newsgroups
+          (list (cons 'Newsgroups to-newsgroups)))
          (follow-to follow-to)
          ((and followup-to message-use-followup-to)
           (list
@@ -2699,8 +2704,9 @@ responses here are directed to other newsgroups."))
          (t
           `((Newsgroups . ,newsgroups))))
        ,@(and distribution (list (cons 'Distribution distribution)))
-       (References . ,(concat (or references "") (and references " ")
-                             (or message-id "")))
+       ,@(if (or references message-id)
+            `((References . ,(concat (or references "") (and references " ")
+                                     (or message-id "")))))
        ,@(when (and mct
                    (not (equal (downcase mct) "never")))
           (list (cons 'Cc (if (equal (downcase mct) "always")
index 1b05b7d..531320b 100644 (file)
@@ -621,6 +621,7 @@ without formatting."
 
 (fset 'nnheader-run-at-time 'run-at-time)
 (fset 'nnheader-cancel-timer 'cancel-timer)
+(fset 'nnheader-cancel-function-timers 'cancel-function-timers)
 (fset 'nnheader-find-file-noselect 'find-file-noselect)
 (fset 'nnheader-insert-file-contents-literally
       'insert-file-contents-literally)
index d4459ad..4b630b3 100644 (file)
@@ -35,6 +35,9 @@
 (defun nnheader-xmas-cancel-timer (timer)
   (delete-itimer timer))
 
+(defun nnheader-xmas-cancel-function-timers (function)
+  )
+
 ;; Written by Erik Naggum <erik@naggum.no>.
 ;; Saved by Steve Baur <steve@miranova.com>.
 (defun nnheader-xmas-insert-file-contents-literally (filename &optional visit beg end replace)
@@ -167,6 +170,7 @@ The buffer is not selected, just returned to the caller."
 
 (fset 'nnheader-run-at-time 'nnheader-xmas-run-at-time)
 (fset 'nnheader-cancel-timer 'nnheader-xmas-cancel-timer)
+(fset 'nnheader-cancel-function-timers 'nnheader-xmas-cancel-function-timers)
 (fset 'nnheader-find-file-noselect 'nnheader-xmas-find-file-noselect)
 (fset 'nnheader-insert-file-contents-literally
       (if (fboundp 'insert-file-contents-literally)
index a27464a..a936645 100644 (file)
@@ -440,7 +440,8 @@ parameter.  It should return nil, `warn' or `delete'.")
              (if (not (buffer-modified-p errors))
                  ;; No output => movemail won
                  (progn
-                   (set-file-modes inbox nnmail-default-file-modes)
+                   (or popmail
+                       (set-file-modes inbox nnmail-default-file-modes))
                    (push inbox nnmail-moved-inboxes))
                (set-buffer errors)
                ;; There may be a warning about older revisions.  We
@@ -448,7 +449,8 @@ parameter.  It should return nil, `warn' or `delete'.")
                (goto-char (point-min))
                (if (search-forward "older revision" nil t)
                    (progn
-                     (set-file-modes inbox nnmail-default-file-modes)
+                     (or popmail
+                         (set-file-modes inbox nnmail-default-file-modes))
                      (push inbox nnmail-moved-inboxes))
                  ;; Probably a real error.
                  (subst-char-in-region (point-min) (point-max) ?\n ?\  )
index 9dd8dad..35cdf21 100644 (file)
 
 (deffoo nnweb-close-group (group &optional server)
   (nnweb-possibly-change-server server)
-  (gnus-kill-buffer nnweb-buffer)
+  (when (gnus-buffer-live-p nnweb-buffer)
+    (save-excursion
+      (set-buffer nnweb-buffer)
+      (set-buffer-modified-p nil)
+      (kill-buffer nnweb-buffer)))
   t)
 
 (deffoo nnweb-request-article (article &optional group server buffer)
        t))))
 
 (deffoo nnweb-close-server (&optional server)
-  (when (nnweb-server-opened server)
-    (gnus-kill-buffer nnweb-buffer))
+  (when (and (nnweb-server-opened server)
+            (gnus-buffer-live-p nnweb-buffer))
+    (save-excursion
+      (set-buffer nnweb-buffer)
+      (set-buffer-modified-p nil)
+      (kill-buffer nnweb-buffer)))
   (nnoo-close-server 'nnweb server))
 
 (deffoo nnweb-request-update-info (group info &optional server)
          (while (re-search-forward "^ +[0-9]+\\." nil t)
            (narrow-to-region 
             (point) 
-            (if (re-search-forward "^ +[0-9]+\\." nil t)
-                (match-beginning 0)
-              (point-max)))
+            (cond ((re-search-forward "^ +[0-9]+\\." nil t)
+                   (match-beginning 0))
+                  ((search-forward "\n\n" nil t)
+                   (point))
+                  (t
+                   (point-max))))
            (goto-char (point-min))
            (when (looking-at ".*HREF=\"\\([^\"]+\\)\"")
              (setq url (match-string 1)))
          ;; See whether there is a "Get next 20 hits" button here.
          (if (or (not (re-search-forward
                        "HREF=\"\\([^\"]+\\)\">Get next" nil t))
-                 (> i nnweb-max-hits))
+                 (>= i nnweb-max-hits))
              (setq more nil)
            ;; Yup -- fetch it.
            (setq more (match-string 1))
   (save-excursion
     (set-buffer nnweb-buffer)
     (erase-buffer)
-    (when (funcall (nnweb-definition 'search) nnweb-search)
-      (let ((i 0)
-           (more t)
-           (case-fold-search t)
-           subject score date newsgroups from id
-           map url)
-       (while more
-         ;; Go through all the article hits on this page.
-         (goto-char (point-min))
-         (search-forward "<dt>" nil t)
-         (delete-region (point-min) (match-beginning 0))
-         (goto-char (point-min))
-         (while (search-forward "<dt>" nil t)
-           (replace-match "\n<blubb>"))
-         (nnweb-decode-entities)
-         (goto-char (point-min))
-         (while (re-search-forward "<blubb>.*href=\"\\([^\"]+\\)\"><strong>\\([^>]*\\)</strong></a><dd>\\([^-]+\\)- <b>\\([^<]+\\)<.*href=\"news:\\([^\"]+\\)\">.*\">\\(.+\\)</a><P>"
-                                   nil t)
-           (setq url (match-string 1)
-                 subject (match-string 2)
-                 date (match-string 3)
-                 group (match-string 4)
-                 id (concat "<" (match-string 5) ">")
-                 from (match-string 6))
-           (push
-            (list
-             (incf i)
-             (make-full-mail-header
-              i (concat  "(" group ") " subject) from date
-              id nil 0 0 nil)
-             url)
-            map))
-         (setq more nil))
-       ;; Return the articles in the right order.
-       (setq nnweb-articles (nreverse map))))))
+    (let ((part 0))
+      (when (funcall (nnweb-definition 'search) nnweb-search part)
+       (let ((i 0)
+             (more t)
+             (case-fold-search t)
+             subject score date newsgroups from id
+             map url)
+         (while more
+           ;; Go through all the article hits on this page.
+           (goto-char (point-min))
+           (search-forward "<dt>" nil t)
+           (delete-region (point-min) (match-beginning 0))
+           (goto-char (point-min))
+           (while (search-forward "<dt>" nil t)
+             (replace-match "\n<blubb>"))
+           (nnweb-decode-entities)
+           (goto-char (point-min))
+           (while (re-search-forward "<blubb>.*href=\"\\([^\"]+\\)\"><strong>\\([^>]*\\)</strong></a><dd>\\([^-]+\\)- <b>\\([^<]+\\)<.*href=\"news:\\([^\"]+\\)\">.*\">\\(.+\\)</a><P>"
+                                     nil t)
+             (setq url (match-string 1)
+                   subject (match-string 2)
+                   date (match-string 3)
+                   group (match-string 4)
+                   id (concat "<" (match-string 5) ">")
+                   from (match-string 6))
+             (push
+              (list
+               (incf i)
+               (make-full-mail-header
+                i (concat  "(" group ") " subject) from date
+                id nil 0 0 nil)
+               url)
+              map))
+           ;; See if we want more.
+           (when (or (>= i nnweb-max-hits)
+                     (not (funcall (nnweb-definition 'search)
+                                   nnweb-search (incf part))))
+             (setq more nil)))
+         ;; Return the articles in the right order.
+         (setq nnweb-articles (nreverse map)))))))
 
 (defun nnweb-altavista-wash-article ()
   (goto-char (point-min))
       (widen)
       (nnweb-remove-markup))))
 
-(defun nnweb-altavista-search (search)
+(defun nnweb-altavista-search (search &optional part)
   (url-insert-file-contents
    (concat 
     (nnweb-definition 'address)
     (nnweb-encode-www-form-urlencoded 
      `(("pg" . "aq")
        ("what" . "news")
+       ,@(if part `(("stq" . ,(int-to-string (* part 30)))))
        ("fmt" . "d")
        ("q" . ,search)
        ("r" . "")
index ae8da03..32048d4 100644 (file)
@@ -1,7 +1,7 @@
 \input texinfo                  @c -*-texinfo-*-
 
 @setfilename gnus
-@settitle Red Gnus 0.17 Manual
+@settitle Red Gnus 0.18 Manual
 @synindex fn cp
 @synindex vr cp
 @synindex pg cp
@@ -230,7 +230,7 @@ into another language, under the above conditions for modified versions.
 @tex
 
 @titlepage
-@title Red Gnus 0.17 Manual
+@title Red Gnus 0.18 Manual
 
 @author by Lars Magne Ingebrigtsen
 @page