Function: rmail-mime-entity
rmail-mime-entity is a byte-compiled function defined in
rmailmm.el.gz.
Signature
(rmail-mime-entity TYPE DISPOSITION TRANSFER-ENCODING DISPLAY HEADER TAGLINE BODY CHILDREN HANDLER &optional TRUNCATED)
Documentation
Return a newly created MIME-entity object from arguments.
A MIME-entity is a vector of 10 elements:
[TYPE DISPOSITION TRANSFER-ENCODING DISPLAY HEADER TAGLINE BODY
CHILDREN HANDLER TRUNCATED]
TYPE and DISPOSITION correspond to MIME headers Content-Type and Content-Disposition respectively, and have this format:
(VALUE (ATTRIBUTE . VALUE) (ATTRIBUTE . VALUE) ...)
Each VALUE is a string and each ATTRIBUTE is a string.
Consider the following header, for example:
Content-Type: multipart/mixed;
boundary="----=_NextPart_000_0104_01C617E4.BDEC4C40"
The corresponding TYPE argument must be:
("multipart/mixed"
("boundary" . "----=_NextPart_000_0104_01C617E4.BDEC4C40"))
TRANSFER-ENCODING corresponds to MIME header Content-Transfer-Encoding, and is a lower-case string.
DISPLAY is a vector [CURRENT NEW], where CURRENT indicates how
the header, tag line, and body of the entity are displayed now,
and NEW indicates how their display should be updated.
Both elements are rmail-mime-display objects.
HEADER and BODY are vectors [BEG END DISPLAY-FLAG], where BEG and END are markers that specify the region of the header or body lines in RMAIL's data (mbox) buffer, and DISPLAY-FLAG non-nil means that the header or body is, by default, displayed by the decoded presentation form.
TAGLINE is a vector [TAG BULK-DATA DISPLAY-FLAG], where TAG is a string indicating the depth and index number of the entity, BULK-DATA is a cons (SIZE . TYPE) indicating the size and type of an attached data, DISPLAY-FLAG non-nil means that the tag line is displayed by default.
CHILDREN is a list of child MIME-entities. A "multipart/*" entity has one or more children. A "message/rfc822" entity has just one child. Any other entity has no child.
HANDLER is a function to insert the entity according to DISPLAY. It is called with one argument ENTITY.
TRUNCATED is non-nil if the text of this entity was truncated.
Source Code
;; Defined in /usr/src/emacs/lisp/mail/rmailmm.el.gz
;;; MIME-entity object
(cl-defstruct (rmail-mime-entity
(:copier nil) (:constructor nil)
(:constructor rmail-mime-entity
( type disposition transfer-encoding
display header tagline body children handler
&optional truncated)
"Return a newly created MIME-entity object from arguments.
A MIME-entity is a vector of 10 elements:
[TYPE DISPOSITION TRANSFER-ENCODING DISPLAY HEADER TAGLINE BODY
CHILDREN HANDLER TRUNCATED]
TYPE and DISPOSITION correspond to MIME headers Content-Type and
Content-Disposition respectively, and have this format:
(VALUE (ATTRIBUTE . VALUE) (ATTRIBUTE . VALUE) ...)
Each VALUE is a string and each ATTRIBUTE is a string.
Consider the following header, for example:
Content-Type: multipart/mixed;
boundary=\"----=_NextPart_000_0104_01C617E4.BDEC4C40\"
The corresponding TYPE argument must be:
\(\"multipart/mixed\"
(\"boundary\" . \"----=_NextPart_000_0104_01C617E4.BDEC4C40\"))
TRANSFER-ENCODING corresponds to MIME header
Content-Transfer-Encoding, and is a lower-case string.
DISPLAY is a vector [CURRENT NEW], where CURRENT indicates how
the header, tag line, and body of the entity are displayed now,
and NEW indicates how their display should be updated.
Both elements are `rmail-mime-display' objects.
HEADER and BODY are vectors [BEG END DISPLAY-FLAG], where BEG and
END are markers that specify the region of the header or body lines
in RMAIL's data (mbox) buffer, and DISPLAY-FLAG non-nil means that the
header or body is, by default, displayed by the decoded
presentation form.
TAGLINE is a vector [TAG BULK-DATA DISPLAY-FLAG], where TAG is a
string indicating the depth and index number of the entity,
BULK-DATA is a cons (SIZE . TYPE) indicating the size and type of
an attached data, DISPLAY-FLAG non-nil means that the tag line is
displayed by default.
CHILDREN is a list of child MIME-entities. A \"multipart/*\"
entity has one or more children. A \"message/rfc822\" entity
has just one child. Any other entity has no child.
HANDLER is a function to insert the entity according to DISPLAY.
It is called with one argument ENTITY.
TRUNCATED is non-nil if the text of this entity was truncated."))
type disposition transfer-encoding
display header tagline body children handler truncated)