* mml.el (mml-insert-mime): Ignore cached contents of message/external-body
authorKatsumi Yamaoka <yamaoka@jpl.org>
Thu, 23 Mar 2006 14:25:20 +0000 (14:25 +0000)
committerKatsumi Yamaoka <yamaoka@jpl.org>
Thu, 23 Mar 2006 14:25:20 +0000 (14:25 +0000)
 part.

* mm-decode.el (mm-get-part): Add optional 'no-cache' argument.
(mm-insert-part): Ditto.

lisp/ChangeLog
lisp/mm-decode.el
lisp/mml.el

index ce7bf4d..7b2f96d 100644 (file)
@@ -1,3 +1,11 @@
+2006-03-23  Katsumi Yamaoka  <yamaoka@jpl.org>
+
+       * 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-23  Reiner Steib  <Reiner.Steib@gmx.de>
 
        * pgg-gpg.el (pgg-gpg-update-agent): Only use make-network-process
index d47636b..99076cc 100644 (file)
@@ -1097,9 +1097,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))
@@ -1108,8 +1111,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)
@@ -1117,9 +1122,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."
index 23def1b..157b748 100644 (file)
@@ -804,7 +804,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)))))