# HG changeset patch # User Miles Bader # Date 1187012695 0 # Node ID 28c0174177f40ecd8ecf9ee9db7674cc8234fa84 # Parent c8072938bf22eef3d7ab1ab4b8480cdb159ab579 Merge from gnus--rel--5.10 Patches applied: * gnus--rel--5.10 (patch 242-244) - Update from CVS 2007-08-10 Katsumi Yamaoka * lisp/gnus/nntp.el (nntp-xref-number-is-evil): New server variable. (nntp-find-group-and-number): If it is non-nil, don't trust article numbers in the Xref header. 2007-08-06 Katsumi Yamaoka * lisp/gnus/gnus-ems.el (gnus-x-splash): Bind inhibit-read-only to t. 2007-08-04 Reiner Steib * lisp/gnus/gnus-art.el (article-hide-headers): Bind inhibit-read-only to t. 2007-08-10 Katsumi Yamaoka * man/gnus.texi (NNTP): Mention nntp-xref-number-is-evil. Revision: emacs@sv.gnu.org/emacs--rel--22--patch-92 diff -r c8072938bf22 -r 28c0174177f4 lisp/gnus/ChangeLog --- a/lisp/gnus/ChangeLog Mon Aug 13 11:47:43 2007 +0000 +++ b/lisp/gnus/ChangeLog Mon Aug 13 13:44:55 2007 +0000 @@ -1,3 +1,17 @@ +2007-08-10 Katsumi Yamaoka + + * nntp.el (nntp-xref-number-is-evil): New server variable. + (nntp-find-group-and-number): If it is non-nil, don't trust article + numbers in the Xref header. + +2007-08-06 Katsumi Yamaoka + + * gnus-ems.el (gnus-x-splash): Bind inhibit-read-only to t. + +2007-08-04 Reiner Steib + + * gnus-art.el (article-hide-headers): Bind inhibit-read-only to t. + 2007-08-08 Glenn Morris * gmm-utils.el, gnus-async.el, gnus-msg.el, gnus-score.el diff -r c8072938bf22 -r 28c0174177f4 lisp/gnus/gnus-art.el --- a/lisp/gnus/gnus-art.el Mon Aug 13 11:47:43 2007 +0000 +++ b/lisp/gnus/gnus-art.el Mon Aug 13 13:44:55 2007 +0000 @@ -1743,7 +1743,7 @@ (interactive) ;; This function might be inhibited. (unless gnus-inhibit-hiding - (let ((inhibit-read-only nil) + (let ((inhibit-read-only t) (case-fold-search t) (max (1+ (length gnus-sorted-header-list))) (inhibit-point-motion-hooks t) diff -r c8072938bf22 -r 28c0174177f4 lisp/gnus/gnus-ems.el --- a/lisp/gnus/gnus-ems.el Mon Aug 13 11:47:43 2007 +0000 +++ b/lisp/gnus/gnus-ems.el Mon Aug 13 13:44:55 2007 +0000 @@ -179,7 +179,7 @@ (interactive-p)) "*gnus-x-splash*" gnus-group-buffer))) - (let ((inhibit-read-only nil) + (let ((inhibit-read-only t) (file (nnheader-find-etc-directory "images/gnus/x-splash" t)) pixmap fcw fch width height fringes sbars left yoffset top ls) (erase-buffer) diff -r c8072938bf22 -r 28c0174177f4 lisp/gnus/nntp.el --- a/lisp/gnus/nntp.el Mon Aug 13 11:47:43 2007 +0000 +++ b/lisp/gnus/nntp.el Mon Aug 13 13:44:55 2007 +0000 @@ -183,6 +183,14 @@ If the gap between two consecutive articles is bigger than this variable, split the XOVER request into two requests.") +(defvoo nntp-xref-number-is-evil nil + "*If non-nil, Gnus never trusts article numbers in the Xref header. +Some news servers, e.g., ones running Diablo, run multiple engines +having the same articles but article numbers are not kept synchronized +between them. If you connect to such a server, set this to a non-nil +value, and Gnus never uses article numbers (that appear in the Xref +header and vary by which engine is chosen) to refer to articles.") + (defvoo nntp-prepare-server-hook nil "*Hook run before a server is opened. If can be used to set up a server remotely, for instance. Say you @@ -1632,7 +1640,8 @@ (match-string 1 xref)) (t ""))) (cond - ((and (setq xref (mail-fetch-field "xref")) + ((and (not nntp-xref-number-is-evil) + (setq xref (mail-fetch-field "xref")) (string-match (if group (concat "\\(" (regexp-quote group) "\\):\\([0-9]+\\)") diff -r c8072938bf22 -r 28c0174177f4 man/ChangeLog --- a/man/ChangeLog Mon Aug 13 11:47:43 2007 +0000 +++ b/man/ChangeLog Mon Aug 13 13:44:55 2007 +0000 @@ -1,3 +1,7 @@ +2007-08-10 Katsumi Yamaoka + + * gnus.texi (NNTP): Mention nntp-xref-number-is-evil. + 2007-08-08 Glenn Morris * glossary.texi (Glossary): Deprecate `iff'. diff -r c8072938bf22 -r 28c0174177f4 man/gnus.texi --- a/man/gnus.texi Mon Aug 13 11:47:43 2007 +0000 +++ b/man/gnus.texi Mon Aug 13 13:44:55 2007 +0000 @@ -12945,6 +12945,34 @@ that fetching will probably be slower. If this variable is @code{nil}, @code{nntp} will never split requests. The default is 5. +@item nntp-xref-number-is-evil +@vindex nntp-xref-number-is-evil +When Gnus refers to an article having the @code{Message-ID} that a user +specifies or having the @code{Message-ID} of the parent article of the +current one (@pxref{Finding the Parent}), Gnus sends a @code{HEAD} +command to the @acronym{NNTP} server to know where it is, and the server +returns the data containing the pairs of a group and an article number +in the @code{Xref} header. Gnus normally uses the article number to +refer to the article if the data shows that that article is in the +current group, while it uses the @code{Message-ID} otherwise. However, +some news servers, e.g., ones running Diablo, run multiple engines +having the same articles but article numbers are not kept synchronized +between them. In that case, the article number that appears in the +@code{Xref} header varies by which engine is chosen, so you cannot refer +to the parent article that is in the current group, for instance. If +you connect to such a server, set this variable to a non-@code{nil} +value, and Gnus never uses article numbers. For example: + +@lisp +(setq gnus-select-method + '(nntp "newszilla" + (nntp-address "newszilla.example.com") + (nntp-xref-number-is-evil t) + @dots{})) +@end lisp + +The default value of this server variable is @code{nil}. + @item nntp-prepare-server-hook @vindex nntp-prepare-server-hook A hook run before attempting to connect to an @acronym{NNTP} server.