# HG changeset patch # User Miles Bader # Date 1129335658 0 # Node ID 7c0125b5b3336ba3c0f9c3a945b98523bd4e7ac6 # Parent 02a6c15defdbca2a31c4f00ed75fa880457134c0 Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-597 Merge from gnus--rel--5.10 Patches applied: * gnus--rel--5.10 (patch 133-141) - Update from CVS - Merge from emacs--cvs-trunk--0 - Update from CVS: texi/gnus.texi (RSS): Fix key description. - Update from CVS: texi/gnus.texi (Document Server Internals): Addition. 2005-10-04 David Hansen * lisp/gnus/nnrss.el (nnrss-request-article): Add support for the comments tag. (nnrss-check-group): Ditto. 2005-10-14 Katsumi Yamaoka * man/gnus.texi (Document Server Internals): Addition. 2005-10-13 Katsumi Yamaoka * man/gnus.texi (A note on namespaces): Fix RFC reference. 2005-10-12 Katsumi Yamaoka * man/gnus.texi (RSS): Fix key description. 2005-10-11 Katsumi Yamaoka * man/gnus.texi: Emacs/w3 -> Emacs/W3. (Browsing the Web): Fix description. (Web Searches): Ditto. (Customizing W3): Ditto. 2005-10-07 Katsumi Yamaoka * man/gnus.texi (Maildir): Clarify expire-age and expire-group. diff -r 02a6c15defdb -r 7c0125b5b333 lisp/gnus/ChangeLog --- a/lisp/gnus/ChangeLog Fri Oct 14 23:53:41 2005 +0000 +++ b/lisp/gnus/ChangeLog Sat Oct 15 00:20:58 2005 +0000 @@ -21,6 +21,11 @@ * pgg-def.el (top-level): Don't require custom, it is autoloaded. (To sync with No Gnus.) +2005-10-04 David Hansen + + * nnrss.el (nnrss-request-article): Add support for the comments tag. + (nnrss-check-group): Ditto. + 2005-10-04 Reiner Steib * mm-url.el (mm-url-predefined-programs): Add switches for curl. diff -r 02a6c15defdb -r 7c0125b5b333 lisp/gnus/nnrss.el --- a/lisp/gnus/nnrss.el Fri Oct 14 23:53:41 2005 +0000 +++ b/lisp/gnus/nnrss.el Sat Oct 15 00:20:58 2005 +0000 @@ -197,6 +197,7 @@ " "))) (link (nth 2 e)) (enclosure (nth 7 e)) + (comments (nth 8 e)) ;; Enable encoding of Newsgroups header in XEmacs. (default-enable-multibyte-characters t) (rfc2047-header-encoding-alist @@ -205,7 +206,7 @@ rfc2047-header-encoding-alist) rfc2047-header-encoding-alist)) rfc2047-encode-encoded-words body) - (when (or text link enclosure) + (when (or text link enclosure comments) (insert "\n") (insert "<#multipart type=alternative>\n" "<#part type=\"text/plain\">\n") @@ -220,6 +221,8 @@ (insert (car enclosure) " " (nth 2 enclosure) " " (nth 3 enclosure) "\n")) + (when comments + (insert comments "\n")) (setq body (buffer-substring body (point))) (insert "<#/part>\n" "<#part type=\"text/html\">\n" @@ -232,6 +235,8 @@ (insert "

" (cadr enclosure) " " (nth 2 enclosure) " " (nth 3 enclosure) "

\n")) + (when comments + (insert "

comments

