changeset 65388:45be648405bb

Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-536 Merge from gnus--rel--5.10 Patches applied: * gnus--rel--5.10 (patch 112-114) - Update from CVS 2005-09-07 Reiner Steib <Reiner.Steib@gmx.de> * lisp/gnus/spam-report.el (spam-report-gmane): Make it work without X-Report-Spam header. Gmane now only provides Archived-At. This is only used if `spam-report-gmane-use-article-number' is nil. (spam-report-gmane-spam-header): Removed. Not used anymore. * lisp/gnus/nnweb.el (nnweb-google-wash-article): Print a message if article is not available. 2005-09-07 TSUCHIYA Masatoshi <tsuchiya@namazu.org> * lisp/gnus/gnus-art.el (gnus-mime-display-single): Decode text/* parts content before displaying. 2005-09-06 Reiner Steib <Reiner.Steib@gmx.de> * lisp/gnus/mml-smime.el: Remove defvar of gnus-extract-address-components. 2005-09-06 Katsumi Yamaoka <yamaoka@jpl.org> * lisp/gnus/mm-view.el (mm-display-inline-fontify): Disable support modes.
author Miles Bader <miles@gnu.org>
date Fri, 09 Sep 2005 01:47:33 +0000
parents b08e4ec02015
children 0c2fe60ac484
files lisp/gnus/ChangeLog lisp/gnus/gnus-art.el lisp/gnus/mm-view.el lisp/gnus/mml-smime.el lisp/gnus/nnweb.el lisp/gnus/spam-report.el
diffstat 6 files changed, 88 insertions(+), 35 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/gnus/ChangeLog	Fri Sep 09 01:37:45 2005 +0000
+++ b/lisp/gnus/ChangeLog	Fri Sep 09 01:47:33 2005 +0000
@@ -1,3 +1,26 @@
+2005-09-07  Reiner Steib  <Reiner.Steib@gmx.de>
+
+	* spam-report.el (spam-report-gmane): Make it work without
+	X-Report-Spam header.  Gmane now only provides Archived-At.  This
+	is only used if `spam-report-gmane-use-article-number' is nil.
+	(spam-report-gmane-spam-header): Removed.  Not used anymore.
+
+	* nnweb.el (nnweb-google-wash-article): Print a message if article
+	is not available.
+
+2005-09-07  TSUCHIYA Masatoshi  <tsuchiya@namazu.org>
+
+	* gnus-art.el (gnus-mime-display-single): Decode text/* parts
+	content before displaying.
+
+2005-09-06  Reiner Steib  <Reiner.Steib@gmx.de>
+
+	* mml-smime.el: Remove defvar of gnus-extract-address-components.
+
+2005-09-06  Katsumi Yamaoka  <yamaoka@jpl.org>
+
+	* mm-view.el (mm-display-inline-fontify): Disable support modes.
+
 2005-09-05  Reiner Steib  <Reiner.Steib@gmx.de>
 
 	* message.el (message-tab-body-function): Fixed mismatched custom
@@ -5,7 +28,7 @@
 
 	* gnus.el (gnus-group-change-level-function): Ditto.
 
-	* gnus-msg.el (gnus-outgoing-message-group):  Ditto.
+	* gnus-msg.el (gnus-outgoing-message-group): Ditto.
 
 	* gnus-art.el (gnus-signature-limit)
 	(gnus-article-mime-part-function): Ditto.
@@ -237,8 +260,6 @@
 	* gnus-util.el (gnus-beginning-of-window): Remove.
 	(gnus-end-of-window): Remove.
 
-	* lpath.el: Don't bind scroll-margin.
-
 2005-07-25  Simon Josefsson  <jas@extundo.com>
 
 	* pgg.el (pgg-insert-url-with-w3): Don't load w3, it is possible
--- a/lisp/gnus/gnus-art.el	Fri Sep 09 01:37:45 2005 +0000
+++ b/lisp/gnus/gnus-art.el	Fri Sep 09 01:47:33 2005 +0000
@@ -4862,7 +4862,14 @@
 	      (forward-line -1)
 	      (setq beg (point)))
 	    (gnus-article-insert-newline)
-	    (mm-insert-inline handle (mm-get-part handle))
+	    (mm-insert-inline handle
+			      (let ((charset
+				     (mail-content-type-get
+				      (mm-handle-type handle) 'charset)))
+				(if (eq charset 'gnus-decoded)
+				    (mm-get-part handle)
+				  (mm-decode-string (mm-get-part handle)
+						    charset))))
 	    (goto-char (point-max))))
 	  ;; Do highlighting.
 	  (save-excursion
--- a/lisp/gnus/mm-view.el	Fri Sep 09 01:37:45 2005 +0000
+++ b/lisp/gnus/mm-view.el	Fri Sep 09 01:47:33 2005 +0000
@@ -476,14 +476,16 @@
 	    (buffer-disable-undo)
 	    (mm-insert-part handle)
 	    (require 'font-lock)
-	    ;; Inhibit font-lock this time (*-mode-hook might run
-	    ;; `turn-on-font-lock') so that jit-lock may not turn off
-	    ;; font-lock immediately after this.
-	    (let ((font-lock-mode t))
-	      (funcall mode))
-	    (let ((font-lock-verbose nil))
-	      ;; I find font-lock a bit too verbose.
-	      (font-lock-fontify-buffer))
+	    (let ((font-lock-maximum-size nil)
+		  ;; Disable support modes, e.g., jit-lock, lazy-lock, etc.
+		  (font-lock-mode-hook nil)
+		  (font-lock-support-mode nil)
+		  ;; I find font-lock a bit too verbose.
+		  (font-lock-verbose nil))
+	      (funcall mode)
+	      ;; The mode function might have already turned on font-lock.
+	      (unless (symbol-value 'font-lock-mode)
+		(font-lock-fontify-buffer)))
 	    ;; By default, XEmacs font-lock uses non-duplicable text
 	    ;; properties.  This code forces all the text properties
 	    ;; to be copied along with the text.
--- a/lisp/gnus/mml-smime.el	Fri Sep 09 01:37:45 2005 +0000
+++ b/lisp/gnus/mml-smime.el	Fri Sep 09 01:47:33 2005 +0000
@@ -29,8 +29,6 @@
 
 (eval-when-compile (require 'cl))
 
-(defvar gnus-extract-address-components)
-
 (require 'smime)
 (require 'mm-decode)
 (autoload 'message-narrow-to-headers "message")
--- a/lisp/gnus/nnweb.el	Fri Sep 09 01:37:45 2005 +0000
+++ b/lisp/gnus/nnweb.el	Fri Sep 09 01:47:33 2005 +0000
@@ -319,12 +319,22 @@
   ;; We have Google's masked e-mail addresses here.  :-/
   (let ((case-fold-search t))
     (goto-char (point-min))
-    (delete-region (point-min)
-		   (1+ (re-search-forward "^<pre>" nil t)))
-    (goto-char (point-min))
-    (delete-region (- (re-search-forward "^</pre>" nil t) (length "</pre>"))
-		   (point-max))
-    (mm-url-decode-entities)))
+    (if (save-excursion
+	  (or (re-search-forward "The requested message.*could not be found."
+				 nil t)
+	      (not (and (re-search-forward "^<pre>" nil t)
+			(re-search-forward "^</pre>" nil t)))))
+	;; FIXME: Don't know how to indicate "not found".
+	;; Should this function throw an error?  --rsteib
+	(progn
+	  (gnus-message 3 "Requested article not found")
+	  (erase-buffer))
+      (delete-region (point-min)
+		     (1+ (re-search-forward "^<pre>" nil t)))
+      (goto-char (point-min))
+      (delete-region (- (re-search-forward "^</pre>" nil t) (length "</pre>"))
+		     (point-max))
+      (mm-url-decode-entities))))
 
 (defun nnweb-google-parse-1 (&optional Message-ID)
   (let ((i 0)
--- a/lisp/gnus/spam-report.el	Fri Sep 09 01:37:45 2005 +0000
+++ b/lisp/gnus/spam-report.el	Fri Sep 09 01:47:33 2005 +0000
@@ -49,12 +49,6 @@
 		(regexp :value "^nntp\+.*:gmane\."))
   :group 'spam-report)
 
-(defcustom spam-report-gmane-spam-header
-  "^X-Report-Spam: http://\\([^/]+\\)\\(.*\\)$"
-  "String matching Gmane spam-reporting header.  Two match groups are needed."
-  :type 'regexp
-  :group 'spam-report)
-
 (defcustom spam-report-gmane-use-article-number t
   "Whether the article number (faster!) or the header should be used."
   :type 'boolean
@@ -103,19 +97,40 @@
 		   article))
 	(with-current-buffer nntp-server-buffer
 	  (gnus-request-head article gnus-newsgroup-name)
-	  (goto-char (point-min))
-	  (if (re-search-forward spam-report-gmane-spam-header nil t)
-	      (let* ((host (match-string 1))
-		     (report (match-string 2))
-		     (url (format "http://%s%s" host report)))
-		(gnus-message 7 "Reporting spam through URL %s..." url)
-		(spam-report-url-ping host report))
-	    (gnus-message 3 "Could not find X-Report-Spam in article %d..."
-			  article)))))))
+	  (let ((case-fold-search t)
+		field host report url)
+	    ;; First check for X-Report-Spam because it's more specific to
+	    ;; spam reporting than Archived-At.  OTOH, all new articles on
+	    ;; Gmane don't have X-Report-Spam anymore (unless Lars changes his
+	    ;; mind :-)).
+	    ;;
+	    ;; There might be more than one Archived-At header so we need to
+	    ;; find (and transform) the one related to Gmane.
+	    (setq field (or (gnus-fetch-field "X-Report-Spam")
+			    (gnus-fetch-field "Archived-At")))
+	    (setq host (progn
+			 (string-match
+			  (concat "http://\\([a-z]+\\.gmane\\.org\\)"
+				  "\\(/[^:/]+[:/][0-9]+\\)")
+			  field)
+			 (match-string 1 field)))
+	    (setq report (match-string 2 field))
+	    (when (string-equal "permalink.gmane.org" host)
+	      (setq host "spam.gmane.org"))
+	    (setq url (format "http://%s%s" host report))
+	    (if (not (and host report url))
+		(gnus-message
+		 3 "Could not find a spam report header in article %d..."
+		 article)
+	      (gnus-message 7 "Reporting spam through URL %s..." url)
+	      (spam-report-url-ping host report))))))))
 
 (defun spam-report-url-ping (host report)
   "Ping a host through HTTP, addressing a specific GET resource using
 the function specified by `spam-report-url-ping-function'."
+  ;; Example:
+  ;; host: "spam.gmane.org"
+  ;; report: "/gmane.some.group:123456"
   (funcall spam-report-url-ping-function host report))
 
 (defun spam-report-url-ping-plain (host report)