\input texinfo.tex
@c Generated automatically from mime-ja.sgml by sinfo 3.7.
@setfilename mime-ja.info
@settitle{FLIM 1.14 MIME $B5!G=@bL@=q(B}
@titlepage
@title FLIM 1.14 MIME $B5!G=@bL@=q(B
@author $B<i2,(B $BCNI'(B <morioka@@jaist.ac.jp>
@subtitle 1999-01-27
@end titlepage
@node Top, Introduction, (dir), (dir)
@top FLIM 1.14 MIME $B5!G=@bL@=q(B
@ifinfo
This file documents MIME features of FLIM, a fundamental library to
process Internet Messages for GNU Emacsen.@refill
GNU Emacsen $BMQ$N(B Internet Message $B=hM}$N$?$a$N4pAC(B library $B$G$"$k(B FLIM
$B$N(B MIME $B5!G=$K4X$7$F@bL@$7$^$9!#(B
@end ifinfo
@menu
* Introduction:: FLIM $B$C$F2?!)(B
* How to use:: FLIM $B$N(B MIME $B5!G=$N;H$$J}(B
* Entity:: Message $B$H(B Entity
* Content-Type:: Content-Type $BMs$N>pJs(B
* Content-Disposition:: Content-Disposition $BMs$N>pJs(B
* Content-Transfer-Encoding:: $BId9f2=K!(B
* encoded-word:: Header $B$N(B network $BI=8=(B
* custom:: $B0lHL@_Dj(B
* Appendix:: $BIUO?(B
* Concept Index:: $B35G0:w0z(B
* Function Index:: $B4X?t:w0z(B
* Variable Index:: $BJQ?t:w0z(B
@end menu
@node Introduction, How to use, Top, Top
@chapter FLIM $B$C$F2?!)(B
FLIM $B$O(B Internet Message $B$NI=8=$dId9f2=$K4X$9$k4pACE*$J5!G=$rDs6!$9$k(B
$B$?$a$N(B library $B$G$9!#(B
@node How to use, Entity, Introduction, Top
@chapter FLIM $B$N(B MIME $B5!G=$N;H$$J}(B
FLIM $B$NDs6!$9$k(B MIME $B5!G=$r;H$&$?$a$K$O(B
@lisp
(require 'mime)
@end lisp
@noindent
$B$rI>2A$7$F$/$@$5$$!#(B
@node Entity, Content-Type, How to use, Top
@chapter Message $B$H(B Entity
@cindex mime-entity
@cindex entity
RFC 2045 (@ref{RFC 2045}) $B$K$h$l$P!"!V(BEntity $B$H$$$&8l$O!"(Bmessage, $B$b$7$/(B
$B$O!"(Bmultipart entity $B$N(B body $BCf$N#1$D$NItJ,$N!"(BMIME $B$GDj5A$5$l$?(B header
field $B$HFbMF$r;X$9!W$H$J$C$F$$$^$9!#$3$3$G$O!"(BMIME $B$GDj5A$5$l$?(B header
field $B0J30$NA4$F$N(B header $B$H(B body $B$r;X$98l$H$7$F(B @strong{entity}$B$rMQ$$$k(B
$B$3$H$K$7$^$9!#(B@refill
RFC 2045 $B$NDj5A$O!"(BMIME message $B$,(B entity $B$r@a$H$9$kLZ9=B$$G$"$k$3$H$r<((B
$B$7$F$$$^$9!#$D$^$j!"(BMIME $B$O(B message $B$rLZ9=B$$K3HD%$7$?Lu$G$9!#(B@refill
FLIM $B$O(B entity $B$N>pJs$rI=8=$9$k$?$a$K(B@strong{mime-entity} $B9=(B
$BB$BN$rMQ$$$^$9!#0J2<$G$OC1$K(B mime-entity $B$H8F$V$3$H$K$7$^$9!#(B
@menu
* Entity creation:: Entity $B$N@8@.(B
* Entity hierarchy:: Entity $B3,AX(B
* Entity Search:: Entity $B$N8!:w(B
* Entity Attributes:: Entity $B$NB0@-(B
* Entity-header:: Entity header $B$N>pJs(B
* entity formatting:: Entity $B$NJ8;zI=8=(B
* Entity-content:: Entity $B$NFbMF(B
* Entity-network-representation:: Entity $B$N%M%C%H%o!<%/I=8=(B
* Entity buffer:: Entity $B$N(B buffer $B$K$h$kI=8=(B
* mm-backend:: Entity $B$NI=8=$H<B8=(B
@end menu
@node Entity creation, Entity hierarchy, Entity, Entity
@section Entity $B$N@8@.(B
@defun mime-open-entity type location
Entity $B$r3+$$$F!"$=$l$rJV$7$^$9!#(B@refill
@var{type} $B$O(B representation-type $B$G$9!#(B(cf. @ref{mm-backend}) @refill
@var{location} $B$O(B entity $B$N0LCV$G$9!#;XDjJ}K!$O(B
representation-type $B$K0M$C$FJQ$o$j$^$9!#(B
@end defun
@defun mime-parse-buffer &optional buffer type
@var{buffer} $B$r(B message $B$H$7$F9=J82r@O$7!"$=$N7k2L$N(B mime-entity $B$r(B
@var{buffer} $B$N(B@code{mime-message-structure} $B$K3JG<$9$k!#(B@refill
@var{buffer} $B$,>JN,$5$l$?>l9g!"8=:_$N(B buffer $B$r9=J82r@O$9$k!#(B@refill
@var{type} $B$,;XDj$5$l$?>l9g!"$=$NCM$r@8@.$5$l$k(B mime-entity $B$NI=>]7?$H$7(B
$B$FMQ$$$k!#>JN,$5$l$?>l9g$O(B @var{buffer} $B$H$J$k!#(B(cf. @ref{mm-backend})
@end defun
@node Entity hierarchy, Entity Search, Entity creation, Entity
@section Entity $B3,AX(B
@cindex node-id
@cindex entity-number
@cindex message
@cindex root-entity
MIME message $B$O(B entity $B$rC10L$H$9$kLZ9=B$$K$J$C$F$$$^$9!#(B@refill
$B$3$NLZ$K$*$$$F:,$H$J$k@a$O(B message $BA4BN$rI=$9(B entity $B$G$9!#$3$3$G$O!"$3(B
$B$l$r(B @strong{root-entity} $B$b$7$/$O(B@strong{message} $B$H8F$S$^$9!#(B@refill
root-entity $B0J30$N(B entity $B$O?F$r;}$A$^$9!#$^$?!"(Bentity $B$O;R6!$r;}$D$+$b(B
$BCN$l$^$;$s!#$3$N?F;R4X78$r9M$($k$3$H$G(B entity $B$NAjBP4X78$r07$&$3$H$,$G$-(B
$B$^$9!#(B@refill
$B0lJ}!"(Bentity $B$N(B message $B$K$*$1$k0LCV$r9M$($k$3$H$b$G$-$^$9!#(B@refill
entity $B$O$3$NLZ$K$*$1$k@a$H$J$j$^$9$,!"$3$NLZ$K$O?<$5$HF1$8?<$5$NCf$N(B
$B=gHV$K=>$C$FHV9f$,IU$1$k$3$H$,$G$-$^$9!#B($A!"(B
@example
$B(#(!(!(!($(B
$B("(B nil $B("(B
$B(&(!(((!(%(B
$B(#(!(!(!(!(!(!(!(!(!(+(!(!(!(!(!(!(!(!(!($(B
$B(#(*($(B $B(#(*($(B $B(#(*($(B
$B("#0("(B $B("#1("(B $B("#2("(B
$B(&(((%(B $B(&(((%(B $B(&(((%(B
$B("(B $B(#(!(!(!(!(+(!(!(!(!($(B $B("(B
$B(#(!(*(!($(#(!(*(!($(#(!(*(!($(#(!(*(!($(#(!(*(!($(B
$B("(B $B#0(B.$B#0("("(B $B#1(B.$B#0("("(B $B#1(B.$B#1("("(B $B#1(B.$B#2("("(B $B#2(B.$B#0("(B
$B(&(!(!(!(%(&(!(!(!(%(&(!(!(!(%(&(!(!(!(%(&(!(!(!(%(B
@end example
@noindent
$B$N$h$&$K?<$5(B n $B$N@a$K$OD9$5(B n $B$N@0?tNs$N@aHV9f$,?6$l$^$9!#$3$l(B
$B$r(B @strong{entity-number} $B$H8F$S$^$9!#(Bentity-number $B$O(B S $B<0$H(B
$B$7$F$O(B @code{(1 2 3)} $B$N$h$&$J@0?t$N%j%9%H$H$7$FI=8=$5$l$^$9!#(B
mime-entity $B$G$O!"$3$l$HF1MM$N(B @strong{node-id} $B$rMQ$$$^$9!#(Bnode-id $B$O$A$g(B
$B$&$I(B entity-number $B$r5U$K$7$?%j%9%H$G!"(Bentity-number 1.2.3 $B$KBP1~$9$k(B
node-id $B$O(B @code{(3 2 1)} $B$G$9!#(B@refill
$BA0=R$N$h$&$K!"(BMIME message $B$O(B entity $B$rC10L$H$7$?LZ9=B$$K$J$C$F$$$k$N$G!"(B
$B$3$N:,$G$"$k(B message $BA4BN$b(B mime-entity $B$GI=8=$9$k$3$H$,$G$-!"(Bbuffer
local $BJQ?t(B @code{mime-message-structure} $B$K3JG<$9$k$3$H$K$7$^$9!#(B@refill
@code{mime-message-structure} $B$r5/E@$K(B entity-number $B$d(B node-id
$B$G<($5$l$k(B entity $B$r<h$j=P$9$3$H$,$G$-$^$9!#(B
@defvar mime-message-structure
$B8=:_$N(B buffer $B$K$*$1$k(B message $BA4BN$N(B mime-entity $B9=B$BN$r3JG<$9$k(Bbuffer
local $BJQ?t!#(B
@end defvar
@defun mime-entity-children entity
@var{entity} $B$K4^$^$l$k(B entity $B$N(B list $B$rJV$9!#(B
@end defun
@defun mime-entity-parent entity &optional message
@var{entity} $B$N?F$N(B entity $B$rJV$9!#(B@refill
@var{message} $B$,;XDj$5$l$?>l9g!"$3$l$r:,$H8+Jo$9!#(B
@end defun
@defun mime-root-entity-p entity
@var{entity} $B$,:,!JB($A!"(Bmessage $BA4BN!K$G$"$k>l9g$K!"Hs(B-@code{nil} $B$rJV(B
$B$9!#(B
@end defun
@defun mime-entity-node-id entity
@var{entity} $B$N(B node-id $B$rJV$9!#(B
@end defun
@defun mime-entity-number entity
@var{entity} $B$N(B entity-number $B$rJV$9!#(B
@end defun
@node Entity Search, Entity Attributes, Entity hierarchy, Entity
@section Entity $B$N8!:w(B
@defun mime-find-entity-from-number entity-number &optional message
@var{message} $B$+$i!"(B@var{enity-number} $B$N(B entity $B$rJV$7$^$9!#(B@refill
@var{message} $B$,;XDj$5$l$F$$$J$$>l9g$O!"(B
@code{mime-message-structrue} $B$,;H$o$l$^$9!#(B
@end defun
@defun mime-find-entity-from-node-id entity-node-id &optional message
@var{message} $B$+$i!"(B@var{entity-node-id} $B$N(B entity $B$rJV$7$^$9!#(B@refill
@var{message} $B$,;XDj$5$l$F$$$J$$>l9g$O!"(B
@code{mime-message-structure} $B$,;H$o$l$^$9!#(B
@end defun
@defun mime-find-entity-from-content-id cid &optional message
@var{message} $B$+$i!"(B@var{cid} $B$N(B entity $B$rJV$7$^$9!#(B@refill
@var{message} $B$,;XDj$5$l$F$$$J$$>l9g$O!"(B
@code{mime-message-structure} $B$,;H$o$l$^$9!#(B
@end defun
@node Entity Attributes, Entity-header, Entity Search, Entity
@section Entity $B$NB0@-(B
@defun mime-entity-content-type entity
@var{entity} $B$N(B content-type $B$rJV$9!#(B(cf. @ref{mime-content-type})
@end defun
@defun mime-entity-content-disposition entity
@var{entity} $B$N(B content-disposition $B$rJV$9!#(B
(cf. @ref{mime-content-disposition})
@end defun
@defun mime-entity-filename entity
@var{entity} $B$N(B file $BL>$rJV$9!#(B
@end defun
@defun mime-entity-encoding entity &optional default-encoding
@var{entity} $B$N(B content-transfer-encoding $B$rJV$9!#(B
(cf. @ref{Content-Transfer-Encoding}) @refill
$B$b$7!"(B@var{entity} $B$K(B Content-Transfer-Encoding $BMs$,B8:_$7$J$$>l9g$O!"(B
@var{default-encoding} $B$rJV$9!#$3$l$,;XDj$5$l$J$$>l9g$O!"(B@code{"7bit"}
$B$rMQ$$$k!#(B
@end defun
@defun mime-entity-cooked-p entity
@var{entity} $B$NFbMF$,4{$K%3!<%IJQ49$5$l$F$$$k>l9g$O(B nil $B$GL5$$CM(B
$B$rJV$9!#(B
@end defun
@node Entity-header, entity formatting, Entity Attributes, Entity
@section Entity header $B$N>pJs(B
@defun mime-fetch-field field-name &optional entity
@var{entity} $B$N(B header $BCf$N(B @var{field-name} $BMs$N(B body $B$rJV$9!#(B@refill
$B7k2L$NJ8;zNs$O(B network $BI=8=$N$^$^$G$"$k!#(B@refill
@var{entity} $B$,>JN,$5$l$?>l9g$O!"(B@code{mime-message-structure} $B$NCM$rMQ(B
$B$$$k!#(B@refill
@var{field-name} $BMs$,B8:_$7$J$$>l9g$O(B @code{nil} $B$rJV$9!#(B
@end defun
@defun mime-read-field field-name &optional entity
@var{entity} $B$N(B header $BCf$N(B @var{field-name} $BMs$r9=J82r@O$7$?7k2L$rJV$9!#(B
@refill
$B7k2L$N7A<0$OMsKh$K0[$J$k!#Hs9=B$2=Ms$N>l9g$OJ8;zNs$rJV$7!"9=B$2=Ms$N>l9g(B
$B$O$=$N7A<0$K=>$C$?(B list $B$rJV$9!#(B@refill
$B7k2LCf$NJ8;zNs$O(B Emacs $B$NFbItI=8=$KJQ49$5$l$k!#(B@refill
@var{entity} $B$,>JN,$5$l$?>l9g$O!"(B@code{mime-message-structure} $B$NCM$rMQ(B
$B$$$k!#(B@refill
@var{field-name} $BMs$,B8:_$7$J$$>l9g$O(B nil $B$rJV$9!#(B
@end defun
@node entity formatting, Entity-content, Entity-header, Entity
@section Entity $B$NJ8;zI=8=(B
@defun mime-insert-header entity &optional invisible-fields visible-fields
$B8=:_0LCV$K(B @var{entity} $B$NI|9f$7$?(B header $B$rA^F~$9$k!#(B@refill
@var{invisible-fields} $B$H(B @var{visible-fields} $B$O@55,I=8=$N(Blist $B$G!"$=$l(B
$B$>$l!"I=<($7$?$/$J$$(B field $BL>$HI=<($7$?$$MsL>$rI=8=$7$?$b$N$G$"$k!#(B
@refill
@var{invisible-fields} $B$NMWAG$N$I$l$+$K(B match $B$7!"$+$D!"(B
@var{visible-fields} $B$NMWAG$N$I$l$K$b(B match $B$7$J$$Ms$OI=<($5$l$J$$!#(B
@refill
encoded-word (@ref{encoded-word}) $B$OI|9f$5$l$k!#!X@8$NHs(B us-ascii $BJ8;z!Y(B
$B$O(B @code{default-mime-charset} $B$H$7$F2r<a$5$l$k!#(B
@end defun
@defun mime-insert-text-content entity
point $B$NA0$K(B @var{entity} $B$r(B text entity $B$H$7$FA^F~$7$^$9!#(B@refill
@var{entity} $B$NFbMF$O(B @ref{MIME charset} $B$H$7$FI|9f2=$5$l(B
$B$^$9!#(B@var{entity} $B$N(B Content-Type field $B$K(B charset paramter $B$,L5(B
$B$$$H!"(B@code{default-mime-charset} $B$,=i4|CM$H$7$F;H$o$l$^$9!#(B
@end defun
@defvar default-mime-charset
$BE,@Z$J(B MIME charset (@ref{MIME charset}) $B$,8+$D$+$i$J$+$C$?>l9g$KMQ$$$i(B
$B$l$k(BMIME charset.@refill
$BK\Mh$O(B APEL $B$NJQ?t$G$"$k!#(B
@end defvar
@node Entity-content, Entity-network-representation, entity formatting, Entity
@section Entity $B$NFbMF(B
@defun mime-entity-content entity
@var{entity} $B$NFbMF$N(B byte $BNs$rJV$9!#(B
@end defun
@defun mime-insert-entity-content entity
point $B$N0LCV$K(B @var{entity} $B$NFbMF$rA^F~$7$^$9!#(B
@end defun
@defun mime-write-entity-content entity filename
@var{entity} $B$NFbMF$r(B @var{filename} $B$K=q$-9~$_$^$9!#(B
@end defun
@node Entity-network-representation, Entity buffer, Entity-content, Entity
@section Entity $B$N%M%C%H%o!<%/I=8=(B
@defun mime-insert-entity entity
@var{entity} $B$N(B header $B$H(B body $B$r(B point $B$N$H$3$m$KA^F~$7$^$9!#(B
@end defun
@defun mime-write-entity entity filename
@var{entity} $B$NI=8=$r(B @var{filename} $B$K=q$-9~$_$^$9!#(B
@end defun
@defun mime-write-entity-body entity filename
@var{entity} $B$N(B body $B$r(B @var{filename} $B$K=q$-9~$_$^$9!#(B
@end defun
@node Entity buffer, mm-backend, Entity-network-representation, Entity
@section Entity $B$N(B buffer $B$K$h$kI=8=(B
@defun mime-entity-buffer entity
@var{entity} $B$,B8:_$9$k(B buffer $B$rJV$9!#(B
@end defun
@defun mime-entity-point-min entity
@var{entity} $B$,B8:_$9$k(B buffer $B$K$*$1$k!"(B@var{entity} $B$,@j$a$kNN0h$N@hF,(B
$B0LCV$rJV$9!#(B
@end defun
@defun mime-entity-point-max entity
@var{entity} $B$,B8:_$9$k(B buffer $B$K$*$1$k!"(B@var{entity} $B$,@j$a$kNN0h$NKvHx(B
$B0LCV$rJV$9!#(B
@end defun
@defun mime-entity-header-start entity
@var{entity} $B$,B8:_$9$k(B buffer $B$K$*$1$k!"(Bheader $B$,@j$a$kNN0h$N@hF,0LCV$r(B
$BJV$9!#(B
@end defun
@defun mime-entity-header-end entity
@var{entity} $B$,B8:_$9$k(B buffer $B$K$*$1$k!"(Bheader $B$,@j$a$kNN0h$NKvHx0LCV$r(B
$BJV$9!#(B
@end defun
@defun mime-entity-body-start entity
@var{entity} $B$,B8:_$9$k(B buffer $B$K$*$1$k!"(Bbody $B$,@j$a$kNN0h$N@hF,0LCV$rJV(B
$B$9!#(B
@end defun
@defun mime-entity-body-end entity
@var{entity} $B$,B8:_$9$k(B buffer $B$K$*$1$k!"(Bbody $B$,@j$a$kNN0h$NKvHx0LCV$rJV(B
$B$9!#(B
@end defun
@node mm-backend, , Entity buffer, Entity
@section Entity $B$NI=8=$H<B8=(B
@cindex mm-backend
@cindex entity $B=hM}(B method
@cindex representation-type
Entity $B$OCj>]2=$5$l$?%G!<%?I=8=$G!"<B:]$N%G!<%?I=8=$H$7$F$OMQES$K1~$8$F(B
$B$5$^$6$^$J$b$N$,MxMQ$G$-$k$h$&$K@_7W$5$l$F$$$^$9!#(B@refill
$B$3$3$G!"(Bentity $B$,$I$&$$$&<oN`$NI=8=$r9T$C$F$$$k$+$r<($9$N$,(B
@strong{representation-type} $B$G!"(Bentity $B$r@8@.$9$k;~$K$O$3$l$r;XDj$7$^$9!#(B
(cf. @ref{Entity Creation}) @refill
$BA0@a$^$G$K=R$Y$FMh$?(B entity $B$KBP$9$k=hM}$O!"(Bentity $B$KBP$7$F$=$N=hM}$r0M(B
$BMj$9$k$3$H$K$h$C$F<B8=$5$l$F$$$^$9!#(BEntity $B$O<+J,$N(B representation-type
$B$rCN$C$F$*$j!"$=$N(B representation-type $B$K1~$8$F<B:]$N=hM}$r9T$&4X?t$r8F(B
$B$S=P$7$^$9!#$3$N$h$&$J4X?t$r(B @strong{entity $B=hM}(Bmethod} $B$H8F$S$^$9!#$^$?!"(B
representation-type $BKh$K$3$N$h$&$J4X?t$r$^$H$a$?$b$N$r(B
@strong{mm-backend} $B$H8F$S$^$9!#(B@refill
mm-backend $B$O(B representation-type $B$NL>A0$N@hF,$K(B @code{mm} $B$H$$$&(B
$B@\F,<-$rIU$1$?4X?tL>$+$i$J$k(B module $B$G!"$=$N(B module $BL>$OF1MM$K(B
representation-type $B$NL>A0$N@hF,$K(B @code{mm} $B$rIU$1$?$b$N$K$J$C$F(B
$B$$$^$9!#$3$N(B module $B$O(B representation-type $B$N(B entity $B$,:G=i$K@8@.$5$l$k(B
$B;~$K<+F0E*$K(B require $B$5$l$^$9!#(B
@menu
* Request for entity:: Entity $B$X$NJX$j(B
* mm-backend module:: mm-backend $B$N:n$jJ}(B
@end menu
@node Request for entity, mm-backend module, mm-backend, mm-backend
@subsection Entity $B$X$NJX$j(B
@defun mime-entity-send entity message &rest args
@var{entity} $B$K(B @var{message} $B$rAw$k!#(B@refill
@var{args} $B$O(B @var{message} $B$N0z?t$G$"$k!#(B
@end defun
@node mm-backend module, , Request for entity, mm-backend
@subsection mm-backend $B$N:n$jJ}(B
@defmac mm-define-backend type &optional parents
@var{type} $B$r(B mm-backend $B$H$7$FDj5A$7$^$9!#(B@refill
@var{PARENTS} $B$,;XDj$5$l$F$$$k>l9g$O!"(B@var{type} $B$O(B prents
$B$r7Q>5$7$^$9!#$=$l$>$l$N(B parent $B$O(B representation-type $B$G$"$kI,MW$,$"(B
$B$j$^$9!#(B
$BNc(B:@refill
@lisp
(mm-define-backend chao (generic))
@end lisp
@end defmac
@defmac mm-define-method name args &rest body
@var{name} $B$r(B (nth 1 (car @var{args})) backend $B$N(B method $B4X(B
$B?t$H$7$FDj5A$7$^$9!#(B@refill
@var{args} $B$O(B lambda $B$N0z?t%j%9%H$N$h$&$J$b$N$G$9$,!"(B(car
@var{args}) $B$O;XDj$5$l$?(B parameter $B$G$"$kI,MW$,$"$j$^$9!#(B(car
(car @var{args})) $B$OJQ?t$NL>A0$G!"(B(nth 1 (car @var{args}))
$B$O(B backend $B$NL>A0(B (representation-type) $B$G$9!#(B@refill
$BNc(B:@refill
@lisp
(mm-define-method entity-cooked-p ((entity chao)) nil)
@end lisp
@end defmac
@node Content-Type, Content-Disposition, Entity, Top
@chapter Content-Type $BMs$N>pJs(B
@cindex mime-content-type
@cindex Content-Type $BMs(B
@strong{Content-Type $BMs(B} $B$O(B media-type (@ref{media-type}) $B$d(B MIME
charset $B$H$$$C$?(B entity (@ref{entity}) $B$NFbMF$N<oN`$dI=8=7A<0$J$I$r5-=R(B
$B$9$k$?$a$N$b$N$G!"(BRFC 2045 (@ref{RFC 2045}) $B$GDj5A$5$l$F$$$^$9!#(B
@noindent
@strong{[Memo]}
@quotation
$BNr;KE*$K$O(B RFC 1049 $B$G(B Content-Type $BMs$,Ds0F$5$l$F$$$k!#C"$7!"(BMIME $B$N(B
media-type $B$N$h$&$J(B type $B$H(B subtype $B$N6hJL$O$J$/!"(BMIME charset $B$N$h$&$J(B
$BJ8;zId9f$N<oN`$rI=8=$9$k$3$H$b$G$-$J$$!#(B
@end quotation
FLIM $B$O(B Content-Type $BMs$r9=J82r@O$9$k4X?t$H(B Content-Type $BMs$N2r@O7k2L$r(B
$B3JG<$9$k9=B$BN(B @strong{mime-content-type} $B$rDs6!$7$^$9!#(B
@menu
* Content-Type field:: Content-Type $BMs$N7A<0(B
* mime-content-type:: mime-content-type $B9=B$BN(B
* Content-Type parser:: Content-Type $BMs$N2r@O4o(B
* Content-Type utility:: Content-Type $B$K4X$9$kM-MQ$J4X?t(B
@end menu
@node Content-Type field, mime-content-type, Content-Type, Content-Type
@section Content-Type $BMs$N7A<0(B
@cindex parameter
@cindex subtype
@cindex type
Content-Type $BMs$N7A<0$O0J2<$N$h$&$KDj5A$5$l$F$$$^$9!'(B
@quotation
``Content-Type'' ``:'' @strong{type} ``/''
@strong{subtype} *( ``;'' @strong{parameter} )
@end quotation
$BNc$($P!"(B
@quotation
@example
Content-Type: image/jpeg
@end example
@end quotation
@noindent
$B$d(B
@quotation
@example
Content-Type: text/plain; charset=iso-2022-jp
@end example
@end quotation
@noindent
$B$J$I$N$h$&$KMQ$$$i$l$^$9!#(B
$B$3$3$G!"(B`type' $B$H(B `subtype' $B$O(B entity $B$N7A<0$r<($9$b$N$G!"N><T$rAm>N$7(B
$B$F!"(B`media-type' $B$H8F$V$3$H$K$7$^$9!#>e5-$NNc$K$*$1$k(B `image/jpeg' $B$d(B
`text/plain' $B$O(B media-type $B$N#1$D$G$9!#(B
@noindent
@strong{[Memo]}
@quotation
Content-Type $BMs$N$J$$(B entity $B$O(B
@quotation
@example
Content-Type: text/plain; charset=us-ascii
@end example
@end quotation
@noindent
$B$H$7$F2r<a$5$l$k!#(B(cf. @ref{us-ascii})
@end quotation
@node mime-content-type, Content-Type parser, Content-Type field, Content-Type
@section mime-content-type $B9=B$BN(B
@deffn{Structure} mime-content-type
Content-Type $BMs$N>pJs$r3JG<$9$k$?$a$N9=B$BN!#(B@refill
$B$3$N9=B$BN$r;2>H$9$k$K$O(B @code{mime-content-type-$BMWAGL>(B} $B$H$$$&L>A0$N;2(B
$B>H4X?t$rMQ$$$k!#(B@refill
$B$3$N9=B$BN$NMWAG$O0J2<$NDL$j$G$"$k!'(B
@table @var
@item primary-type
media-type $B$N<g7?(B (symbol).
@item subtype
media-type $B$NI{7?(B (symbol).
@item parameters
Content-Type $BMs$N(B parameter ($BO"A[(B list).
@end table
@end deffn
@defun make-mime-content-type type subtype
&optional parameters
content-type $B$N@8@.;R!#(B
@end defun
@defun mime-content-type-parameter content-type parameter
@var{content-type} $B$N(B @var{parameter} $B$NCM$rJV$9!#(B
@end defun
@node Content-Type parser, Content-Type utility, mime-content-type, Content-Type
@section Content-Type $BMs$N2r@O4o(B
@defun mime-parse-Content-Type string
@var{string} $B$r(B content-type $B$H$7$F2r@O$7$?7k2L$rJV$9!#(B
@end defun
@defun mime-read-Content-Type
$B8=:_$N(B buffer $B$N(B Content-Type $BMs$rFI$_<h$j!"2r@O$7$?7k2L$rJV$9!#(B@refill
Content-Type $BMs$,B8:_$7$J$$>l9g$O(B nil $B$rJV$9!#(B
@end defun
@node Content-Type utility, , Content-Type parser, Content-Type
@section Content-Type $B$K4X$9$kM-MQ$J4X?t(B
@defun mime-type/subtype-string type &optional subtype
@var{type} $B$H(B @var{subtype} $B$+$i(B type/subtype $B7A<0$NJ8;zNs$rJV$9!#(B
@end defun
@node Content-Disposition, Content-Transfer-Encoding, Content-Type, Top
@chapter Content-Disposition $BMs$N>pJs(B
@cindex mime-content-disposition
@cindex RFC 2183
@cindex Standards Track
@cindex Content-Disposition $BMs(B
@strong{Content-Disposition $BMs(B} $B$O(B entity $B$NI=<($d(B file $BL>$J$I(B
$B$NB0@-$K$J$I$K4X$9$k>pJs$r5-=R$9$k$?$a$N$b$N$G$9!#(B
@noindent
[RFC 2183]
@quotation
S. Dorner, K. Moore and R. Troost, ``Communicating Presentation
Information in Internet Messages: The Content-Disposition Header'',
August 1997, Standards Track.
@end quotation
FLIM $B$O(B Content-Disposition $BMs$r9=J82r@O$9$k4X?t$H(B Content-Disposition
$BMs$N2r@O7k2L$r3JG<$9$k9=B$BN(B
@strong{mime-content-disposition} $B$rDs6!$7$^$9!#(B
@menu
* mime-content-disposition:: mime-content-disposition $B9=B$BN(B
* Content-Disposition parser:: Content-Disposition $BMs$N2r@O4o(B
@end menu
@node mime-content-disposition, Content-Disposition parser, Content-Disposition, Content-Disposition
@section mime-content-disposition $B9=B$BN(B
@deffn{Structure} mime-content-disposition
Content-Disposition $BMs$N2r@O7k2L$r<}$a$k$?$a$N9=B$BN!#(B@refill
$B$3$N9=B$BN$r;2>H$9$k$K$O(B @code{mime-content-disposition-$BMWAGL>(B} $B$H$$$&L>(B
$BA0$N;2>H4X?t$rMQ$$$k!#(B@refill
$B$3$N9=B$BN$NMWAG$O0J2<$NDL$j$G$"$k!'(B
@table @var
@item disposition-type
disposition-type (symbol).
@item parameters
Content-Disposition $BMs$N(B parameter ($BO"A[(B list).
@end table
@end deffn
@defun mime-content-disposition-parameter content-disposition parameter
@var{content-disposition} $B$N(B @var{parameter} $B$NCM$rJV$9!#(B
@end defun
@defun mime-content-disposition-filename content-disposition
@var{content-disposition} $B$N(B filename $B$NCM$rJV$9!#(B
@end defun
@node Content-Disposition parser, , mime-content-disposition, Content-Disposition
@section Content-Disposition $BMs$N2r@O4o(B
@defun mime-parse-Content-Disposition string
@var{string} $B$r(B content-disposition $B$H$7$F2r@O$7$?7k2L$rJV$9!#(B
@end defun
@defun mime-read-Content-Disposition
$B8=:_$N(B buffer $B$N(B Content-Disposition $BMs$rFI$_<h$j!"2r@O$7$?7k2L$rJV$9!#(B
@refill
Content-Disposition $BMs$,B8:_$7$J$$>l9g$O(B nil $B$rJV$9!#(B
@end defun
@node Content-Transfer-Encoding, encoded-word, Content-Disposition, Top
@chapter $BId9f2=K!(B
@cindex Content-Transfer-Encoding $BMs(B
@strong{Content-Transfer-Encoding $BMs(B} $B$O(B entity $B$NId9f2=K!$r5-=R$9$k$?$a(B
$B$N$b$N$G$9!#(B@refill
FLIM $B$G$O(B Content-Transfer-Encoding $BMs$r9=J82r@O$9$k4X?t$rDs6!$7$^$9!#$3(B
$B$l$i$N4X?t$O(B Content-Transfer-Encoding $BMs$N>pJs$OJ8;zNs$GI=8=$7$^$9!#(B
@refill
$B$^$?!"(BContent-Transfer-Encoding $B$K4p$E$$$FId9f2=!&I|9f2=$r9T$&4X?t$bDs(B
$B6!$5$l$^$9!#(B
@menu
* Content-Transfer-Encoding parser:: Content-Transfer-Encoding $BMs$N2r@O4o(B
* encoder/decoder:: $BId9f2=!&I|9f2=(B
* Encoding information:: Other utilities
* mel-backend:: How to write encoder/decoder module
* generic function for mel-backend:: How to add encoding/decoding service
@end menu
@node Content-Transfer-Encoding parser, encoder/decoder, Content-Transfer-Encoding, Content-Transfer-Encoding
@section Content-Transfer-Encoding $BMs$N2r@O4o(B
@defun mime-parse-Content-Transfer-Encoding string
@var{string} $B$r(B content-transfer-encoding $B$H$7$F2r@O$7$?7k2L$rJV$9!#(B
@end defun
@defun mime-read-Content-Transfer-Encoding &optional default-encoding
$B8=:_$N(B buffer $B$N(B Content-Transfer-Encoding $BMs$rFI$_<h$j!"2r@O$7$?7k2L$r(B
$BJV$9!#(B@refill
Content-Transfer-Encoding $BMs$,B8:_$7$J$$>l9g$O(B@var{default-encoding} $B$r(B
$BJV$9!#(B
@end defun
@node encoder/decoder, Encoding information, Content-Transfer-Encoding parser, Content-Transfer-Encoding
@section $BId9f2=!&I|9f2=(B
@defun mime-encode-region start end encoding
$B8=:_$N(B buffer $B$N(B @var{start} $B$+$i(B @var{end} $B$^$G$N(B region $B$r(B
@var{encoding} $B$r;H$C$FId9f2=$7$^$9!#(B
@end defun
@defun mime-decode-region start end encoding
$B8=:_$N(B buffer $B$N(B @var{start} $B$+$i(B @var{end} $B$^$G$N(B region $B$r(B
@var{encoding} $B$r;H$C$FI|9f2=$7$^$9!#(B
@end defun
@defun mime-decode-string string encoding
@var{string} $B$r(B @var{encoding} $B$H$7$FI|9f$7$?7k2L$rJV$9!#(B
@end defun
@defun mime-insert-encoded-file filename encoding
@var{ENCODING} format $B$GId9f2=$5$l$?(B file @var{FILENAME} $B$r(B
$BA^F~$9$k!#(B
@end defun
@defun mime-write-decoded-region start end filename encoding
@var{encoding} $B$GId9f2=$5$l$?8=:_$N(B region $B$rI|9f2=$7$F(B
@var{filename}$B$K=q$-9~$_$^$9!#(B
<var>start<var> $B$H(B @var{end} $B$O(B buffer $B$N0LCV$G$9!#(B
@end defun
@node Encoding information, mel-backend, encoder/decoder, Content-Transfer-Encoding
@section Other utilities
@defun mime-encoding-list &optional SERVICE
Content-Transfer-Encoding $B$N(B list $B$rJV$7$^$9!#(B@refill
@var{service} $B$,;XDj$5$l$F$$$k$H!"$=$l$KBP$9$k(B
Content-Transfer-Encoding $B$rJV$7$^$9!#(B
@end defun
@defun mime-encoding-alist &optional SERVICE
$BJd40$N$?$a$N(B Content-Transfer-Encoding $B$NI=$rJV$7$^$9!#(B@refill
@var{service} $B$,;XDj$5$l$F$$$k>l9g$O$=$l$KBP$9$k(B
Content-Transfer-Encoding $B$N(B list $B$rJV$7$^$9!#(B
@end defun
@node mel-backend, generic function for mel-backend, Encoding information, Content-Transfer-Encoding
@section How to write encoder/decoder module
@defmac mel-define-method name args &rest body
@var{name} $B$r(B (nth 1 (car (last @var{args}))) backend $B$N(B
method $B4X?t$H$7$FDj5A$7$^$9!#(B
@var{args} $B$O(B lambda $B$N0z?t(B list $B$H;w$F$$$^$9$,!"(B(car (last
@var{args})) $B$O;XDj$5$l$?(B parameter $B$G$"$kI,MW$,$"$j$^$9!#(B(car
(car (last @var{args}))) $B$OJQ?t$NL>A0$G!"(B(nth 1 (car (last
@var{args}))) $B$O(B backend $B$NL>A0(B (encoding) $B$G$9!#(B@refill
$BNc(B:@refill
@lisp
(mel-define-method mime-write-decoded-region (start end filename
(nil "base64"))
"Decode and write current region encoded by base64 into FILENAME.
START and END are buffer positions."
(interactive
(list (region-beginning) (region-end)
(read-file-name "Write decoded region to file: ")))
(let ((str (buffer-substring start end)))
(with-temp-buffer
(insert (decode-base64-string str))
(write-region-as-binary (point-min) (point-max) filename)
)))
@end lisp
@end defmac
@defmac mel-define-method-function spec function
@var{spec} $B$N4X?tDj5A$r(B @var{function} $B$K@_Dj$7$^$9!#(B@refill
@var{spec} $B$N:G=i$NMWAG$O(B service $B$G$9!#(B@refill
@var{args} $B$N;D$j$O(B lambda $B$N0z?t(B list $B;w$F$$$^$9$,!"(B(car (last
@var{args})) $B$O;XDj$5$l$?(B parameter $B$G$"$kI,MW$,$"$j$^$9!#(B(car
(car (last @var{args}))) $B$OJQ?t$NL>A0$G!"(B(nth 1 (car (last
@var{args}))) $B$O(B backend $B$NL>A0(B (encoding) $B$G$9!#(B@refill
$BNc(B:@refill
@lisp
(mel-define-method-function (mime-encode-string string (nil "base64"))
'encode-base64-string)
@end lisp
@end defmac
@node generic function for mel-backend, , mel-backend, Content-Transfer-Encoding
@section $BId9f2=(B/$BI|9f2=(B service $B$rDI2C$9$kJ}K!(B
@defmac mel-define-service name &optional args doc-string
@var{name} $B$r(B Content-Transfer-Encoding $B$N(B service $B$H$7$FDj5A$7$^(B
$B$9!#(B@refill
@var{args} $B$,;XDj$5$l$F$$$k$H!"(B@var{name} $B$O(B service $B$N(B
generic function $B$H$7$FDj5A$5$l$^$9!#(B@refill
$BNc(B:@refill
@lisp
(mel-define-service encoded-text-encode-string (string encoding)
"Encode STRING as encoded-text using ENCODING.
ENCODING must be string.")
@end lisp
@end defmac
@node encoded-word, custom, Content-Transfer-Encoding, Top
@chapter Header $B$N(B network $BI=8=(B
@cindex RFC 2047
@cindex Standards Track
@cindex RFC 2047
encoded-word $B$O(B header $B$GHs(B ASCII (@ref{ASCII}) $BJ8;z$rI=8=$9$k$?$a$N7A<0(B
$B$G!"(B@strong{RFC 2047} $B$GDj5A$5$l$F$$$^$9!#(B@refill
@noindent
[RFC 2047]
@quotation
K. Moore, ``MIME (Multipurpose Internet Mail Extensions) Part Three:
Message Header Extensions for Non-ASCII Text'', November 1996, Standards
Track (obsolete RFC 1521,1522,1590).
@end quotation
$B$^$?!"9T57$N0-$$$3$H$@$H8@$($^$9$,!"(Bencoded-word $B$rMQ$$$:$KHs(B ASCII
(@ref{ASCII}) $BJ8;z$r(B header $B$KF~$l$?5-;v$bB8:_$7$^$9!#(B@refill
FLIM $B$O$3$l$i$rId9f2=!&I|9f2=$9$k5!G=$rDs6!$7$^$9!#(B
@menu
* Header encoder/decoder:: Header $B$NId9f2=!&I|9f2=(B
@end menu
@node Header encoder/decoder, , encoded-word, encoded-word
@section Header $B$NId9f2=!&I|9f2=(B
@defun eword-decode-header &optional code-conversion separator
Header $BCf$N(B encoded-word $B$rI|9f$9$k!#(B@refill
$B$b$7(B @var{code-conversion} $B$,(B @code{nil} $B$J$i!"(Bencoded-word $B$@$1$,I|9f$5(B
$B$l$k!#$b$7!"(B@var{code-conversion} $B$,(B MIME charset (@ref{MIME charset})
$B$J$i!"Hs(B ASCII bit patterns $B$O$=$N(B MIME charset $B$H$7$FI|9f$5$l$k!#$3$l0J(B
$B30$N>l9g!"Hs(B ASCII bit patterns $B$O(B@code{default-mime-charset}. $B$H$7$FI|(B
$B9f$5$l$k!#(B(cf. @ref{entity formatting}) @refill
$B$b$7(B @var{separator} $B$,(B @code{nil} $B$G$J$1$l$P!"$=$NCM$,(Bheader separator
$B$H$7$FMQ$$$i$l$k!#(B
@end defun
@defun eword-encode-header &optional code-conversion
Header $B$r(B network $BI=8=$KId9f2=$9$k!#(B@refill
$B3F(B field $B$O(B @code{mime-field-encoding-method-alist} $B$G;XDj$5$l$?J}<0$G(B
$BId9f2=$5$l$k!#(B
@end defun
@defvar mime-field-encoding-method-alist
Field $B$rId9f2=$9$kJ}K!$r;XDj$9$kO"A[(B list$B!#3F(B element $B$O(B (FIELD
. METHOD) $B$NMM$K$J$C$F$$$k!#(B@refill
METHOD $B$,(B @code{mime} $B$G$"$l$P!"(BFIELD $B$O(B MIME format $B$KId9f2=$5(B
$B$l$k(B (encoded-word)$B!#(B
METHOD $B$,(B @code{nil} $B$G$"$l$P!"(BFIELD $B$OId9f2=$5$l$J$$!#(B
METHOD $B$,(B MIME charset $B$G$"$l$P!"(BFIELD $B$O%M%C%H%o!<%/%3!<%I$KJQ49$7$J(B
$B$1$l$P$J$i$J$$$H$-$K(B charset $B$KId9f2=$5$l$k!#(B@refill
$B$=$&$G$J$1$l$P!"(BFIELD $B$O%M%C%H%o!<%/%3!<%I$KJQ49$7$J$1$l$P$J$i$J$$$H$-(B
$B$K(B $BJQ?t(B @code{default-mime-charset} $B$GId9f2=$5$l$k(B
@end defvar
@node custom, Appendix, encoded-word, Top
@chapter $B0lHL@_Dj(B
@deffn{group} mime
MIME $B4XO"5!G=$K4X$9$k(B group.@refill
@code{mail} $B$H(B @code{news} $B$KB0$9$k!#(B
@end deffn
@node Appendix, Concept Index, custom, Top
@chapter $BIUO?(B
@menu
* Glossary:: $BMQ8l(B
* Bug report:: bug $BJs9p$N;EJ}(B
* CVS:: CVS $B$K$h$k3+H/(B
* History:: $BNr;K(B
@end menu
@node Glossary, Bug report, Appendix, Appendix
@section $BMQ8l(B
@menu
* 7bit::
* 8bit::
* ASCII::
* Base64::
* binary::
* Coded character set:: Coded character set$B!JId9f2=J8;z=89g!K(B, Character code$B!JJ8;zId9f!K(B
* media-type::
* message::
* MIME::
* MIME charset::
* MTA::
* MUA::
* Quoted-Printable::
* RFC 822::
* RFC 1036::
* RFC 2045::
* RFC 2046::
* RFC 2048::
* RFC 2049::
* plain text::
* us-ascii::
@end menu
@node 7bit, 8bit, Glossary, Glossary
@subsection 7bit
$B$3$3$G$O(B 0 $B$+$i(B 127 $B$N@0?t$r;X$9!#(B@refill
0 $B$+$i(B 127 $B$N@0?t$NNs$GI=8=$G$-$k$h$&$J(B data $B$r(B ``7bit $B$N(B data'' $B$H8F$V!#(B
@refill
$B$^$?!"(B0 $B$+$i(B 31 $B$*$h$S(B 127 $B$GI=8=$5$l$k@)8fJ8;z$H(B 32 $B$GI=8=$5$l$k6uGr$H(B
33 $B$+$i(B 126 $B$GI=8=$5$l$k?^7AJ8;z$+$i$J$kJ8;zNs$N$3$H$r(B ``7bit $B$NJ8;zNs(B''
$B$H8F$V!J$3$l$O(B ISO 2022 (@ref{ISO 2022}) $B$N!V(B7 $BC10L7O!W$HF1MM!K!#(B
$BEAE}E*$J(B Internet $B$N(B MTA (@ref{MTA}) $B$O(B 7bit $B$N(B data $B$rE>Aw$G$-$k$N$G!"(B
7bit $B$N(B data $B$O(B Quoted-Printable (@ref{Quoted-Printable}) $B$d(B Base64
(@ref{Base64}) $B$H$$$C$?JQ49$r9T$o$J$/$F$b$=$N$^$^E>Aw$G$-$k!#(B@refill
$B$7$+$7!"(B7bit $B$G$"$l$P$I$s$J(B data $B$G$bNI$$$H$O$$$($J$$!#$J$<$J$i!"#19T$N(B
$BD9$5$,$"$^$j$KD9$$$H!"(BMTA $B$O$=$N(B message $B$rE>Aw$9$k$3$H$,$G$-$J$$$+$i$G(B
$B$"$k!#$A$J$_$K!"(BRFC 821 (@ref{RFC 821}) $B$O#19T$O2~9TJ8;z$r=|$$$F(B 998
byte $B0JFb$G$"$k$3$H$r5a$a$F$$$k!#$h$C$F!"$3$l0J>e$N9T$,4^$^$l$k2DG=@-$N(B
$B$"$k(B data, $BNc$($P!"(BPostscript $B$N(B data $B$J$I$O(B Quoted-Printable $BEy$G(B
encode$B$9$kI,MQ$,$"$k!#(B
@node 8bit, ASCII, 7bit, Glossary
@subsection 8bit
@cindex binary
$B$3$3$G$O(B 0 $B$+$i(B 255 $B$N@0?t$r;X$9!#(B@refill
0 $B$+$i(B 255 $B$N@0?t$NNs$GI=8=$G$-$k$h$&$J(B data $B$r(B ``8bit $B$N(B data'' $B$H8F$V!#(B
@refill
$B$^$?!"(B0 $B$+$i(B 31, 127 $B$*$h$S(B 128 $B$+$i(B 159 $B$GI=8=$5$l$k@)8fJ8;z$H(B 32 $B$GI=(B
$B8=$5$l$k6uGr$H(B 33 $B$+$i(B 126 $B$H(B 160 $B$+$i(B 255 $B$GI=8=$5$l$k?^7AJ8;z$+$i$J$k(B
$BJ8;zNs$N$3$H$r(B ``8bit $B$NJ8;zNs(B'' $B$H8F$V!J$3$l$O(B ISO 2022 (@ref{ISO 2022}) $B$N!V(B8 $BC10L7O!W$HF1MM!K!#(B@refill
iso-8859-1 (@ref{iso-8859-1}) $B$d(B euc-kr (@ref{euc-kr}) $B$H$$$C$?Id9f2=J8(B
$B;z=89g$O(B 8bit $B$NJ8;zNs$G$"$k!#(B@refill
$BEAE}E*$J(B Internet $B$N(B MTA (@ref{MTA}) $B$O(B 7bit (@ref{7bit}) $B$N(B data $B$7$+E>(B
$BAw$G$-$J$$$N$G!"$=$&$7$?(B MTA $B$r7PM3$9$k>l9g!"(BQuoted-Printable
(@ref{Quoted-Printable}) $B$d(B Base64 (@ref{Base64}) $B$H$$$C$?JQ49$r9T$o$J$/(B
$B$F$O$J$i$J$$!#(B@refill
$B$7$+$7!":G6a$G$O(B 8bit $B$NJ8;zNs$r$=$N$^$^DL$9$3$H$,$G$-$k(B MTA $B$bEP>l$7$F(B
$B$-$?$N$G!"$=$N$^$^Aw$k$3$H$,$G$-$k>l9g$bA}$($F$-$?!#(B@refill
$B$7$+$7!"(B8bit $B$G$"$l$P$I$s$J(B data $B$G$bNI$$$H$O$$$($J$$!#$J$<$J$i!"#19T$N(B
$BD9$5$,$"$^$j$KD9$$$H!"(BMTA $B$O$=$N(B message $B$rE>Aw$9$k$3$H$,$G$-$J$$$+$i$G(B
$B$"$k!#$A$J$_$K!"(BRFC 821 (@ref{RFC 821}) $B$O#19T$O2~9TJ8;z$r=|$$$F(B 998
byte $B0JFb$G$"$k$3$H$r5a$a$F$$$k!#$h$C$F!"$3$l0J>e$N9T$,4^$^$l$k2DG=@-$N(B
$B$"$k(B data, $BNc$($P!"(BPostscript $B$N(B data $B$J$I$O(B Quoted-Printable $BEy$G(B
encode$B$9$kI,MQ$,$"$k!#(B@refill
$B$^$?!"$3$&$7$?M}M3$+$i!"#19T$,(B 999 byte $B0J>e$N9T$,B8:_$9$k2DG=@-$N$"$k(B
data $B$O(B @strong{binary} (@ref{binary}) $B$H8F$V$3$H$K$9$k!#(B@refill
$B$A$J$_$K!"(B7bit $B$GI=8=$G$-$k(B data $B$O(B 8bit $B$G$bI=8=$G$-$k!#$h$C$F!"(B
``8bit'' $B$H8@$C$?>l9g!"#19T$,(B 998 byte $B0J2<$NG$0U$N(B data $B$r;X$9$3$H$,(B
$B$"$k!#(B
@node ASCII, Base64, 8bit, Glossary
@subsection ASCII
@cindex ANSI X3.4:1986
@cindex ASCII
$B%"%a%j%+O"K.$G;H$o$l$kJ8;z$rId9f2=$7$?Id9f2=J8;z=89g(B (@ref{$BId9f2=J8;z=8(B $B9g(B})$B!#(BA-Z, a-z $B$N(B Latin $BJ8;z$H?t;z!"4v$D$+$N5-9f$+$i$J$k!#(BISO 646 $B$N0l$D(B
$B$G!"8=:_$O9q:]4p=`HG(B (IRV) $B$K$J$C$F$$$k!#(B
@noindent
[ASCII]
@quotation
``Coded Character Set -- 7-Bit American Standard Code for Information
Interchange'', ANSI X3.4:1986.
@end quotation
@node Base64, binary, ASCII, Glossary
@subsection Base64
@cindex pad
RFC 2045 (@ref{RFC 2045}) $B$GDj5A$5$l$F$$$k(B MIME (@ref{MIME}) $B$K$*$1$k(B
binary data (@ref{binary}) $B$N(B network $B$G$NJQ49K!$N#1$D!#(B@refill
$B!X(B64 $B?J?t!Y$H$$$&0UL#$G!"(B3 byte $B$N(B data $B$r(B 0 $B$+$i(B 63 $B$N?t$rI=$9(B ASCII
(@ref{ASCII}) 4 $BJ8;z$KJQ49$9$kJ}K!!#!J$b$7!"(B4 $BJ8;z$K$J$i$J$1$l$P(B
@strong{pad} $B$H8F$P$l$k5M$aJ*$r$7$FD9$5$rD4@0$9$k!K(B@refill
$B$3$N(B 65 $B<oN`$NJ8;z$O(B ASCII $B$H(B EBCDIC $B$N6&DLItJ,$+$iA*$P$l$F$*$j!"(B
Internet $B0J30$N(B network $B$r7PM3$9$k>l9g$G$b0BA4$KE>Aw$G$-$k$h$&$K@_7W$5(B
$B$l$F$$$k!#(B
@node binary, Coded character set, Base64, Glossary
@subsection binary
@cindex binary data
@cindex binary
$BG$0U$N(B byte $BNs$r(B @strong{binary} $B$H8F$V!#(B@refill
8bit (@ref{8bit}) $B$H0[$J$k$N$O(B data $B$K9T$N9=B$$r2>Dj$7$J$$$3$H$G$"$k!#(B
$B$^$?!"9T$N9=B$$,$"$C$F$b!"(B999 byte $B0J>e$+$i$J$k9T$,$"$k>l9g$b(B binary $B$H(B
$B8F$V$3$H$K$9$k!#(B@refill
$B$A$J$_$K!"(B7bit (@ref{7bit}) $B$d(B 8bit $B$GI=8=$G$-$k(B data $B$O(B binary $B$G$bI=8=(B
$B$G$-$k!#$h$C$F!"(B@strong{binary data} $B$H8@$C$?>l9g!"G$0U$N(B data $B$r;X$9$3(B
$B$H$,$"$k!#(B
@node Coded character set, media-type, binary, Glossary
@subsection Coded character set$B!JId9f2=J8;z=89g!K(B, Character code$B!JJ8;zId9f!K(B
$BJ8;z$H(B byte $BNs$H#1BP#1$KBP1~IU$1$k[#Kf$G$J$$5,B'$N=89g!#(B
@node media-type, message, Coded character set, Glossary
@subsection media-type
@cindex x-token
@cindex primary-type/subtype
@cindex message
@cindex multipart
@cindex application
@cindex video
@cindex audio
@cindex image
@cindex text
@cindex subtype
@cindex primary-type
MIME (@ref{MIME}) $B$K$*$1$k(B entity (@ref{entity}) $B$N<oN`!#(B
@strong{primary-type} $B$H(B @strong{subtype} $B$+$i$J$k!#(BRFC 2046 (@ref{RFC 2046}) $B$GDj5A$5$l$F$$$k!#(B@refill
primary-type $B$OI8=`$G$O(B
@itemize @bullet
@item
@strong{text}
@item
@strong{image}
@item
@strong{audio}
@item
@strong{video}
@item
@strong{application}
@item
@strong{multipart} (@ref{multipart})
@item
@strong{message}
@end itemize
@noindent
$B$,Dj5A$5$l!"$=$l$>$l$K$O(B application/octet-stream, audio/basic,
image/jpeg, multipart/mixed (@ref{multipart/mixed}), text/plain
(@ref{text/plain}), video/mpeg $B$J$I$N$5$^$6$^$J(B subtype $B$,Dj5A$5$l$F$$$k!#(B
@noindent
@strong{[$BCm0U(B]}
@quotation
$B$3$3$G$O!"(Btext/plain $B$J$I$N(B type/subtype $B$NAH$r$7$P$7$P(B
@strong{primary-type/subtype} $B$H=q$/!#(B
@end quotation
media-type $B$O!"(BRFC 2046 $B$GDj5A$5$l$F$$$k$b$N$K2C$($F!"EPO?$9$k$3$H$b$G$-(B
$B$k!#8=:_!"EPO?$5$l$F$$$k$b$N$O(B MEDIA TYPES
(ftp://ftp.isi.edu/in-notes/iana/assignments/media-types) $B$G;2>H$G$-$k!#(B
$B$^$?!"(Btype $B$b$7$/$O(B subtype $B$K!"A0$K(B `x-' $B$rIU$1$?(B @strong{x-token} $B$rMQ(B
$B$$$k$3$H$K$h$j!"EPO?$5$l$F$$$J$$$b$N$r;dE*$KMQ$$$k$3$H$b$G$-$k!#$7$+$7!"(B
$BEvA3$N$3$H$J$,$i!"$3$&$7$?;dE*$J(B media-type $B$ONJ2r$rF@$?<T$N4V$G$7$+2r<a(B
$B$G$-$J$$$N$GMxMQ$K$OCm0U$9$k$3$H!#(B@refill
(cf. @ref{Content-Type})
@node message, MIME, media-type, Glossary
@subsection message
$B$3$3$G$O(B mail $B$H(B news $B5-;v$NAm>N$H$7$FMQ$$$k!#(B
@node MIME, MIME charset, message, Glossary
@subsection MIME
@cindex Multipurpose Internet Mail Extensions
@strong{Multipurpose Internet Mail Extensions} $B$NN,$G!"(BInternet $B$N(B mail
$B$d(B news $B$G(B us-ascii plain text (@ref{us-ascii}) $B0J30$NJ8;z$r;H$&$?$a$N(B
RFC 822 (@ref{RFC 822}) $B$KBP$9$k3HD%!#(B@refill
RFC 2045 $B$OKAF,$G<!$N$h$&$K=R$Y$F$$$k!'(B@refill
STD 11, RFC 822 $B$O!"(BUS-ASCII message header $B$K4X$7$FHs>o$K>\:Y$K5,Dj$7(B
$B$?(B message $BI=8=(B protocol $B$rDj5A$7$F$$$k!#$7$+$7!"$=$l$OC1$K(B flat $B$J(B
US-ASCII text $B$N$_$KN1$^$j!"(Bmessage $B$NFbMF$d(B message body $B$K4X$9$k5,Dj(B
$B$O$J$5$l$F$$$J$$!#(BMultipurpose Internet Mail Extensions, $B$"$k$$$O(B MIME
$B$HAm>N$5$l$k!"$3$N0lO"$NJ8=q$O!"0J2<$N;v$r2DG=$H$9$k$?$a$K(B message $B$N(B
$B7A<0$r:FDj5A$7$?!'(B
@enumerate
@item
$BJ8=q(B message body $B$K$*$1$k(B US-ASCII $B0J30$NJ8;z=89g(B
@item
$BHsJ8=q(B message body
@item
$BJ#?t$NItJ,$+$i$J$k(B message body
@item
US-ASCII $B0J30$NJ8;z=89g$+$i$J$kJ8=q(B header $B>pJs(B
@end enumerate
RFC 2045 (@ref{RFC 2045}), RFC 2046 (@ref{RFC 2046}), RFC 2047
(@ref{encoded-word}), RFC 2048 (@ref{RFC 2048}), RFC 2049 (@ref{RFC 2049}) $B$GDj5A$5$l$F$$$k!#(B
@node MIME charset, MTA, MIME, Glossary
@subsection MIME charset
Content-Type (@ref{Content-Type}) $BMs$d(B encoded-word (@ref{encoded-word})
$B$N(B charset parameter $B$GMQ$$$i$l$kEPO?$5$l$?Id9f2=J8;z=89g(B(@ref{Coded character set})$B!#(B@refill
RFC 2045 (@ref{RFC 2045}) $B$GDj5A$5$l$F$$$k!#(B@refill
iso-2022-jp $B$d(B euc-kr $B$O$=$N#1$D!#(B
@node MTA, MUA, MIME charset, Glossary
@subsection MTA
@cindex Message Transfer Agent
@strong{Message Transfer Agent} $B$NN,$G!"(Bqmail $B$d(B sendmail $B$J$I$N(B mail $BG[(B
$BAw(B program $B$H(B inn $B$J$I$N(B news server $B$NAm>N!#(B@refill
(cf. @ref{MUA})
@node MUA, Quoted-Printable, MTA, Glossary
@subsection MUA
@cindex Message User Agent
@strong{Message User Agent} $B$NN,$G!"(Bmail reader $B$H(B news reader $B$NAm>N!#(B
@refill
(cf. @ref{MTA})
@node Quoted-Printable, RFC 822, MUA, Glossary
@subsection Quoted-Printable
RFC 2045 (@ref{RFC 2045}) $B$GDj5A$5$l$F$$$k(B MIME (@ref{MIME}) $B$K$*$1$k(B
binary data (@ref{binary data}) $B$N(B network $B$G$NJQ49K!$N#1$D!#(B@refill
`=' $B$d@)8fJ8;z$d(B 128 $B0J>e$NJ8;z$J$I$O(B `=AF' $B$N$h$&$K(B `=' $B$N8e$KB3$/(B 16
$B?J?t$GI=8=$9$k!#$3$N$?$a!"(BASCII (@ref{ASCII}) $BJ8;zCf?4$N(B data $B$G$O(B
Base64 (@ref{Base64}) $B$KHf$Y$k$H2DFI@-$,9b$/$J$k2DG=@-$,$"$k!#(B@refill
$B$7$+$7$J$,$i!"(BEBCDIC $B$K$OB8:_$7$J$$J8;z$rMxMQ$9$k>l9g!"(BEBCDIC $B$rMxMQ$7(B
$B$F$$$k(B network $B$G$O0BA4$KE>Aw$9$k$3$H$,$G$-$:!"(BBase64 $B$KHf$Y$F0BA4@-$O(B
$BDc$$!#(B
@node RFC 822, RFC 1036, Quoted-Printable, Glossary
@subsection RFC 822
@cindex RFC 822
@cindex STD 11
@cindex Internet message
@cindex Internet mail
@cindex message header
Internet mail $B$N<g$K(B @strong{message header} $B$K4X$9$k7A<0$K(B
$B4X$9$kI8=`$rDj$a$F$$$k(B RFC.
@noindent
@strong{[Memo]}
@quotation
news message $B$b$3$l$K=`$8$F$$$k$N$G!"(B@strong{Internet mail} $B$H=q$/$h$j$b!"(B
@strong{Internet message} $B$H=q$$$?J}$,NI$$$+$b$7$l$J$$!#(B
@end quotation
@noindent
[RFC 822]
@quotation
D. Crocker, ``Standard for the Format of ARPA Internet Text Messages'',
August 1982, STD 11.
@end quotation
@node RFC 1036, RFC 2045, RFC 822, Glossary
@subsection RFC 1036
@cindex RFC 1036
@cindex USENET
USENET $B$G$N(B message $B$N7A<0$rDj$a$?(B RFC. RFC 822 (@ref{RFC 822}) $B$N(B
subset $B$K$J$C$F$$$k!#(BInternet $B$NI8=`$G$O$J$$$,!"(BUSENET $B0J30$N(B netnews $B$G(B
$B$b$3$l$K=`$8$F$$$k$b$N$,B?$$!#(B
@noindent
[USENET: RFC 1036]
@quotation
M. Horton and R. Adams, ``Standard for Interchange of USENET Messages'',
December 1987, (obsolete RFC 850).
@end quotation
@node RFC 2045, RFC 2046, RFC 1036, Glossary
@subsection RFC 2045
@cindex RFC 2045
@cindex Standards Track
@noindent
[RFC 2045]
@quotation
N. Freed and N. Borenstein, ``Multipurpose Internet Mail Extensions
(MIME) Part One: Format of Internet Message Bodies'', November 1996,
Standards Track (obsolete RFC 1521, 1522, 1590).
@end quotation
@node RFC 2046, RFC 2048, RFC 2045, Glossary
@subsection RFC 2046
@cindex RFC 2046
@cindex Standards Track
@noindent
[RFC 2046]
@quotation
N. Freed and N. Borenstein, ``Multipurpose Internet Mail Extensions
(MIME) Part Two: Media Types'', November 1996, Standards Track (obsolete
RFC 1521, 1522, 1590).
@end quotation
@node RFC 2048, RFC 2049, RFC 2046, Glossary
@subsection RFC 2048
@cindex RFC 2048
@cindex Standards Track
@noindent
[RFC 2048]
@quotation
N. Freed, J. Klensin and J. Postel, ``Multipurpose Internet Mail
Extensions (MIME) Part Four: Registration Procedures'', November 1996,
Standards Track (obsolete RFC 1521, 1522, 1590).
@end quotation
@node RFC 2049, plain text, RFC 2048, Glossary
@subsection RFC 2049
@cindex RFC 2049
@cindex Standards Track
@noindent
[RFC 2049]
@quotation
N. Freed and N. Borenstein, ``Multipurpose Internet Mail Extensions
(MIME) Part Five: Conformance Criteria and Examples'', November 1996,
Standards Track (obsolete RFC 1521, 1522, 1590).
@end quotation
@node plain text, us-ascii, RFC 2049, Glossary
@subsection plain text
$B=qBN$dAHHG$K4X$9$k>pJs$r;}$?$J$$J8;zId9f(B(@ref{Coded character set})$B$N$_(B
$B$GI=8=$5$l$k(B text $B>pJs!#(B(cf. @ref{text/plain})
@node us-ascii, , plain text, Glossary
@subsection us-ascii
@cindex ASCII
@cindex us-ascii
$B%"%a%j%+O"K.$J$I$G;H$o$l$k1Q8l$J$I$rI=8=$9$k$?$a$N(B MIME charset
(@ref{MIME charset}) $B$N#1$D!#(B@refill
ASCII (@ref{ASCII}) $B$N$_$+$i$J$j(B ISO 2022 $B$K$h$kId9f3HD%$O5v$5$l$J$$!#(B
Internet message $B$K$*$1$kI8=`$NId9f2=J8;z=89g(B(@ref{Coded character set})
$B$G$"$j!"L@<(E*$K(B MIME charset $B$,<($5$l$J$$>l9g$O86B'$H$7$F(B
@strong{us-ascii} $B$,;H$o$l$k!#(B@refill
$B$^$?!"(BRFC 822 (@ref{RFC 822}) $B$K$*$1$k(B @strong{ASCII} $B$O(B us-ascii $B$G$"$k!#(B
@node Bug report, CVS, Glossary, Appendix
@section bug $BJs9p$N;EJ}(B
FLIM $B$N%P%0$r8+$D$1$?$i!"0J2<$N(B address $B$K(B mail $B$rAw$C$F$/$@$5$$!'(B
@itemize @bullet
@item
$B1Q8l(B <emacs-mime-en@@m17n.org>
@item
$BF|K\8l(B <emacs-mime-ja@@m17n.org>
@end itemize
$BC"$7!"$"$^$j$K$b8E$$HG$K4X$9$kJs9p$O4?7^$5$l$^$;$s!#8E$$HG$N(B bug $B$O!"?7(B
$B$7$$HG$G$O<#$C$F$$$k$+$b$7$l$^$;$s!#$^$:!":G?7HG$G3NG'$7$F$_$^$7$g$&!#(B
@refill
$B$=$l$+$i!"E,@Z$JJs9p$r$7$^$7$g$&!#C1$K!V$&$^$/F0$+$J$$!W$H8@$o$l$F$b$I$&(B
$B$$$&>u67$J$N$+$O$5$C$Q$jH=$j$^$;$s!#:GDc8B!"(BOS, emacs, APEL, FLIM, SEMI,
$B;H$C$F$$$k(B MUA $B$N<oN`$*$h$SHG!"@_Dj$r=q$/I,MW$,$"$j$^$9!#$^$?!"(Berror $B$,(B
$B5/$C$F$$$k>l9g$O(B backtrace $B$rAw$k$3$H$b=EMW$G$9!#(B(cf. @ref{(emacs)Bugs})
$B$^$?!"(Bbug $B$OBgDqJ#?t$N?M$,Ax6x$9$k$b$N$G$9!J$=$&$G$J$1$l$P!"(Bbug $B$G$O$J(B
$B$$2DG=@-$,$"$j$^$9!K!#$@$+$i!":n<T$KD>@\(B mail $B$rAw$k$H:n<T$OF1$8(B mail
$B$r2?DL$b=q$/1)L\$K$J$j$^$9!#$@$+$i!"I,$:(B bug $BJs9p$O>e5-$N(B address $B$KAw$C(B
$B$F$/$@$5$$!#(B
EMACS-MIME ML $B$G$O(B FLIM $B$N%P%0>pJs$N8r49$d:G?7HG$NG[I[!"(BFLIM $B$N2~NI$K(B
$B4X$9$k5DO@$r9T$J$C$F$$$^$9!#(BEMACS-MIME ML $B$K;22C$7$?$$J}$O(B
@itemize @bullet
@item
$B1Q8l(B <emacs-mime-en-ctl@@m17n.org>
@item
$BF|K\8l(B <emacs-mime-ja-ctl@@m17n.org>
@end itemize
@noindent
$B$K6u$N(B mail $B$rAw$C$F2<$5$$!#(B
@node CVS, History, Bug report, Appendix
@section CVS $B$K$h$k3+H/(B
FLIM $B$N(B file $B$O(B CVS $B$r;H$C$F4IM}$5$l$F$$$^$9!#$3$N$?$a!"0J2<$NJ}K!$G:G(B
$B?7$N(B FLIM $B$rF~<j$9$k$3$H$,$G$-$^$9!'(B
@example
(0) cvs login
% cvs -d :pserver:anonymous@@cvs.m17n.org:/cvs/root login
CVS password: [CR] # NULL string
(1) checkout
% cvs -d :pserver:anonymous@@cvs.m17n.org:/cvs/root checkout
checkout [-r TAG] flim
@end example
CVS $B$rMQ$$$?3+H/$K;22C$7$?$$J}$O(B
@itemize @bullet
@item
<cvs@@cvs.m17n.org>
@end itemize
@noindent
$B$^$G!"%"%+%&%s%HL>$H(B ssh $B$N8x3+80$rAw$C$F$/$@$5$$!#(Bssh $B7PM3$G$O!"(B
cvsroot $B$O(B :ext:cvs@@cvs.m17n.org:/cvs/root $B$H$J$j$^$9!#(B
@node History, , CVS, Appendix
@section $BNr;K(B
FLIM $B$N(B code $B$N:G8E$NItJ,$O(B $B1]JB(B $B;LCR(B $B;a$,=q$$$?(B @file{mime.el} $B$K5/8;$7(B
$B$^$9!#$3$N>.$5$J(B program $B$O(B Nemacs $B$GF0:n$9$k(B iso-2022-jp $B$N(B B-encoding
$B@lMQ$N(B encoded-word $B$NI|9f2=%W%m%0%i%`$G$7$?!#(B@refill
$B$=$N8e!"<i2,(B $BCNI'(B $B$O(B @file{mime.el} $B$r85$K(B@file{tiny-mime.el} $B$H$$$&%W%m(B
$B%0%i%`$r=q$-$^$9!#$3$l$O!"(BNemacs $B$H(B Mule $B$GF0:n$9$k(B encoded-word $B$NId9f(B
$B2=!&I|9f2=%W%m%0%i%`$G$7$?!#(B@file{tiny-mime.el} $B$O(B B-encoding $B$@$1$G$J$/(B
Q-encoding $B$b(Bsupport $B$7!"$^$?!"(BMULE $B$G07$&$3$H$,$G$-$k$5$^$6$^$J(B MIME
charset (@ref{MIME charset}) $B$rF1;~$K;H$&$3$H$,$G$-$^$7$?!#$3$N;~!"(B
Nemacs $B$H(B Mule $B$NAPJ}$r(B support $B$9$k$?$a$KMQ$$$i$l$?%F%/%K%C%/$O8e$K(B emu
package $B$K$^$H$a$i$l$^$9!#(B@refill
$B$3$N:"!"<i2,(B $BCNI'(B $B$O(B @file{tiny-mime.el} $B$r$5$^$6$^$J(B MUA $B$G;H$&$?$a$N@_(B
$BDj=8$bG[I[$7$F$$$^$7$?$,!"$=$l$i$O8e$K(B@file{tiny-mime.el} $B$H$H$b$K#1$D$N(B
package $B$K$^$H$a$i$l!"(Btm $B$H$$$&L>A0$GG[I[$5$l$^$9!#(B@refill
$B<i2,(B $BCNI'(B $B$O$d$,$F!"(BMIME message $B$r1\Mw$9$k$?$a$N%W%m%0%i%`$G$"$k(B
@file{tm-body.el} $B$r=q$-$^$9!#$3$l$O!"$9$0$K(B@file{tm-view.el} $B$H$$$&L>A0(B
$B$KJQ$o$j$^$7$?$,!"$d$,$F!"$3$l$,(B@file{tiny-mime.el} $B$KBe$o$C$F!"(Btm $B$NCf(B
$B3K$H$J$j$^$9!#(B@refill
@file{tm-view.el} $B$OEvA3!"(BContent-Transfer-Encoding $B$r07$&I,MW$,$"$j$^$9!#(B
$B$3$NL\E*$N$?$a$K!"(BMEL $B$,@0Hw$5$l$O$8$a$^$7$?!#(BBase64 $B$K4X$7$F$O(B
@file{tiny-mime.el} $B$N(B code $B$,0\$5$l!"$^$?!"?7$?$K(BQuoted-Printable $B$N(B
code $B$,DI2C$5$l$^$7$?!#$3$l$i$,(B@file{mel-b.el} $B$H(B @file{mel-q.el} $B$K$J$j(B
$B$^$7$?!#(B@refill
$B$^$?!"8e$K!"<i2,(B $BCNI'(B $B$K$h$C$F(B uuencode $BMQ$N(B @file{mel-u.el} $B$,DI2C$5$l!"(B
$B$=$N8e$K!">.NS(B $B=$J?(B $B;a$K$h$C$F(B x-gzip64 $BMQ$N(B@file{mel-g.el} $B$,DI2C$5$l$^(B
$B$7$?!#(B@refill
tm $B$G$O8e$K!"<i2,(B $BCNI'(B $B$K$h$C$F(B @file{tiny-mime.el} $B$N:F<BAu$,9T$o$l!"$3(B
$B$N2aDx$G!"(BSTD 11 $B$N(B parser $B$,=q$+$l$^$7$?!#$3$l$O!"8=:_$N(B
@file{std11.el} $B$KEv$?$j$^$9!#$^$?!"$3$N2aDx$G(B @file{tiny-mime.el} $B$OI|(B
$B9f2=$r9T$&(B @file{tm-ew-d.el} $B$HId9f2=$r9T$&(B @file{tm-ew-e.el} $B$KJ,$1$i$l(B
$B$^$7$?!#$3$NN><T$,8=:_$N(B @file{eword-decode.el} $B$H(B
@file{eword-encode.el} $B$N@hAD$KEv$?$j$^$9!#(B@refill
$B8e$K!"<i2,(B $BCNI'(B $B$i$K$h$C$F(B tm $B$NA4LL=q$-49$(:n6H$,9T$o$l!"$3$N2aDx$G!"(Btm
$B$O(B APEL, MEL, SEMI, EMH, RMAIL-MIME, Gnus-MIME $B$J$I$KJ,$1$i$l$^$7$?!#$3(B
$B$N$&$A$N(B MEL $B$,(B FLIM $B$ND>@\$N@hAD$KEv$?$j$^$9!#(B@refill
$B8e$K!"(BAPEL $B$+$i(B @file{std11.el} $B$,0\$5$l!"$^$?!"(B@file{mailcap.el},
@file{eword-decode.el} $B$*$h$S(B @file{eword-encode.el} $B$,(B SEMI $B$+$i0\$5$l!"(B
package $B$NL>A0$,(B FLIM $B$H$J$j$^$9!#(B@refill
$B$3$ND>A0$+$iEDCf(B $BE/(B $B;a$,$h$j(B RFC $B$KCi<B$J<BAu$r=q$-;O$a!"$3$l$O!"8=:_!"(B
FLIM $B$N;^$G$"$k(B ``FLIM-FLAM'' $B$H$J$C$F$$$^$9!#(B
@node Concept Index, Function Index, Appendix, Top
@chapter $B35G0:w0z(B
@printindex cp
@node Function Index, Variable Index, Concept Index, Top
@chapter $B4X?t:w0z(B
@printindex fn
@node Variable Index, , Function Index, Top
@chapter $BJQ?t:w0z(B
@printindex vr
@bye