From: Miles Bader Date: Thu, 23 Mar 2006 23:51:33 +0000 (+0000) Subject: Revision: emacs@sv.gnu.org/emacs--devo--0--patch-176 X-Git-Tag: emacs-pretest-22.0.90~3452 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=77218834eef7b848d921cbd5b1107ae5a6995a7f;p=emacs.git Revision: emacs@sv.gnu.org/emacs--devo--0--patch-176 Merge from gnus--rel--5.10 Patches applied: * gnus--rel--5.10 (patch 67) - Update from CVS --- diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index 54772167f92..71940cac0db 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog @@ -1,3 +1,11 @@ +2006-03-23 Katsumi Yamaoka + + * mml.el (mml-insert-mime): Ignore cached contents of + message/external-body part. + + * mm-decode.el (mm-get-part): Add optional 'no-cache' argument. + (mm-insert-part): Ditto. + 2006-03-22 Katsumi Yamaoka * gnus-sum.el (gnus-map-articles): Don't funcall symbol macro. diff --git a/lisp/gnus/mm-decode.el b/lisp/gnus/mm-decode.el index f0f1ee430ff..60cbb413473 100644 --- a/lisp/gnus/mm-decode.el +++ b/lisp/gnus/mm-decode.el @@ -1103,9 +1103,12 @@ external if displayed external." (put 'mm-with-part 'lisp-indent-function 1) (put 'mm-with-part 'edebug-form-spec '(body)) -(defun mm-get-part (handle) - "Return the contents of HANDLE as a string." - (if (equal (mm-handle-media-type handle) "message/external-body") +(defun mm-get-part (handle &optional no-cache) + "Return the contents of HANDLE as a string. +If NO-CACHE is non-nil, cached contents of a message/external-body part +are ignored." + (if (and (not no-cache) + (equal (mm-handle-media-type handle) "message/external-body")) (progn (unless (mm-handle-cache handle) (mm-extern-cache-contents handle)) @@ -1114,8 +1117,10 @@ external if displayed external." (mm-with-part handle (buffer-string)))) -(defun mm-insert-part (handle) - "Insert the contents of HANDLE in the current buffer." +(defun mm-insert-part (handle &optional no-cache) + "Insert the contents of HANDLE in the current buffer. +If NO-CACHE is non-nil, cached contents of a message/external-body part +are ignored." (save-excursion (insert (cond ((eq (mail-content-type-get (mm-handle-type handle) 'charset) @@ -1123,9 +1128,9 @@ external if displayed external." (with-current-buffer (mm-handle-buffer handle) (buffer-string))) ((mm-multibyte-p) - (mm-string-as-multibyte (mm-get-part handle))) + (mm-string-as-multibyte (mm-get-part handle no-cache))) (t - (mm-get-part handle)))))) + (mm-get-part handle no-cache)))))) (defun mm-file-name-delete-whitespace (file-name) "Remove all whitespace characters from FILE-NAME." diff --git a/lisp/gnus/mml.el b/lisp/gnus/mml.el index cf2f527c9d1..5fb6da07668 100644 --- a/lisp/gnus/mml.el +++ b/lisp/gnus/mml.el @@ -793,7 +793,7 @@ If HANDLES is non-nil, use it instead reparsing the buffer." (unless (setq textp (equal (mm-handle-media-supertype handle) "text")) (save-excursion (set-buffer (setq buffer (mml-generate-new-buffer " *mml*"))) - (mm-insert-part handle) + (mm-insert-part handle 'no-cache) (if (setq mmlp (equal (mm-handle-media-type handle) "message/rfc822")) (mime-to-mml)))))