See ChangeLog for the log entries
authorLars Magne Ingebrigtsen <larsi@gnus.org>
Tue, 16 Nov 1999 09:38:10 +0000 (09:38 +0000)
committerLars Magne Ingebrigtsen <larsi@gnus.org>
Tue, 16 Nov 1999 09:38:10 +0000 (09:38 +0000)
lisp/ChangeLog
lisp/dgnushack.el
lisp/gnus-sum.el
lisp/gnus.el
lisp/lpath.el
lisp/nnheader.el
texi/ChangeLog
texi/gnus.texi

index 9c5ebac..8bf8d46 100644 (file)
@@ -1,3 +1,19 @@
+1999-11-16 10:01:03  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * gnus-sum.el (gnus-build-old-threads): Bind mail-parse-charset.
+       (gnus-build-sparse-threads): Ditto.
+       (gnus-build-all-threads): Ditto.
+
+       * nnheader.el (make-full-mail-header): Make into a subst.
+
+       * dgnushack.el (dgnushack-compile): Skip all w3-dependent files
+       unless w3 is supplied.
+
+       * gnus.el (gnus-refer-article-method): Doc fix.
+
+       * gnus-sum.el: Do not accept a prefix.
+       (gnus-summary-refer-article): Accept a list of select methods. 
+
 1999-11-15 21:28:40  Shenghuo ZHU  <zsh@cs.rochester.edu>
 
        * Makefile.in: Change `^  *' to `\t'.
@@ -735,7 +751,7 @@ Mon Sep 27 15:18:05 1999  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
 
        * gnus-art.el (gnus-treat-predicate): Work for (not 5).
 
-1999-08-27  Peter von der Ah\e-Aé  <pahe@daimi.au.dk>\e$)A
+1999-08-27  Peter von der Ahé  <pahe@daimi.au.dk>
 
        * message.el (message-send): More helpful error message if sending
        fails
@@ -937,7 +953,7 @@ Fri Aug 27 13:17:48 1999  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
        * gnus-agent.el (gnus-agent-get-undownloaded-list): Don't
        mark cached articles as `undownloaded'.
 
-Tue Jul 20 02:39:56 1999  Peter von der Ah\e-Aé  <peter@ahe.dk>\e$)A
+Tue Jul 20 02:39:56 1999  Peter von der Ahé  <peter@ahe.dk>
 
        * gnus-sum.el (gnus-summary-exit): Allow gnus-use-adaptive-scoring
        to have buffer local values.
@@ -3489,7 +3505,7 @@ Mon Nov 30 23:38:02 1998  Shenghuo ZHU  <zsh@cs.rochester.edu>
 
        * mm-uu.el (mm-uu-dissect): Use mm-make-handle.
 
-1998-12-01 01:53:49  Fran\e-Açois Pinard  <pinard@iro.umontreal.ca>\e$)A
+1998-12-01 01:53:49  François Pinard  <pinard@iro.umontreal.ca>
 
        * nndoc.el (nndoc-mime-parts-type-p): Do related.
 
@@ -5235,7 +5251,7 @@ Mon Sep 14 18:55:38 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
 
        * rfc2047.el (rfc2047-q-encode-region): Would bug out.
 
-1998-09-13  Fran\e-Açois Pinard  <pinard@iro.umontreal.ca>\e$)A
+1998-09-13  François Pinard  <pinard@iro.umontreal.ca>
 
        * nndoc.el: Make nndoc-dissection-alist simpler for MIME, adjust all
           related functions.  Handle message/rfc822 parts.  Display subject on
index 4b1c285..4b305d7 100644 (file)
@@ -88,7 +88,10 @@ Modify to suit your needs."))
        file elc)
     (condition-case ()
        (require 'w3-forms)
-      (error (setq files (delete "nnweb.el" (delete "nnlistserv.el" files)))))
+      (error
+       (dolist (file '("nnweb.el" "nnlistserv.el" "nnultimate.el"
+                      "nnslashdot.el" "nnwarchive.el"))
+        (setq files (delete file files)))))
     (while (setq file (pop files))
       (setq file (expand-file-name file srcdir))
       (when (or (and (not xemacs)
index d91bc1b..66406ab 100644 (file)
@@ -3159,6 +3159,7 @@ Returns HEADER if it was entered in the DEPENDENCIES.  Returns nil otherwise."
 
 (defun gnus-build-sparse-threads ()
   (let ((headers gnus-newsgroup-headers)
+       (mail-parse-charset gnus-newsgroup-charset)
        (gnus-summary-ignore-duplicates t)
        header references generation relations
        subject child end new-child date)
@@ -3211,7 +3212,8 @@ Returns HEADER if it was entered in the DEPENDENCIES.  Returns nil otherwise."
   ;; fetch the headers for the articles that aren't there.  This will
   ;; build complete threads - if the roots haven't been expired by the
   ;; server, that is.
-  (let (id heads)
+  (let ((mail-parse-charset gnus-newsgroup-charset)
+       id heads)
     (mapatoms
      (lambda (refs)
        (when (not (car (symbol-value refs)))
@@ -3300,6 +3302,7 @@ Returns HEADER if it was entered in the DEPENDENCIES.  Returns nil otherwise."
 (defun gnus-build-all-threads ()
   "Read all the headers."
   (let ((gnus-summary-ignore-duplicates t)
+       (mail-parse-charset gnus-newsgroup-charset)
        (dependencies gnus-newsgroup-dependencies)
        header article)
     (save-excursion
@@ -6718,10 +6721,8 @@ of what's specified by the `gnus-refer-thread-limit' variable."
       (gnus-message 5 "Fetching headers for %s...done" gnus-newsgroup-name))
     (gnus-summary-limit-include-thread id)))
 
