Function: gnus-display-mime
gnus-display-mime is a byte-compiled function defined in
gnus-art.el.gz.
Signature
(gnus-display-mime &optional IHANDLES)
Documentation
Display the MIME parts.
Source Code
;; Defined in /usr/src/emacs/lisp/gnus/gnus-art.el.gz
(defun gnus-display-mime (&optional ihandles)
"Display the MIME parts."
(save-excursion
(save-selected-window
(let ((window (get-buffer-window gnus-article-buffer))
(point (point)))
(when window
(select-window window)
;; We have to do this since selecting the window
;; may change the point. So we set the window point.
(set-window-point window point)))
(let ((handles ihandles)
(inhibit-read-only t))
(cond (handles)
((setq handles (mm-dissect-buffer nil gnus-article-loose-mime))
(when gnus-article-emulate-mime
(mm-uu-dissect-text-parts handles)))
(gnus-article-emulate-mime
(setq handles (mm-uu-dissect))))
(when (and (not ihandles)
(not gnus-displaying-mime))
;; Top-level call; we clean up.
(when gnus-article-mime-handles
(mm-destroy-parts gnus-article-mime-handles)
(setq gnus-article-mime-handle-alist nil));; A trick.
(setq gnus-article-mime-handles handles)
;; We allow users to glean info from the handles.
(when gnus-article-mime-part-function
(gnus-mime-part-function handles)))
(if (and handles
(or (not (stringp (car handles)))
(cdr handles)))
(progn
(when (and (not ihandles)
(not gnus-displaying-mime))
;; Clean up for mime parts.
(article-goto-body)
(delete-region (point) (point-max)))
(let ((gnus-displaying-mime t))
(gnus-mime-display-part handles)))
(save-restriction
(article-goto-body)
(narrow-to-region (point) (point-max))
(gnus-treat-article nil 1 1 "text/plain")
(widen)))
(unless ihandles
;; Highlight the headers.
(save-excursion
(save-restriction
(article-goto-body)
(narrow-to-region (point-min) (point))
(gnus-article-save-original-date
(gnus-treat-article 'head)))))))
;; Cope with broken MIME messages.
(goto-char (point-max))
(unless (bolp)
(insert "\n"))))