diff lisp/gnus/gnus-html.el @ 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
line wrap: on
line diff
--- 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"))