- (gnus-put-image image)))
- ;; Normal, external URL.
- (let ((file (gnus-html-image-id url)))
- (if (file-exists-p file)
- ;; It's already cached, so just insert it.
- (when (gnus-html-put-image file (point))
- ;; Delete the ALT text.
- (delete-region start end))
- ;; We don't have it, so schedule it for fetching
- ;; asynchronously.
- (push (list url
- (set-marker (make-marker) start)
- (point-marker))
- images)))))))
+ (gnus-put-image image (gnus-string-or string "*")))))
+ ;; Normal, external URL.
+ (unless (gnus-html-image-url-blocked-p
+ url
+ (if (buffer-live-p gnus-summary-buffer)
+ (with-current-buffer gnus-summary-buffer
+ gnus-blocked-images)
+ gnus-blocked-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))))))))