Function: mh-mm-inline-message
mh-mm-inline-message is a byte-compiled function defined in
mh-mime.el.gz.
Signature
(mh-mm-inline-message HANDLE)
Documentation
Display message, HANDLE.
The function decodes the message and displays it. It avoids decoding the same message multiple times.
Source Code
;; Defined in /usr/src/emacs/lisp/mh-e/mh-mime.el.gz
;;; MIME Display Routines
(defun mh-mm-inline-message (handle)
"Display message, HANDLE.
The function decodes the message and displays it. It avoids
decoding the same message multiple times."
(let ((b (point))
(clean-message-header mh-clean-message-header-flag)
(invisible-headers mh-invisible-header-fields-compiled)
) ;; (visible-headers nil)
(save-excursion
(save-restriction
(narrow-to-region b b)
(mm-insert-part handle)
(mh-mime-display
(or (gethash handle (mh-mime-handles-cache (mh-buffer-data)))
(setf (gethash handle (mh-mime-handles-cache (mh-buffer-data)))
(let ((handles (mm-dissect-buffer nil)))
(if handles
(mm-uu-dissect-text-parts handles)
(setq handles (mm-uu-dissect)))
(setf (mh-mime-handles (mh-buffer-data))
(mm-merge-handles
handles (mh-mime-handles (mh-buffer-data))))
handles))))
(goto-char (point-min))
(mh-show-xface)
(cond (clean-message-header
(mh-clean-msg-header (point-min)
invisible-headers
nil) ;; visible-headers
(goto-char (point-min)))
(t
(mh-start-of-uncleaned-message)))
(mh-decode-message-header)
(mh-show-addr)
;; The other highlighting types don't need anything special
(when (eq mh-highlight-citation-style 'gnus)
(mh-gnus-article-highlight-citation))
(goto-char (point-min))
(insert "\n------- Forwarded Message\n\n")
(mh-display-smileys)
(mh-display-emphasis)
(mm-handle-set-undisplayer
handle
(let ((beg (point-min-marker))
(end (point-max-marker)))
(lambda ()
(let ((inhibit-read-only t))
(delete-region beg end)))))))))