changeset 110109:8c2040cb14d7

gnus-html.el (gnus-html-wash-tags): Don't show images that are really small. They're probably tracking images; nntp.el (nntp-request-set-mark): Refuse to do marks if nntp-marks-file-name is nil.
author Katsumi Yamaoka <yamaoka@jpl.org>
date Thu, 02 Sep 2010 01:29:42 +0000
parents 5412f2e311ef
children 91cc7bab2ca4
files lisp/gnus/ChangeLog lisp/gnus/gnus-html.el lisp/gnus/nntp.el
diffstat 3 files changed, 37 insertions(+), 16 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/gnus/ChangeLog	Thu Sep 02 01:24:21 2010 +0000
+++ b/lisp/gnus/ChangeLog	Thu Sep 02 01:29:42 2010 +0000
@@ -1,3 +1,11 @@
+2010-09-01  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+	* gnus-html.el (gnus-html-wash-tags): Don't show images that are really
+	small. They're probably tracking images.
+
+	* nntp.el (nntp-request-set-mark): Refuse to do marks if
+	nntp-marks-file-name is nil.
+
 2010-09-01  Teodor Zlatanov  <tzz@lifelogs.com>
 
 	* gnus-html.el (gnus-html-wash-tags)
--- a/lisp/gnus/gnus-html.el	Thu Sep 02 01:24:21 2010 +0000
+++ b/lisp/gnus/gnus-html.el	Thu Sep 02 01:29:42 2010 +0000
@@ -94,7 +94,7 @@
 				 "-o" "pre_conv=1"
 				 "-t" (format "%s" tab-width)
 				 "-cols" (format "%s" gnus-html-frame-width)
-				 "-o" "display_image=off"
+				 "-o" "display_image=on"
 				 "-T" "text/html"))))
       (gnus-html-wash-tags))))
 
@@ -142,19 +142,30 @@
 			 (with-current-buffer gnus-summary-buffer
 			   gnus-blocked-images)
 		       gnus-blocked-images))
-	      (let ((file (gnus-html-image-id url)))
-		(if (file-exists-p file)
-		    ;; It's already cached, so just insert it.
-		    (let ((string (buffer-substring start end)))
-		      ;; Delete the ALT text.
-		      (delete-region start end)
-		      (gnus-html-put-image file (point) string))
-		  ;; We don't have it, so schedule it for fetching
-		  ;; asynchronously.
-		  (push (list url
-			      (set-marker (make-marker) start)
-			      (point-marker))
-			images)))))))
+	      (let ((file (gnus-html-image-id url))
+		    width height)
+		(when (string-match "height=\"?\\([0-9]+\\)" parameters)
+		  (setq height (string-to-number (match-string 1 parameters))))
+		(when (string-match "width=\"?\\([0-9]+\\)" parameters)
+		  (setq width (string-to-number (match-string 1 parameters))))
+		;; Don't fetch images that are really small.  They're
+		;; probably tracking pictures.
+		(when (and (or (null height)
+			       (> height 4))
+			   (or (null width)
+			       (> width 4)))
+		  (if (file-exists-p file)
+		      ;; It's already cached, so just insert it.
+		      (let ((string (buffer-substring start end)))
+			;; Delete the ALT text.
+			(delete-region start end)
+			(gnus-html-put-image file (point) string))
+		    ;; We don't have it, so schedule it for fetching
+		    ;; asynchronously.
+		    (push (list url
+				(set-marker (make-marker) start)
+				(point-marker))
+			  images))))))))
        ;; Add a link.
        ((or (equal tag "a")
 	    (equal tag "A"))
--- a/lisp/gnus/nntp.el	Thu Sep 02 01:24:21 2010 +0000
+++ b/lisp/gnus/nntp.el	Thu Sep 02 01:29:42 2010 +0000
@@ -1109,7 +1109,8 @@
   t)
 
 (deffoo nntp-request-set-mark (group actions &optional server)
-  (unless nntp-marks-is-evil
+  (when (and (not nntp-marks-is-evil)
+	     nntp-marks-file-name)
     (nntp-possibly-create-directory group server)
     (nntp-open-marks group server)
     (dolist (action actions)
@@ -1129,7 +1130,8 @@
   nil)
 
 (deffoo nntp-request-update-info (group info &optional server)
-  (unless nntp-marks-is-evil
+  (when (and (not nntp-marks-is-evil)
+	     nntp-marks-file-name)
     (nntp-possibly-create-directory group server)
     (when (nntp-marks-changed-p group server)
       (nnheader-message 8 "Updating marks for %s..." group)