Mercurial > emacs
changeset 105211:7c61dadc38f9
(rmail-mime-show-images, rmail-mime-bulk-handler):
Add option to only show images below a certain size.
(rmail-mime-multipart-handler): Remove unnecessary save-match-data and
save-excursion calls.
author | Glenn Morris <rgm@gnu.org> |
---|---|
date | Sat, 26 Sep 2009 19:20:48 +0000 |
parents | b040364df558 |
children | f4199c624c3c |
files | lisp/ChangeLog lisp/mail/rmailmm.el |
diffstat | 2 files changed, 22 insertions(+), 12 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/ChangeLog Sat Sep 26 18:43:22 2009 +0000 +++ b/lisp/ChangeLog Sat Sep 26 19:20:48 2009 +0000 @@ -1,3 +1,10 @@ +2009-09-26 Glenn Morris <rgm@gnu.org> + + * mail/rmailmm.el (rmail-mime-show-images, rmail-mime-bulk-handler): + Add option to only show images below a certain size. + (rmail-mime-multipart-handler): Remove unnecessary save-match-data and + save-excursion calls. + 2009-09-26 Eli Zaretskii <eliz@gnu.org> * makefile.w32-in (WINS_ALMOST): Add cedet (with its
--- a/lisp/mail/rmailmm.el Sat Sep 26 18:43:22 2009 +0000 +++ b/lisp/mail/rmailmm.el Sat Sep 26 19:20:48 2009 +0000 @@ -31,6 +31,7 @@ ;; Todo: ;; Handle multipart/alternative. +;; Offer the option to call external/internal viewers (doc-view, xpdf, etc). ;;; Code: @@ -48,8 +49,6 @@ '(("multipart/.*" rmail-mime-multipart-handler) ("text/.*" rmail-mime-text-handler) ("text/\\(x-\\)?patch" rmail-mime-bulk-handler) - ;; FIXME this handler not defined anywhere? -;;; ("application/pgp-signature" rmail-mime-application/pgp-signature-handler) ("\\(image\\|audio\\|video\\|application\\)/.*" rmail-mime-bulk-handler)) "Functions to handle various content types. This is an alist with elements of the form (REGEXP FUNCTION ...). @@ -78,10 +77,13 @@ (defcustom rmail-mime-show-images 'button "What to do with image attachments that Emacs is capable of displaying. If nil, do nothing special. If `button', add an extra button -that when pushed displays the image in the buffer. Anything else -means to automatically display the image in the buffer." +that when pushed displays the image in the buffer. If a number, +automatically show images if they are smaller than that size (in +bytes), otherwise add a display button. Anything else means to +automatically display the image in the buffer." :type '(choice (const :tag "Add button to view image" button) (const :tag "No special treatment" nil) + (number :tag "Show if smaller than certain size") (other :tag "Always show" show)) :version "23.2" :group 'rmail-mime) @@ -179,6 +181,7 @@ (data (buffer-string)) (udata (string-as-unibyte data)) (size (length udata)) + (osize size) (units '(B kB MB GB)) type) (while (and (> size 1024.0) ; cribbed from gnus-agent-expire-done-message @@ -201,7 +204,9 @@ (memq type image-types) (image-type-available-p type)) (insert " ") - (cond ((eq rmail-mime-show-images 'button) + (cond ((or (eq rmail-mime-show-images 'button) + (and (numberp rmail-mime-show-images) + (>= osize rmail-mime-show-images))) (insert-button "Display" :type 'rmail-mime-image 'help-echo "mouse-2, RET: Show image" @@ -277,13 +282,11 @@ content-transfer-encoding))) (delete-region end next) ;; Handle the part. - (save-match-data - (save-excursion - (save-restriction - (narrow-to-region beg end) - (rmail-mime-show)))) - (setq beg next) - (goto-char beg)))) + (save-restriction + (narrow-to-region beg end) + (rmail-mime-show)) + (goto-char (setq beg next))))) + (defun test-rmail-mime-multipart-handler () "Test of a mail used as an example in RFC 2046."