summaryrefslogtreecommitdiff
path: root/lisp/gnus/gnus-html.el
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/gnus/gnus-html.el')
-rw-r--r--lisp/gnus/gnus-html.el116
1 files changed, 58 insertions, 58 deletions
diff --git a/lisp/gnus/gnus-html.el b/lisp/gnus/gnus-html.el
index 855d085c3a9..6a0cc0b47dc 100644
--- a/lisp/gnus/gnus-html.el
+++ b/lisp/gnus/gnus-html.el
@@ -151,7 +151,7 @@ fit these criteria."
(defun gnus-html-wash-images ()
"Run through current buffer and replace img tags by images."
- (let (tag parameters string start end images url alt-text
+ (let (tag parameters string start end images
inhibit-images blocked-images)
(if (buffer-live-p gnus-summary-buffer)
(with-current-buffer gnus-summary-buffer
@@ -169,65 +169,65 @@ fit these criteria."
(delete-region (match-beginning 0) (match-end 0)))
(setq end (point))
(when (string-match "src=\"\\([^\"]+\\)" parameters)
- (gnus-message 8 "gnus-html-wash-tags: fetching image URL %s" url)
- (setq url (gnus-html-encode-url (match-string 1 parameters))
- alt-text (when (string-match "\\(alt\\|title\\)=\"\\([^\"]+\\)"
- parameters)
- (xml-substitute-special (match-string 2 parameters))))
- (add-text-properties
- start end
- (list 'image-url url
- 'image-displayer `(lambda (url start end)
- (gnus-html-display-image url start end
- ,alt-text))
- 'help-echo alt-text
- 'button t
- 'keymap gnus-html-image-map
- 'gnus-image (list url start end alt-text)))
- (if (string-match "\\`cid:" url)
- ;; URLs with cid: have their content stashed in other
- ;; parts of the MIME structure, so just insert them
- ;; immediately.
- (let* ((handle (mm-get-content-id (substring url (match-end 0))))
- (image (when (and handle
- (not inhibit-images))
- (gnus-create-image
- (mm-with-part handle (buffer-string))
- nil t))))
- (if image
- (gnus-add-image
- 'cid
- (gnus-put-image
- (gnus-rescale-image
- image (gnus-html-maximum-image-size))
- (gnus-string-or (prog1
- (buffer-substring start end)
- (delete-region start end))
- "*")
- 'cid))
+ (let ((url (gnus-html-encode-url (match-string 1 parameters)))
+ (alt-text (when (string-match "\\(alt\\|title\\)=\"\\([^\"]+\\)"
+ parameters)
+ (xml-substitute-special (match-string 2 parameters)))))
+ (gnus-message 8 "gnus-html-wash-tags: fetching image URL %s" url)
+ (add-text-properties
+ start end
+ (list 'image-url url
+ 'image-displayer `(lambda (url start end)
+ (gnus-html-display-image url start end
+ ,alt-text))
+ 'help-echo alt-text
+ 'button t
+ 'keymap gnus-html-image-map
+ 'gnus-image (list url start end alt-text)))
+ (if (string-match "\\`cid:" url)
+ ;; URLs with cid: have their content stashed in other
+ ;; parts of the MIME structure, so just insert them
+ ;; immediately.
+ (let* ((handle (mm-get-content-id (substring url (match-end 0))))
+ (image (when (and handle
+ (not inhibit-images))
+ (gnus-create-image
+ (mm-with-part handle (buffer-string))
+ nil t))))
+ (if image
+ (gnus-add-image
+ 'cid
+ (gnus-put-image
+ (gnus-rescale-image
+ image (gnus-html-maximum-image-size))
+ (gnus-string-or (prog1
+ (buffer-substring start end)
+ (delete-region start end))
+ "*")
+ 'cid))
+ (make-text-button start end
+ 'help-echo url
+ 'keymap gnus-html-image-map)))
+ ;; Normal, external URL.
+ (if (or inhibit-images
+ (gnus-html-image-url-blocked-p url blocked-images))
(make-text-button start end
'help-echo url
- 'keymap gnus-html-image-map)))
- ;; Normal, external URL.
- (if (or inhibit-images
- (gnus-html-image-url-blocked-p url blocked-images))
- (make-text-button start end
- 'help-echo url
- 'keymap gnus-html-image-map)
- ;; Non-blocked url
- (let ((width
- (when (string-match "width=\"?\\([0-9]+\\)" parameters)
- (string-to-number (match-string 1 parameters))))
- (height
- (when (string-match "height=\"?\\([0-9]+\\)" parameters)
- (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)))
- (gnus-html-display-image url start end alt-text)))))))))
+ 'keymap gnus-html-image-map)
+ ;; Non-blocked url
+ (let ((width
+ (when (string-match "width=\"?\\([0-9]+\\)" parameters)
+ (string-to-number (match-string 1 parameters))))
+ (height
+ (when (string-match "height=\"?\\([0-9]+\\)" parameters)
+ (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)))
+ (gnus-html-display-image url start end alt-text))))))))))
(defun gnus-html-display-image (url start end &optional alt-text)
"Display image at URL on text from START to END.