-(defun gnus-summary-refer-article (message-id &optional arg)
-  "Fetch an article specified by MESSAGE-ID.
-If ARG (the prefix), fetch the article using `gnus-refer-article-method'
-or `gnus-select-method', no matter what backend the article comes from."
+(defun gnus-summary-refer-article (message-id)
+  "Fetch an article specified by MESSAGE-ID."
   (interactive "sMessage-ID: \nP")
   (when (and (stringp message-id)
             (not (zerop (length message-id))))
@@ -6736,7 +6737,8 @@ or `gnus-select-method', no matter what backend the article comes from."
                        (gnus-summary-article-sparse-p
                         (mail-header-number header))
                        (memq (mail-header-number header)
-                             gnus-newsgroup-limit))))
+                             gnus-newsgroup-limit)))
+          number)
       (cond
        ;; If the article is present in the buffer we just go to it.
        ((and header
@@ -6749,22 +6751,23 @@ or `gnus-select-method', no matter what backend the article comes from."
          (when sparse
            (gnus-summary-update-article (mail-header-number header)))))
        (t
-       ;; We fetch the article
-       (let ((gnus-override-method
-              (cond ((gnus-news-group-p gnus-newsgroup-name)
-                     gnus-refer-article-method)
-                    (arg
-                     (or gnus-refer-article-method gnus-select-method))
-                    (t nil)))
-             number)
-         ;; Start the special refer-article method, if necessary.
-         (when (and gnus-refer-article-method
-                    (gnus-news-group-p gnus-newsgroup-name))
-           (gnus-check-server gnus-refer-article-method))
-         ;; Fetch the header, and display the article.
-         (if (setq number (gnus-summary-insert-subject message-id))
+       ;; We fetch the article.
+       (catch 'found
+         (dolist (gnus-override-method
+                  (cond ((null gnus-refer-article-method)
+                         (list 'current gnus-select-method))
+                        ((consp (car gnus-refer-article-method))
+                         gnus-refer-article-method)
+                        (t
+                         (list gnus-refer-article-method))))
+           (when (eq 'current gnus-override-method)
+             (setq gnus-override-method gnus-current-select-method))
+           (gnus-check-server gnus-override-method)
+           ;; Fetch the header, and display the article.
+           (when (setq number (gnus-summary-insert-subject message-id))
              (gnus-summary-select-article nil nil nil number)
-           (gnus-message 3 "Couldn't fetch article %s" message-id))))))))
+             (throw 'found t)))
+         (gnus-message 3 "Couldn't fetch article %s" message-id)))))))
 
 (defun gnus-summary-edit-parameters ()
   "Edit the group parameters of the current group."
index cd5c39d..8b9f302 100644 (file)
@@ -996,7 +996,11 @@ articles by Message-ID is painfully slow.  By setting this method to an
 nntp method, you might get acceptable results.
 
 The value of this variable must be a valid select method as discussed
-in the documentation of `gnus-select-method'."
+in the documentation of `gnus-select-method'.
+
+It can also be a list of select methods, as well as the special symbol
+`current', which means to use the current select method.  If it is a
+list, Gnus will try all the methods in the list until it finds a match."
   :group 'gnus-server
   :type '(choice (const :tag "default" nil)
                 (const :tag "DejaNews" (nnweb "refer" (nnweb-type dejanews)))
index 898950f..0eb218c 100644 (file)
@@ -67,7 +67,7 @@
                babel-translations babel-history))
   (maybe-fbind '(color-instance-rgb-components temp-directory
                 glyph-width annotation-glyph window-pixel-width glyph-height
-                window-pixel-height
+                window-pixel-height map-extents
                 make-color-instance color-instance-name specifier-instance
                 device-type device-class get-popup-menu-response event-object
                 x-defined-colors read-color add-submenu set-font-family
index c193ca1..8d4587c 100644 (file)
@@ -149,13 +149,13 @@ on your system, you could say something like:
   "Set the extra headers in HEADER to EXTRA."
   `(aset ,header 9 ',extra))
 
-(defun make-mail-header (&optional init)
+(defsubst make-mail-header (&optional init)
   "Create a new mail header structure initialized with INIT."
   (make-vector 10 init))
 
-(defun make-full-mail-header (&optional number subject from date id
-                                       references chars lines xref
-                                       extra)
+(defsubst make-full-mail-header (&optional number subject from date id
+                                          references chars lines xref
+                                          extra)
   "Create a new mail header structure initialized with the parameters given."
   (vector number subject from date id references chars lines xref extra))
 
index 527ba94..d4b54fd 100644 (file)
@@ -1,3 +1,7 @@
+1999-11-16 10:09:44  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * gnus.texi: Addition.
+
 1999-11-13  Simon Josefsson  <jas@pdc.kth.se>
 
        * gnus.texi (Mail Source Specifiers): Fix. Added documentation for
index 266828d..0af95a7 100644 (file)
@@ -7427,6 +7427,20 @@ would, perhaps, be best if the @sc{nntp} server you consult is the one
 updating the spool you are reading from, but that's not really
 necessary.
 
+It can also be a list of select methods, as well as the special symbol
+@code{current}, which means to use the current select method.  If it
+is a list, Gnus will try all the methods in the list until it finds a
+match.
+
+Here's an example setting that will first try the current method, and
+then ask Deja if that fails:
+
+@lisp
+(setq gnus-article-refer-method
+      '(current
+        (nnweb "refer" (nnweb-type dejanews))))
+@end lisp
+
 Most of the mail backends support fetching by @code{Message-ID}, but do
 not do a particularly excellent job at it.  That is, @code{nnmbox} and
 @code{nnbabyl} are able to locate articles from any groups, while