\input texinfo.tex
@c Generated automatically from mime-en.sgml by sinfo 3.7.
@setfilename mime-en.info
-@settitle{FLIM 1.10 Manual about MIME Features}
+@settitle{FLIM 1.12 Reference Manual about MIME Features}
@titlepage
-@title FLIM 1.10 Manual about MIME Features
+@title FLIM 1.12 Reference Manual about MIME Features
@author MORIOKA Tomohiko <morioka@@jaist.ac.jp>
-@subtitle 1998/07/01
+@subtitle 1999-01-27
@end titlepage
@node Top, Introduction, (dir), (dir)
-@top FLIM 1.10 Manual about MIME Features
+@top FLIM 1.12 Reference Manual about MIME Features
@ifinfo
-This file documents MIME features of FLIM, a Internet message
-parsing/encoding library for GNU Emacs.
+This file documents MIME features of FLIM, a fundamental library to
+process Internet Messages for GNU Emacsen.
@end ifinfo
@menu
@menu
* Entity creation:: Functions to create mime-entity
* Entity hierarchy:: Features about message tree
+* Entity Search:: Find Entity
* Entity Attributes:: Functions about attributes of mime-entity
* Entity-header:: Information of entity header
* entity formatting:: Text presentation of entity
* Entity-content:: Contents of Entity
+* Entity-network-representation:: Network representation of Entity
* Entity buffer:: Entity as buffer representation
* mm-backend:: Entity representations and implementations
@end menu
-@node Entity hierarchy, Entity Attributes, Entity creation, Entity
+@node Entity hierarchy, Entity Search, Entity creation, Entity
@section Features about message tree
@cindex node-id
@cindex entity-number
@end defun
+
+@node Entity Search, Entity Attributes, Entity hierarchy, Entity
+@section Find Entity
+
@defun mime-find-entity-from-number entity-number &optional message
Return entity from @var{entity-number} in @var{message}.@refill
@end defun
+@defun mime-find-entity-from-content-id cid &optional message
+
+Return entity from @var{cid} in @var{message}.@refill
+
+If @var{message} is not specified, @code{mime-message-structure} is
+used.
+@end defun
+
+
-@node Entity Attributes, Entity-header, Entity hierarchy, Entity
+@node Entity Attributes, Entity-header, Entity Search, Entity
@section Functions about attributes of mime-entity
@defun mime-entity-content-type entity
@defvar default-mime-charset
-Symbol to indicate default value of MIME-charset
-(@ref{MIME-charset}).@refill
+Symbol to indicate default value of MIME charset (@ref{MIME charset}).@refill
-It is used when MIME-charset is not specified.@refill
+It is used when MIME charset is not specified.@refill
It is originally variable of APEL.
@end defvar
-@node Entity-content, Entity buffer, entity formatting, Entity
+@node Entity-content, Entity-network-representation, entity formatting, Entity
@section Contents of Entity
@defun mime-entity-content entity
@end defun
+@defun mime-insert-entity-content entity
+
+Insert content of @var{entity} at point.
+@end defun
+
+
@defun mime-write-entity-content entity filename
Write content of @var{entity} into @var{filename}.
@end defun
+
+@node Entity-network-representation, Entity buffer, Entity-content, Entity
+@section Network representation of Entity
+
+@defun mime-insert-entity entity
+
+Insert header and body of @var{entity} at point.
+@end defun
+
+
@defun mime-write-entity entity filename
Write representation of @var{entity} into @var{filename}.
-@node Entity buffer, mm-backend, Entity-content, Entity
+@node Entity buffer, mm-backend, Entity-network-representation, Entity
@section Entity as buffer representation
@defun mime-entity-buffer entity
@defun mime-parse-Content-Type string
-Parse @var{string} as field-body of Content-Type field.
+Parse @var{string} as a field-body of Content-Type field, and return the
+result as mime-content-type (@ref{mime-content-type}) structure.
@end defun
@defun mime-read-Content-Type
-Read field-body of Content-Type field from current-buffer, and return
-parsed it.@refill
+Parse Content-Type field of the current buffer, and return the result as
+mime-content-type (@ref{mime-content-type}) structure.@refill
Return @code{nil} if Content-Type field is not found.
@end defun
@defun mime-parse-Content-Disposition string
Parse @var{string} as field-body of Content-Disposition field, and
-return the result.
+return the result as mime-content-disposition
+(@ref{mime-content-disposition}) structure.
@end defun
@defun mime-read-Content-Disposition
-Read field-body of Content-Disposition field from current-buffer,@refill
+Parse Content-Disposition field of the current buffer, and return the
+result as mime-content-disposition (@ref{mime-content-disposition})
+structure.@refill
-Return nil if Content-Disposition field is not found.
+Return @code{nil} if Content-Disposition field is not found.
@end defun
@defun mime-parse-Content-Transfer-Encoding string
-@var{string} \e$B$r\e(B content-transfer-encoding \e$B$H$7$F2r@O$7$?7k2L$rJV$9!#\e(B
+Parse @var{string} as a field-body of Content-Transfer-Encoding field,
+and return the result.
@end defun
@defun mime-read-Content-Transfer-Encoding &optional default-encoding
-\e$B8=:_$N\e(B buffer \e$B$N\e(B Content-Transfer-Encoding \e$BMs$rFI$_<h$j!"2r@O$7$?7k2L$r\e(B
-\e$BJV$9!#\e(B@refill
+Parse Content-Transfer-Encoding field of the current buffer, and return
+the result.@refill
-Content-Transfer-Encoding \e$BMs$,B8:_$7$J$$>l9g$O\e(B@var{default-encoding} \e$B$r\e(B
-\e$BJV$9!#\e(B
+Return @var{default-encoding} if Content-Transfer-Encoding field is not
+found. If it is not specified, @code{nil} is used as the default value.
@end defun
@defun mime-decode-string string encoding
-@var{string} \e$B$r\e(B @var{encoding} \e$B$H$7$FI|9f$7$?7k2L$rJV$7$^$9!#\e(B
+Decode @var{string} which is encoded in @var{encoding}, and return the
+result.
@end defun
@chapter Network representation of header
@cindex RFC 2047
@cindex Standards Track
+@cindex encoded-word
@cindex RFC 2047
-encoded-word \e$B$O\e(B header \e$B$GHs\e(B ASCII (@ref{ASCII}) \e$BJ8;z$rI=8=$9$k$?$a$N7A<0\e(B
-\e$B$G!"\e(B@strong{RFC 2047} \e$B$GDj5A$5$l$F$$$^$9!#\e(B@refill
+@strong{RFC 2047} defines the @strong{encoded-word} which is a format to
+represent non-ASCII (@ref{ASCII}) characters in a header.@refill
@noindent
Track (obsolete RFC 1521,1522,1590).
@end quotation
-\e$B$^$?!"9T57$N0-$$$3$H$@$H8@$($^$9$,!"\e(Bencoded-word \e$B$rMQ$$$:$KHs\e(B ASCII
-(@ref{ASCII}) \e$BJ8;z$r\e(B header \e$B$KF~$l$?5-;v$bB8:_$7$^$9!#\e(B@refill
+The encoded-word is the only valid format to represent non-ASCII
+(@ref{ASCII}) characters in a header, but there are also invalid styles.
+Such kinds of evil messages represent non-ASCII (@ref{ASCII}) characters
+in headers without encoded-words (it is called "raw" non-ASCII
+(@ref{ASCII}) characters).@refill
-FLIM \e$B$O$3$l$i$rId9f2=!&I|9f2=$9$k5!G=$rDs6!$7$^$9!#\e(B
+FLIM provides encoding/decoding features of both encoded-word and
+invalid "raw" non-ASCII (@ref{ASCII}) characters.
@menu
@node Header encoder/decoder, , encoded-word, encoded-word
@section Header encoding/decoding
-@defun eword-encode-header &optional code-conversion separator
+@defun eword-decode-header &optional code-conversion separator
Decode MIME encoded-words in header fields.@refill
-If @var{code-conversion} is @code{nil}, it decodes only encoded-words.
-If it is mime-charset, it decodes non-ASCII bit patterns as the
-mime-charset. Otherwise it decodes non-ASCII bit patterns as the
-default-mime-charset.@refill
+If @var{code-conversion} is @code{nil}, only encoded-words are decoded.
+If @var{code-conversion} is a MIME charset (@ref{MIME charset}),
+non-ASCII bit patterns are decoded as the MIME charset. Otherwise
+non-ASCII bit patterns are decoded as the
+@code{default-mime-charset}. (cf. @ref{entity formatting}) @refill
-If @var{separator} is not nil, it is used as header separator.
+If @var{separator} is not @code{nil}, it is used as header separator.
@end defun
Encode header fields to network representation, such as MIME
encoded-word.@refill
-It refer variable @code{eword-field-encoding-method-alist}.
+Each field is encoded as corresponding method specified by variable
+@code{eword-field-encoding-method-alist}.
@end defun
+@defvar eword-field-encoding-method-alist
+
+Association list to specify field encoding method. Each element looks
+like (FIELD . METHOD).@refill
+
+If METHOD is @code{mime}, the FIELD will be encoded into MIME format
+(encoded-word).@refill
+
+If METHOD is @code{nil}, the FIELD will not be encoded.@refill
+
+If METHOD is a MIME charset, the FIELD will be encoded as the charset
+when it must be convert into network-code.@refill
+
+Otherwise the FIELD will be encoded as variable
+@code{default-mime-charset} when it must be convert into network-code.
+@end defvar
+
+
@node custom, Appendix, encoded-word, Top
@chapter Various Customization
@node History, , CVS, Appendix
@section History of FLIM
-FLIM \e$B$N\e(B code \e$B$N:G8E$NItJ,$O\e(B \e$B1]JB\e(B \e$B;LCR\e(B \e$B;a$,=q$$$?\e(B @file{mime.el}\e$B$K5/8;$7\e(B
+FLIM \e$B$N\e(B code \e$B$N:G8E$NItJ,$O\e(B \e$B1]JB\e(B \e$B;LCR\e(B \e$B;a$,=q$$$?\e(B @file{mime.el} \e$B$K5/8;$7\e(B
\e$B$^$9!#$3$N>.$5$J\e(B program \e$B$O\e(B Nemacs \e$B$GF0:n$9$k\e(B iso-2022-jp \e$B$N\e(B B-encoding
\e$B@lMQ$N\e(B encoded-word \e$B$NI|9f2=%W%m%0%i%`$G$7$?!#\e(B@refill
\e$B8e$K!"\e(BAPEL \e$B$+$i\e(B @file{std11.el} \e$B$,0\$5$l!"$^$?!"\e(B@file{mailcap.el},
@file{eword-decode.el} \e$B$*$h$S\e(B @file{eword-encode.el} \e$B$,\e(B SEMI \e$B$+$i0\$5$l!"\e(B
-package \e$B$NL>A0$,\e(B FLIM\e$B$H$J$j$^$9!#\e(B@refill
+package \e$B$NL>A0$,\e(B FLIM \e$B$H$J$j$^$9!#\e(B@refill
\e$B$3$ND>A0$+$iEDCf\e(B \e$BE/\e(B \e$B;a$,$h$j\e(B RFC \e$B$KCi<B$J<BAu$r=q$-;O$a!"$3$l$O!"8=:_!"\e(B
FLIM \e$B$N;^$G$"$k\e(B ``FLIM-FLAM'' \e$B$H$J$C$F$$$^$9!#\e(B