From 3b807f0d2dfdd28895e3b998bce2c06955faf030 Mon Sep 17 00:00:00 2001 From: Miles Bader Date: Mon, 13 Aug 2007 13:44:55 +0000 Subject: [PATCH] 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 --- lisp/gnus/ChangeLog | 14 ++++++++++++++ lisp/gnus/gnus-art.el | 2 +- lisp/gnus/gnus-ems.el | 2 +- lisp/gnus/nntp.el | 11 ++++++++++- man/ChangeLog | 4 ++++ man/gnus.texi | 28 ++++++++++++++++++++++++++++ 6 files changed, 58 insertions(+), 3 deletions(-) diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index 807a853ba56..7fd187a4aeb 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog @@ -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 --git a/lisp/gnus/gnus-art.el b/lisp/gnus/gnus-art.el index 40de10187f3..6ccba3b108f 100644 --- a/lisp/gnus/gnus-art.el +++ b/lisp/gnus/gnus-art.el @@ -1743,7 +1743,7 @@ Initialized from `text-mode-syntax-table.") (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 --git a/lisp/gnus/gnus-ems.el b/lisp/gnus/gnus-ems.el index bacf5581e0d..88190b8085b 100644 --- a/lisp/gnus/gnus-ems.el +++ b/lisp/gnus/gnus-ems.el @@ -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 --git a/lisp/gnus/nntp.el b/lisp/gnus/nntp.el index 869213c9ae5..2623df58e4d 100644 --- a/lisp/gnus/nntp.el +++ b/lisp/gnus/nntp.el @@ -183,6 +183,14 @@ by one.") 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 @@ password contained in '~/.nntp-authinfo'." (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 --git a/man/ChangeLog b/man/ChangeLog index 39895247477..479f25e7267 100644 --- a/man/ChangeLog +++ b/man/ChangeLog @@ -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 --git a/man/gnus.texi b/man/gnus.texi index ff8371df46c..94144b65e3f 100644 --- a/man/gnus.texi +++ b/man/gnus.texi @@ -12945,6 +12945,34 @@ network is fast, setting this variable to a really small number means 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. -- 2.39.2