changeset 78546:28c0174177f4

Merge from gnus--rel--5.10 Patches applied: * gnus--rel--5.10 (patch 242-244) - Update from CVS 2007-08-10 Katsumi Yamaoka <yamaoka@jpl.org> * 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 <yamaoka@jpl.org> * lisp/gnus/gnus-ems.el (gnus-x-splash): Bind inhibit-read-only to t. 2007-08-04 Reiner Steib <Reiner.Steib@gmx.de> * lisp/gnus/gnus-art.el (article-hide-headers): Bind inhibit-read-only to t. 2007-08-10 Katsumi Yamaoka <yamaoka@jpl.org> * man/gnus.texi (NNTP): Mention nntp-xref-number-is-evil. Revision: emacs@sv.gnu.org/emacs--rel--22--patch-92
author Miles Bader <miles@gnu.org>
date Mon, 13 Aug 2007 13:44:55 +0000
parents c8072938bf22
children 2d3e6872bc56
files lisp/gnus/ChangeLog lisp/gnus/gnus-art.el lisp/gnus/gnus-ems.el lisp/gnus/nntp.el man/ChangeLog man/gnus.texi
diffstat 6 files changed, 58 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- 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  <yamaoka@jpl.org>
+
+	* 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  <yamaoka@jpl.org>
+
+	* gnus-ems.el (gnus-x-splash): Bind inhibit-read-only to t.
+
+2007-08-04  Reiner Steib  <Reiner.Steib@gmx.de>
+
+	* gnus-art.el (article-hide-headers): Bind inhibit-read-only to t.
+
 2007-08-08  Glenn Morris  <rgm@gnu.org>
 
 	* gmm-utils.el, gnus-async.el, gnus-msg.el, gnus-score.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)
--- 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)
--- 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]+\\)")
--- 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  <yamaoka@jpl.org>
+
+	* gnus.texi (NNTP): Mention nntp-xref-number-is-evil.
+
 2007-08-08  Glenn Morris  <rgm@gnu.org>
 
 	* glossary.texi (Glossary): Deprecate `iff'.
--- 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.