Function: mm-extern-cache-contents
mm-extern-cache-contents is an autoloaded and byte-compiled function
defined in mm-extern.el.gz.
Signature
(mm-extern-cache-contents HANDLE)
Documentation
Put the external-body part of HANDLE into its cache.
Source Code
;; Defined in /usr/src/emacs/lisp/gnus/mm-extern.el.gz
;;;###autoload
(defun mm-extern-cache-contents (handle)
"Put the external-body part of HANDLE into its cache."
(let* ((access-type (cdr (assq 'access-type
(cdr (mm-handle-type handle)))))
(func (cdr (assq (intern
(downcase
(or access-type
(error "Couldn't find access type"))))
mm-extern-function-alist)))
handles)
(unless func
(error "Access type (%s) is not supported" access-type))
(mm-with-part handle
(goto-char (point-max))
(insert "\n\n")
;; It should be just a single MIME handle.
(setq handles (mm-dissect-buffer t)))
(unless (bufferp (car handles))
(mm-destroy-parts handles)
(error "Multipart external body is not supported"))
(with-current-buffer (mm-handle-buffer handles)
(let (good)
(unwind-protect
(progn
(funcall func handle)
(setq good t))
(unless good
(mm-destroy-parts handles))))
(mm-handle-set-cache handle handles))
(setq gnus-article-mime-handles
(mm-merge-handles gnus-article-mime-handles handles))))