\n")) (insert "\n" "<#/part>\n" "<#/multipart>\n")) @@ -528,7 +533,7 @@ (defun nnrss-check-group (group server) (let (file xml subject url extra changed author date - enclosure rss-ns rdf-ns content-ns dc-ns) + enclosure comments rss-ns rdf-ns content-ns dc-ns) (if (and nnrss-use-local (file-exists-p (setq file (expand-file-name (nnrss-translate-file-chars @@ -576,6 +581,7 @@ (setq date (or (nnrss-node-text dc-ns 'date item) (nnrss-node-text rss-ns 'pubDate item) (message-make-date))) + (setq comments (nnrss-node-text rss-ns 'comments item)) (when (setq enclosure (cadr (assq (intern (concat rss-ns "enclosure")) item))) (let ((url (cdr (assq 'url enclosure))) (len (cdr (assq 'length enclosure))) @@ -606,7 +612,8 @@ (and author (nnrss-mime-encode-string author)) date (and extra (nnrss-decode-entities-string extra)) - enclosure) + enclosure + comments) nnrss-group-data) (gnus-sethash (or url extra) t nnrss-group-hashtb) (setq changed t)) diff -r 02a6c15defdb -r 7c0125b5b333 man/ChangeLog --- a/man/ChangeLog Fri Oct 14 23:53:41 2005 +0000 +++ b/man/ChangeLog Sat Oct 15 00:20:58 2005 +0000 @@ -1,3 +1,26 @@ +2005-10-14 Katsumi Yamaoka + + * gnus.texi (Document Server Internals): Addition. + +2005-10-13 Katsumi Yamaoka + + * gnus.texi (A note on namespaces): Fix RFC reference. + +2005-10-12 Katsumi Yamaoka + + * gnus.texi (RSS): Fix key description. + +2005-10-11 Katsumi Yamaoka + + * gnus.texi: Emacs/w3 -> Emacs/W3. + (Browsing the Web): Fix description. + (Web Searches): Ditto. + (Customizing W3): Ditto. + +2005-10-07 Katsumi Yamaoka + + * gnus.texi (Maildir): Clarify expire-age and expire-group. + 2005-10-13 Kenichi Handa * basic.texi (Position Info): Fix previous change. diff -r 02a6c15defdb -r 7c0125b5b333 man/gnus.texi --- a/man/gnus.texi Fri Oct 14 23:53:41 2005 +0000 +++ b/man/gnus.texi Sat Oct 15 00:20:58 2005 +0000 @@ -683,7 +683,7 @@ * Ultimate:: The Ultimate Bulletin Board systems. * Web Archive:: Reading mailing list archived on web. * RSS:: Reading RDF site summary. -* Customizing w3:: Doing stuff to Emacs/w3 from Gnus. +* Customizing W3:: Doing stuff to Emacs/W3 from Gnus. @acronym{IMAP} @@ -8569,8 +8569,8 @@ can use include: @table @code -@item w3 -Use Emacs/w3. +@item W3 +Use Emacs/W3. @item w3m Use @uref{http://emacs-w3m.namazu.org/, emacs-w3m}. @@ -15093,8 +15093,9 @@ before it will be expired, or the symbol @code{never} to specify that articles should never be expired. If this parameter is not set, @code{nnmaildir} falls back to the usual -@code{nnmail-expiry-wait}(@code{-function}) variables (overrideable by -the @code{expiry-wait}(@code{-function}) group parameters. If you +@code{nnmail-expiry-wait}(@code{-function}) variables (the +@code{expiry-wait} group parameter overrides @code{nnmail-expiry-wait} +and makes @code{nnmail-expiry-wait-function} ineffective). If you wanted a value of 3 days, you could use something like @code{[(* 3 24 60 60)]}; @code{nnmaildir} will evaluate the form and use the result. An article's age is measured starting from the article file's @@ -15117,8 +15118,8 @@ you use the vector form, the first element is evaluated once for each article. So that form can refer to @code{nnmaildir-article-file-name}, etc., to decide where to put the -article. @emph{If this parameter is not set, @code{nnmaildir} does -not fall back to the @code{expiry-target} group parameter or the +article. @emph{Even if this parameter is not set, @code{nnmaildir} +does not fall back to the @code{expiry-target} group parameter or the @code{nnmail-expiry-target} variable.} @item read-only @@ -15534,10 +15535,11 @@ * Ultimate:: The Ultimate Bulletin Board systems. * Web Archive:: Reading mailing list archived on web. * RSS:: Reading RDF site summary. -* Customizing w3:: Doing stuff to Emacs/w3 from Gnus. -@end menu - -All the web sources require Emacs/w3 and the url library to work. +* Customizing W3:: Doing stuff to Emacs/W3 from Gnus. +@end menu + +All the web sources require Emacs/W3 and the url library or those +alternatives to work. The main caveat with all these web sources is that they probably won't work for a very long time. Gleaning information from the @acronym{HTML} data @@ -15624,8 +15626,9 @@ community. Since @code{nnweb} washes the ads off all the articles, one might think that the providers might be somewhat miffed. We'll see. -You must have the @code{url} and @code{w3} package installed to be able -to use @code{nnweb}. +You must have the @code{url} and @code{W3} package or those alternatives +(try @code{customize-group} on the @samp{mm-url} variable group) +installed to be able to use @code{nnweb}. Virtual server variables: @@ -15845,9 +15848,9 @@ text by default. It is also used by default for non-@acronym{ASCII} group names. -@kindex G R (Summary) -Use @kbd{G R} from the summary buffer to subscribe to a feed---you will -be prompted for the location, the title and the description of the feed. +@kindex G R (Group) +Use @kbd{G R} from the group buffer to subscribe to a feed---you will be +prompted for the location, the title and the description of the feed. The title, which allows any characters, will be used for the group name and the name of the group data file. The description can be omitted. @@ -15940,18 +15943,19 @@ (add-to-list 'nnmail-extra-headers nnrss-url-field) @end lisp -@node Customizing w3 -@subsection Customizing w3 -@cindex w3 +@node Customizing W3 +@subsection Customizing W3 +@cindex W3 @cindex html @cindex url @cindex Netscape -Gnus uses the url library to fetch web pages and Emacs/w3 to display web -pages. Emacs/w3 is documented in its own manual, but there are some -things that may be more relevant for Gnus users. - -For instance, a common question is how to make Emacs/w3 follow links +Gnus uses the url library to fetch web pages and Emacs/W3 (or those +alternatives) to display web pages. Emacs/W3 is documented in its own +manual, but there are some things that may be more relevant for Gnus +users. + +For instance, a common question is how to make Emacs/W3 follow links using the @code{browse-url} functions (which will call some external web browser like Netscape). Here's one way: @@ -15966,7 +15970,7 @@ (w3-fetch-orig url target))))) @end lisp -Put that in your @file{.emacs} file, and hitting links in w3-rendered +Put that in your @file{.emacs} file, and hitting links in W3-rendered @acronym{HTML} in the Gnus article buffers will use @code{browse-url} to follow the link. @@ -16559,7 +16563,7 @@ @cindex namespaces The @acronym{IMAP} protocol has a concept called namespaces, described -by the following text in the RFC: +by the following text in the RFC2060: @display 5.1.2. Mailbox Namespace Naming Convention @@ -16891,34 +16895,48 @@ @item article-begin This setting has to be present in all document type definitions. It -says what the beginning of each article looks like. +says what the beginning of each article looks like. To do more +complicated things that cannot be dealt with a simple regexp, you can +use @code{article-begin-function} instead of this. + +@item article-begin-function +If present, this should be a function that moves point to the beginning +of each article. This setting overrides @code{article-begin}. + +@item head-begin +If present, this should be a regexp that matches the head of the +article. To do more complicated things that cannot be dealt with a +simple regexp, you can use @code{head-begin-function} instead of this. @item head-begin-function If present, this should be a function that moves point to the head of -the article. - -@item nndoc-head-begin -If present, this should be a regexp that matches the head of the -article. - -@item nndoc-head-end +the article. This setting overrides @code{head-begin}. + +@item head-end This should match the end of the head of the article. It defaults to @samp{^$}---the empty line. +@item body-begin +This should match the beginning of the body of the article. It defaults +to @samp{^\n}. To do more complicated things that cannot be dealt with +a simple regexp, you can use @code{body-begin-function} instead of this. + @item body-begin-function If present, this function should move point to the beginning of the body -of the article. - -@item body-begin -This should match the beginning of the body of the article. It defaults -to @samp{^\n}. +of the article. This setting overrides @code{body-begin}. + +@item body-end +If present, this should match the end of the body of the article. To do +more complicated things that cannot be dealt with a simple regexp, you +can use @code{body-end-function} instead of this. @item body-end-function If present, this function should move point to the end of the body of -the article. - -@item body-end -If present, this should match the end of the body of the article. +the article. This setting overrides @code{body-end}. + +@item file-begin +If present, this should match the beginning of the file. All text +before this regexp will be totally ignored. @item file-end If present, this should match the end of the file. All text after this @@ -16949,6 +16967,19 @@ expected to generate a nice head for the article in question. It is called when requesting the headers of all articles. +@item generate-article-function +If present, this function is called to generate an entire article that +Gnus can understand. It is called with the article number as a +parameter when requesting all articles. + +@item dissection-function +If present, this function is called to dissect a document by itself, +overriding @code{first-article}, @code{article-begin}, +@code{article-begin-function}, @code{head-begin}, +@code{head-begin-function}, @code{head-end}, @code{body-begin}, +@code{body-begin-function}, @code{body-end}, @code{body-end-function}, +@code{file-begin}, and @code{file-end}. + @end table Let's look at the most complicated example I can come up with---standard @@ -24388,7 +24419,7 @@ whatever packages the Gnus XEmacs package requires. The current requirements are @samp{gnus}, @samp{mail-lib}, @samp{xemacs-base}, @samp{eterm}, @samp{sh-script}, @samp{net-utils}, @samp{os-utils}, -@samp{dired}, @samp{mh-e}, @samp{sieve}, @samp{ps-print}, @samp{w3}, +@samp{dired}, @samp{mh-e}, @samp{sieve}, @samp{ps-print}, @samp{W3}, @samp{pgg}, @samp{mailcrypt}, @samp{ecrypto}, and @samp{sasl}.