gnus-art.el (gnus-inhibit-images): New user option.
* gnus-art.el (gnus-inhibit-images): New user option. (gnus-mime-display-single): Don't display image if it is non-nil. * mm-decode.el (mm-shr): Bind shr-inhibit-images to the value of gnus-inhibit-images. * shr.el (shr-image-displayer): New function. (shr-tag-img): Use it.
This commit is contained in:
parent
6b4bb7039f
commit
40de2c6dd3
4 changed files with 43 additions and 5 deletions
|
@ -1,3 +1,14 @@
|
|||
2010-11-17 Katsumi Yamaoka <yamaoka@jpl.org>
|
||||
|
||||
* gnus-art.el (gnus-inhibit-images): New user option.
|
||||
(gnus-mime-display-single): Don't display image if it is non-nil.
|
||||
|
||||
* mm-decode.el (mm-shr): Bind shr-inhibit-images to the value of
|
||||
gnus-inhibit-images.
|
||||
|
||||
* shr.el (shr-image-displayer): New function.
|
||||
(shr-tag-img): Use it.
|
||||
|
||||
2010-11-16 Daniel Dehennin <daniel.dehennin@baby-gnu.org>
|
||||
|
||||
* mml2015.el (mml2015-epg-sign): Use From header.
|
||||
|
|
|
@ -1636,6 +1636,12 @@ This requires GNU Libidn, and by default only enabled if it is found."
|
|||
:group 'gnus-article
|
||||
:type 'boolean)
|
||||
|
||||
(defcustom gnus-inhibit-images nil
|
||||
"Non-nil means inhibit displaying of images inline in the article body."
|
||||
:version "24.1"
|
||||
:group 'gnus-article
|
||||
:type 'boolean)
|
||||
|
||||
(defcustom gnus-blocked-images 'gnus-block-private-groups
|
||||
"Images that have URLs matching this regexp will be blocked.
|
||||
This can also be a function to be evaluated. If so, it will be
|
||||
|
@ -5845,7 +5851,9 @@ If displaying \"text/html\" is discouraged \(see
|
|||
(while ignored
|
||||
(when (string-match (pop ignored) type)
|
||||
(throw 'ignored nil)))
|
||||
(if (and (setq not-attachment
|
||||
(if (and (not (and gnus-inhibit-images
|
||||
(string-match "\\`image/" type)))
|
||||
(setq not-attachment
|
||||
(and (not (mm-inline-override-p handle))
|
||||
(or (not (mm-handle-disposition handle))
|
||||
(equal (car (mm-handle-disposition handle))
|
||||
|
|
|
@ -1687,6 +1687,7 @@ If RECURSIVE, search recursively."
|
|||
(start end &optional base-url))
|
||||
(declare-function shr-insert-document "shr" (dom))
|
||||
(defvar shr-blocked-images)
|
||||
(defvar gnus-inhibit-images)
|
||||
(autoload 'gnus-blocked-images "gnus-art")
|
||||
|
||||
(defun mm-shr (handle)
|
||||
|
@ -1703,6 +1704,7 @@ If RECURSIVE, search recursively."
|
|||
(when handle
|
||||
(mm-with-part handle
|
||||
(buffer-string))))))
|
||||
(shr-inhibit-images gnus-inhibit-images)
|
||||
charset)
|
||||
(unless handle
|
||||
(setq handle (mm-dissect-buffer t)))
|
||||
|
|
|
@ -435,6 +435,26 @@ Return a string with image data."
|
|||
(search-forward "\r\n\r\n" nil t))
|
||||
(buffer-substring (point) (point-max))))))
|
||||
|
||||
(defun shr-image-displayer (content-function)
|
||||
"Return a function to display an image.
|
||||
CONTENT-FUNCTION is a function to retrieve an image for a cid url that
|
||||
is an argument. The function to be returned takes three arguments URL,
|
||||
START, and END."
|
||||
`(lambda (url start end)
|
||||
(if (string-match "\\`cid:" url)
|
||||
,(when content-function
|
||||
`(let ((image (funcall ,content-function
|
||||
(substring url (match-end 0)))))
|
||||
(when image
|
||||
(goto-char start)
|
||||
(shr-put-image image
|
||||
(prog1
|
||||
(buffer-substring-no-properties start end)
|
||||
(delete-region start end))))))
|
||||
(url-retrieve url 'shr-image-fetched
|
||||
(list (current-buffer) start end)
|
||||
t))))
|
||||
|
||||
(defun shr-heading (cont &rest types)
|
||||
(shr-ensure-paragraph)
|
||||
(apply #'shr-fontize-cont cont types)
|
||||
|
@ -574,10 +594,7 @@ Return a string with image data."
|
|||
(put-text-property start (point) 'shr-alt alt)
|
||||
(put-text-property start (point) 'image-url url)
|
||||
(put-text-property start (point) 'image-displayer
|
||||
(lambda (url start end)
|
||||
(url-retrieve url 'shr-image-fetched
|
||||
(list (current-buffer) start end)
|
||||
t)))
|
||||
(shr-image-displayer shr-content-function))
|
||||
(put-text-property start (point) 'help-echo alt)
|
||||
(setq shr-state 'image)))))
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue