Function: rmail-mime-insert-text
rmail-mime-insert-text is a byte-compiled function defined in
rmailmm.el.gz.
Signature
(rmail-mime-insert-text ENTITY)
Documentation
Presentation handler for a plain text MIME entity.
Source Code
;; Defined in /usr/src/emacs/lisp/mail/rmailmm.el.gz
(defun rmail-mime-insert-text (entity)
"Presentation handler for a plain text MIME entity."
(let ((current (aref (rmail-mime-entity-display entity) 0))
(new (aref (rmail-mime-entity-display entity) 1))
(header (rmail-mime-entity-header entity))
;; (tagline (rmail-mime-entity-tagline entity))
(body (rmail-mime-entity-body entity))
(beg (point))
(segment (rmail-mime-entity-segment (point) entity)))
(or (integerp (aref body 0)) (markerp (aref body 0))
(let ((data (buffer-string)))
(aset body 0 data)
(delete-region (point-min) (point-max))))
;; header
(if (eq (rmail-mime-display-header current)
(rmail-mime-display-header new))
(goto-char (aref segment 2))
(if (rmail-mime-display-header current)
(delete-char (- (aref segment 2) (aref segment 1))))
(if (rmail-mime-display-header new)
(rmail-mime-insert-header header)))
;; tagline
(if (eq (rmail-mime-display-tagline current)
(rmail-mime-display-tagline new))
(if (or (not (rmail-mime-display-tagline current))
(eq (rmail-mime-display-body current)
(rmail-mime-display-body new)))
(forward-char (- (aref segment 3) (aref segment 2)))
(rmail-mime-update-tagline entity))
(if (rmail-mime-display-tagline current)
(delete-char (- (aref segment 3) (aref segment 2))))
(if (rmail-mime-display-tagline new)
(rmail-mime-insert-tagline entity)))
;; body
(if (eq (rmail-mime-display-body current)
(rmail-mime-display-body new))
(forward-char (- (aref segment 4) (aref segment 3)))
(if (rmail-mime-display-body current)
(delete-char (- (aref segment 4) (aref segment 3))))
(if (rmail-mime-display-body new)
(rmail-mime-insert-decoded-text entity)))
(put-text-property beg (point) 'rmail-mime-entity entity)))