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)))))))))