+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'.
* 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
* 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.
* 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.
* 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
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)
(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)
;; 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)))
(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
(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))))
(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
(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."
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)))
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
"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))
+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
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