(eword-decode-string, eword-decode-region): Mention language info in doc string.
[elisp/flim.git] / mime-ja.sgml
index 9bb8e07..2067e17 100644 (file)
@@ -1,8 +1,8 @@
 <!doctype sinfo system>
 <head>
-<title>FLIM 1.7 MIME \e$B5!G=@bL@=q\e(B
+<title>FLIM 1.14 MIME \e$B5!G=@bL@=q\e(B
 <author>\e$B<i2,\e(B \e$BCNI'\e(B <mail>morioka@jaist.ac.jp</mail>
-<date>1998/06/23
+<date>1999-01-27
 
 <toc>
 </head>
 
 <abstract>
 <p>
-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.
 <p>
-GNU Emacs \e$BMQ$N\e(B Internet Message \e$B$N2r@O$dId9f2=$K4X$9$k\e(B library \e$B$G$"$k\e(B 
-FLIM \e$B$N\e(B MIME \e$B5!G=$K4X$7$F@bL@$7$^$9!#\e(B
+GNU Emacsen \e$BMQ$N\e(B Internet Message \e$B=hM}$N$?$a$N4pAC\e(B library \e$B$G$"$k\e(B FLIM 
+\e$B$N\e(B MIME \e$B5!G=$K4X$7$F@bL@$7$^$9!#\e(B
 </abstract>
 
 
@@ -47,15 +47,58 @@ field \e$B$HFbMF$r;X$9!W$H$J$C$F$$$^$9!#$3$3$G$O!"\e(BMIME \e$B$GDj5A$5$l$?\e(B head
 field \e$B0J30$NA4$F$N\e(B header \e$B$H\e(B body \e$B$r;X$98l$H$7$F\e(B 
 <concept>entity</concept>\e$B$rMQ$$$k$3$H$K$7$^$9!#\e(B
 <p>
-RFC 2045 \e$B$NDj5A$O!"\e(BMIME message \e$B$,\e(B entity \e$B$rC10L$H$9$kLZ9=B$$G$"$k$3$H$r\e(B
-\e$B<($7$F$$$^$9!#\e(Bmessage \e$B$O2<?^$G<($9$h$&$JLZ$H$J$j!"\e(Bentity \e$B$O$3$NLZ$K$*$1\e(B
-\e$B$k@a$H$J$j$^$9!#$D$^$j!"\e(BMIME \e$B$O\e(B message \e$B$rLZ9=B$$K3HD%$7$?Lu$G$9!#\e(B
+RFC 2045 \e$B$NDj5A$O!"\e(BMIME message \e$B$,\e(B entity \e$B$r@a$H$9$kLZ9=B$$G$"$k$3$H$r\e(B
+\e$B<($7$F$$$^$9!#$D$^$j!"\e(BMIME \e$B$O\e(B message \e$B$rLZ9=B$$K3HD%$7$?Lu$G$9!#\e(B
 <p>
 FLIM \e$B$O\e(B entity \e$B$N>pJs$rI=8=$9$k$?$a$K\e(B<concept>mime-entity</concept> \e$B9=\e(B
 \e$BB$BN$rMQ$$$^$9!#0J2<$G$OC1$K\e(B mime-entity \e$B$H8F$V$3$H$K$7$^$9!#\e(B
+
+
+<h2> Entity \e$B$N@8@.\e(B
+<node> Entity creation
+<p>
+<defun name="mime-open-entity">
+         <opts> type location
+<p>
+Entity \e$B$r3+$$$F!"$=$l$rJV$7$^$9!#\e(B
+<p>
+<var>type</var> \e$B$O\e(B representation-type \e$B$G$9!#\e(B <cf node="mm-backend">
+<p>
+<var>location</var> \e$B$O\e(B entity \e$B$N0LCV$G$9!#;XDjJ}K!$O\e(B
+representation-type \e$B$K0M$C$FJQ$o$j$^$9!#\e(B
+</defun>
+
+<defun name="mime-parse-buffer">
+         <opts> buffer type
+<p>
+<var>buffer</var> \e$B$r\e(B message \e$B$H$7$F9=J82r@O$7!"$=$N7k2L$N\e(B mime-entity 
+\e$B$r\e(B <var>buffer</var> \e$B$N\e(B<code>mime-message-structure</code> \e$B$K3JG<$9$k!#\e(B
+<p>
+<var>buffer</var> \e$B$,>JN,$5$l$?>l9g!"8=:_$N\e(B buffer \e$B$r9=J82r@O$9$k!#\e(B
+<p>
+<var>type</var> \e$B$,;XDj$5$l$?>l9g!"$=$NCM$r@8@.$5$l$k\e(B mime-entity \e$B$NI=\e(B
+\e$B>]7?$H$7$FMQ$$$k!#>JN,$5$l$?>l9g$O\e(B <var>buffer</var> \e$B$H$J$k!#\e(B<cf
+node="mm-backend">
+</defun>
+
+
+<h2> Entity \e$B3,AX\e(B
+<node> Entity hierarchy
+<p>
+MIME message \e$B$O\e(B entity \e$B$rC10L$H$9$kLZ9=B$$K$J$C$F$$$^$9!#\e(B
+<p>
+\e$B$3$NLZ$K$*$$$F:,$H$J$k@a$O\e(B message \e$BA4BN$rI=$9\e(B entity \e$B$G$9!#$3$3$G$O!"\e(B
+\e$B$3$l$r\e(B <concept>root-entity</concept> \e$B$b$7$/$O\e(B
+<concept>message</concept> \e$B$H8F$S$^$9!#\e(B
+<p>
+root-entity \e$B0J30$N\e(B entity \e$B$O?F$r;}$A$^$9!#$^$?!"\e(Bentity \e$B$O;R6!$r;}$D$+\e(B
+\e$B$bCN$l$^$;$s!#$3$N?F;R4X78$r9M$($k$3$H$G\e(B entity \e$B$NAjBP4X78$r07$&$3$H$,\e(B
+\e$B$G$-$^$9!#\e(B
+<p>
+\e$B0lJ}!"\e(Bentity \e$B$N\e(B message \e$B$K$*$1$k0LCV$r9M$($k$3$H$b$G$-$^$9!#\e(B
 <p>
-\e$BA0=R$N$h$&$K!"\e(Bmessage \e$BCf$N3F\e(B entity \e$B$OLZ$N@a$KEv$?$j$^$9$,!"$3$NLZ$K$O\e(B
-\e$B?<$5$HF1$8?<$5$NCf$N=gHV$K=>$C$FHV9f$,IU$1$k$3$H$,$G$-$^$9!#B($A!"\e(B
+entity \e$B$O$3$NLZ$K$*$1$k@a$H$J$j$^$9$,!"$3$NLZ$K$O?<$5$HF1$8?<$5$NCf$N\e(B
+\e$B=gHV$K=>$C$FHV9f$,IU$1$k$3$H$,$G$-$^$9!#B($A!"\e(B
 <verb>
 
                               \e$B(#(!(!(!($\e(B
@@ -83,100 +126,10 @@ node-id \e$B$O$A$g$&$I\e(B entity-number \e$B$r5U$K$7$?%j%9%H$G!"\e(Bentity-number
 \e$BA0=R$N$h$&$K!"\e(BMIME message \e$B$O\e(B entity \e$B$rC10L$H$7$?LZ9=B$$K$J$C$F$$$k$N$G!"\e(B
 \e$B$3$N:,$G$"$k\e(B message \e$BA4BN$b\e(B mime-entity \e$B$GI=8=$9$k$3$H$,$G$-!"\e(Bbuffer
 local \e$BJQ?t\e(B <code>mime-message-structure</code> \e$B$K3JG<$9$k$3$H$K$7$^$9!#\e(B
-\e$B$=$7$F!"\e(Bentity-number \e$B$d\e(B node-id \e$B$rMQ$$$k$3$H$G\e(B 
-<code>mime-message-structure</code> \e$B$K$*$1$k\e(B entity \e$B$NAjBPE*$J0LCV4X78$r\e(B
-\e$B07$&$3$H$,$G$-$^$9!#\e(B
-
-
-<!-- <h2> mime-entity \e$B9=B$BN\e(B -->
-<!-- <node> mime-entity -->
-<!-- <p> -->
-<!-- <define type="Structure" name="mime-entity"> -->
-<!-- <p> -->
-<!-- entity \e$B$K4X$9$k>pJs$r<}$a$k9=B$BN!#\e(B -->
-<!-- <p> -->
-<!-- \e$B$3$N9=B$BN$r;2>H$9$k$K$O\e(B <code>mime-entity-\e$BMWAGL>\e(B</code> \e$B$H$$$&L>A0$N;2\e(B -->
-<!-- \e$B>H4X?t$rMQ$$$k!#\e(B -->
-<!-- <p> -->
-<!-- \e$B$3$N9=B$BN$NMWAG$O0J2<$NDL$j$G$"$k!'\e(B -->
-
-<!-- <vl> -->
-<!-- <dt>buffer<dd>entity \e$B$,B8:_$9$k\e(B buffer (buffer) -->
-<!-- </dd> -->
-<!-- <dt>header-start<dd>entity \e$B$NB8:_$9$k\e(B buffer \e$B$K$*$1$k\e(B header \e$B$N@hF,0LCV\e(B -->
-<!-- (point) -->
-<!-- </dd> -->
-<!-- <dt>header-end<dd>entity \e$B$NB8:_$9$k\e(B buffer \e$B$K$*$1$k\e(B header \e$B$NKvHx0LCV\e(B -->
-<!-- (point) -->
-<!-- </dd> -->
-<!-- <dt>body-start<dd>entity \e$B$NB8:_$9$k\e(B buffer \e$B$K$*$1$k\e(B body \e$B$N@hF,0LCV\e(B -->
-<!-- (point) -->
-<!-- </dd> -->
-<!-- <dt>body-end<dd>entity \e$B$NB8:_$9$k\e(B buffer \e$B$K$*$1$k\e(B body \e$B$NKvHx0LCV\e(B -->
-<!-- (point) -->
-<!-- </dd> -->
-<!-- <dt>node-id<dd>entity \e$B$N\e(B node-id (\e$B@0?t$N\e(B list) -->
-<!-- </dd> -->
-<!-- <dt>content-type<dd><dref>Content-Type</dref> \e$BMs$N>pJs\e(B -->
-<!-- (mime-content-type) -->
-<!-- </dd> -->
-<!-- <dt>content-disposition<dd><dref>Content-Disposition</dref> \e$BMs$N>pJs\e(B -->
-<!-- (mime-content-disposition) -->
-<!-- </dd> -->
-<!-- <dt>encoding<dd>entity \e$B$N\e(B <dref>Content-Transfer-Encoding</dref> (\e$BJ8;zNs\e(B) -->
-<!-- </dd> -->
-<!-- <dt>children<dd>entity \e$B$K4^$^$l$k\e(B entity \e$B$N\e(B list (mime-entity \e$B$N\e(B  -->
-<!-- list) -->
-<!-- </dd> -->
-<!-- </vl> -->
-
-<!-- <p> -->
-<!-- \e$B$^$?!"2a5n$H$N8_49@-$N$?$a!"0J2<$NMWAGL>$N;2>H4X?t$bMxMQ2DG=$G$"$k!#\e(B -->
-
-<!-- <vl> -->
-<!-- <dt>type/subtype<dd>entity \e$B$N\e(B type/subtype (\e$BJ8;zNs\e(B) -->
-<!-- </dd> -->
-<!-- <dt>media-type<dd>entity \e$B$N\e(B media-primary-type (symbol) -->
-<!-- </dd> -->
-<!-- <dt>media-subtype<dd>entity \e$B$N\e(B media-subtype (symbol) -->
-<!-- </dd> -->
-<!-- <dt>parameters<dd>entity \e$B$N\e(B Content-Type \e$BMs$N\e(B parameter (\e$BO"A[\e(B list) -->
-<!-- </dd> -->
-<!-- </vl> -->
-<!-- </define> -->
-
-<!-- <defun name="make-mime-entity"> -->
-<!--     <args> buffer header-start header-end body-start body-end -->
-<!--     <opts> node-id content-type content-disposition encoding -->
-<!--     children -->
-<!-- <p> -->
-<!-- entity \e$B$N@8@.;R!#\e(B -->
-<!-- </defun> -->
-
-
-<h2> Message \e$B$N2r@O4o\e(B
-<node> Message parser
-<p>
-<defun name="mime-parse-message">
-         <opts> default-ctl node-id
-<p>
-\e$B8=:_$N\e(B buffer \e$B$r\e(B message \e$B$H$7$F9=J82r@O$7!"$=$N7k2L$N\e(B mime-entity \e$B$rJV\e(B
-\e$B$9!#\e(B
-</defun>
-
-<defun name="mime-parse-buffer">
-         <opts> buffer
 <p>
-<var>buffer</var> \e$B$r\e(B message \e$B$H$7$F9=J82r@O$7!"$=$N7k2L$N\e(B mime-entity 
-\e$B$r\e(B <var>buffer</var> \e$B$N\e(B<code>mime-message-structure</code> \e$B$K3JG<$9$k!#\e(B
-<p>
-<var>buffer</var> \e$B$,>JN,$5$l$?>l9g!"8=:_$N\e(B buffer \e$B$r9=J82r@O$9$k!#\e(B
-</defun>
-
+<code>mime-message-structure</code> \e$B$r5/E@$K\e(B entity-number \e$B$d\e(B node-id 
+\e$B$G<($5$l$k\e(B entity \e$B$r<h$j=P$9$3$H$,$G$-$^$9!#\e(B
 
-<h2> Entity \e$B3,AX\e(B
-<node> Entity hierarchy
-<p>
 <defvar name="mime-message-structure">
 <p>
 \e$B8=:_$N\e(B buffer \e$B$K$*$1$k\e(B message \e$BA4BN$N\e(B mime-entity \e$B9=B$BN$r3JG<$9$k\e(B
@@ -204,80 +157,90 @@ buffer local \e$BJQ?t!#\e(B
 \e$BHs\e(B-<code>nil</code> \e$B$rJV$9!#\e(B
 </defun>
 
+<defun name="mime-entity-node-id">
+         <args> entity
+<p>
+<var>entity</var> \e$B$N\e(B node-id \e$B$rJV$9!#\e(B
+</defun>
+
 <defun name="mime-entity-number">
          <args> entity
 <p>
 <var>entity</var> \e$B$N\e(B entity-number \e$B$rJV$9!#\e(B
 </defun>
 
+
+<h2> Entity \e$B$N8!:w\e(B
+<node> Entity Search
+<p>
 <defun name="mime-find-entity-from-number">
            <args> entity-number <opts> message
 <p>
-Return entity from <var>entity-number</var> in <var>message</var>.
+<var>message</var> \e$B$+$i!"\e(B<var>enity-number</var> \e$B$N\e(B entity \e$B$rJV$7$^$9!#\e(B
 <p>
-If <var>message</var> is not specified,
-<code>mime-message-structure</code> is used.
+<var>message</var> \e$B$,;XDj$5$l$F$$$J$$>l9g$O!"\e(B
+<code>mime-message-structrue</code> \e$B$,;H$o$l$^$9!#\e(B
 </defun>
 
 <defun name="mime-find-entity-from-node-id">
            <args> entity-node-id <opts> message
 <p>
-Return entity from <var>entity-node-id</var> in <var>message</var>.
+<var>message</var> \e$B$+$i!"\e(B<var>entity-node-id</var> \e$B$N\e(B entity \e$B$rJV$7$^\e(B
+\e$B$9!#\e(B
 <p>
-If <var>message</var> is not specified,
-<code>mime-message-structure</code> is used.
+<var>message</var> \e$B$,;XDj$5$l$F$$$J$$>l9g$O!"\e(B
+<code>mime-message-structure</code> \e$B$,;H$o$l$^$9!#\e(B
 </defun>
 
-
-<h2> Entity \e$B$N\e(B buffer \e$B$K$h$kI=8=\e(B
-<node> Entity buffer
+<defun name="mime-find-entity-from-content-id">
+           <args> cid <opts> message
 <p>
-<defun name="mime-entity-buffer">
-           <args> entity
+<var>message</var> \e$B$+$i!"\e(B<var>cid</var> \e$B$N\e(B entity \e$B$rJV$7$^$9!#\e(B
 <p>
-<var>entity</var> \e$B$,B8:_$9$k\e(B buffer \e$B$rJV$9!#\e(B
+<var>message</var> \e$B$,;XDj$5$l$F$$$J$$>l9g$O!"\e(B
+<code>mime-message-structure</code> \e$B$,;H$o$l$^$9!#\e(B
 </defun>
 
-<defun name="mime-entity-point-min">
-           <args> entity
-<p>
-<var>entity</var> \e$B$,B8:_$9$k\e(B buffer \e$B$K$*$1$k!"\e(B<var>entity</var> \e$B$,@j$a$k\e(B
-\e$BNN0h$N@hF,0LCV$rJV$9!#\e(B
-</defun>
 
-<defun name="mime-entity-point-max">
+<h2> Entity \e$B$NB0@-\e(B
+<node> Entity Attributes
+<p>
+<defun name="mime-entity-content-type">
            <args> entity
 <p>
-<var>entity</var> \e$B$,B8:_$9$k\e(B buffer \e$B$K$*$1$k!"\e(B<var>entity</var> \e$B$,@j$a$k\e(B
-\e$BNN0h$NKvHx0LCV$rJV$9!#\e(B
+<var>entity</var> \e$B$N\e(B content-type \e$B$rJV$9!#\e(B<cf
+node="mime-content-type">
 </defun>
 
-<defun name="mime-entity-header-start">
+<defun name="mime-entity-content-disposition">
            <args> entity
 <p>
-<var>entity</var> \e$B$,B8:_$9$k\e(B buffer \e$B$K$*$1$k!"\e(Bheader \e$B$,@j$a$kNN0h$N@hF,\e(B
-\e$B0LCV$rJV$9!#\e(B
+<var>entity</var> \e$B$N\e(B content-disposition \e$B$rJV$9!#\e(B<cf
+node="mime-content-disposition">
 </defun>
 
-<defun name="mime-entity-header-end">
+<defun name="mime-entity-filename">
            <args> entity
 <p>
-<var>entity</var> \e$B$,B8:_$9$k\e(B buffer \e$B$K$*$1$k!"\e(Bheader \e$B$,@j$a$kNN0h$NKvHx\e(B
-\e$B0LCV$rJV$9!#\e(B
+<var>entity</var> \e$B$N\e(B file \e$BL>$rJV$9!#\e(B
 </defun>
 
-<defun name="mime-entity-body-start">
-           <args> entity
+<defun name="mime-entity-encoding">
+           <args> entity <opts> default-encoding
 <p>
-<var>entity</var> \e$B$,B8:_$9$k\e(B buffer \e$B$K$*$1$k!"\e(Bbody \e$B$,@j$a$kNN0h$N@hF,0L\e(B
-\e$BCV$rJV$9!#\e(B
+<var>entity</var> \e$B$N\e(B content-transfer-encoding \e$B$rJV$9!#\e(B<cf
+node="Content-Transfer-Encoding">
+<p>
+\e$B$b$7!"\e(B<var>entity</var> \e$B$K\e(B Content-Transfer-Encoding \e$BMs$,B8:_$7$J$$>l\e(B
+\e$B9g$O!"\e(B<var>default-encoding</var> \e$B$rJV$9!#$3$l$,;XDj$5$l$J$$>l9g$O!"\e(B
+<code>"7bit"</code> \e$B$rMQ$$$k!#\e(B
 </defun>
 
-<defun name="mime-entity-body-end">
+<defun name="mime-entity-cooked-p">
            <args> entity
 <p>
-<var>entity</var> \e$B$,B8:_$9$k\e(B buffer \e$B$K$*$1$k!"\e(Bbody \e$B$,@j$a$kNN0h$NKvHx0L\e(B
-\e$BCV$rJV$9!#\e(B
+<var>entity</var> \e$B$NFbMF$,4{$K%3!<%IJQ49$5$l$F$$$k>l9g$O\e(B nil \e$B$GL5$$CM\e(B
+\e$B$rJV$9!#\e(B
 </defun>
 
 
@@ -294,7 +257,7 @@ If <var>message</var> is not specified,
 <var>entity</var> \e$B$,>JN,$5$l$?>l9g$O!"\e(B
 <code>mime-message-structure</code> \e$B$NCM$rMQ$$$k!#\e(B
 <p>
-<var>field-name</var> \e$BMs$,B8:_$7$J$$>l9g$O\e(B nil \e$B$rJV$9!#\e(B
+<var>field-name</var> \e$BMs$,B8:_$7$J$$>l9g$O\e(B <code>nil</code> \e$B$rJV$9!#\e(B
 </defun>
 
 <defun name="mime-read-field">
@@ -314,9 +277,12 @@ If <var>message</var> is not specified,
 <var>field-name</var> \e$BMs$,B8:_$7$J$$>l9g$O\e(B nil \e$B$rJV$9!#\e(B
 </defun>
 
-<defun name="mime-insert-decoded-header">
+
+<h2> Entity \e$B$NJ8;zI=8=\e(B
+<node> entity formatting
+<p>
+<defun name="mime-insert-header">
            <args> entity <opts> invisible-fields visible-fields
-           code-conversion
 <p>
 \e$B8=:_0LCV$K\e(B <var>entity</var> \e$B$NI|9f$7$?\e(B header \e$B$rA^F~$9$k!#\e(B
 <p>
@@ -325,51 +291,203 @@ list \e$B$G!"$=$l$>$l!"I=<($7$?$/$J$$\e(B field \e$BL>$HI=<($7$?$$MsL>$rI=8=$7$?$b$
 \e$B$G$"$k!#\e(B
 <p>
 <var>invisible-fields</var> \e$B$NMWAG$N$I$l$+$K\e(B match \e$B$7!"$+$D!"\e(B
-<var>visible-fields</var> \e$B$NMWAG$N$I$l$K$b\e(B match \e$B$7$J$$Ms$OI=<($5$l$J$$!#\e(B
+<var>visible-fields</var> \e$B$NMWAG$N$I$l$K$b\e(B match \e$B$7$J$$Ms$OI=<($5$l$J\e(B
+\e$B$$!#\e(B
+<p>
+<dref>encoded-word</dref> \e$B$OI|9f$5$l$k!#!X@8$NHs\e(B us-ascii \e$BJ8;z!Y$O\e(B 
+<code>default-mime-charset</code> \e$B$H$7$F2r<a$5$l$k!#\e(B
 </defun>
 
+<defun name="mime-insert-text-content">
+           <args> entity
+<p>
+point \e$B$NA0$K\e(B <var>entity</var> \e$B$r\e(B text entity \e$B$H$7$FA^F~$7$^$9!#\e(B
+<p>
+<var>entity</var> \e$B$NFbMF$O\e(B <dref>MIME charset</dref> \e$B$H$7$FI|9f2=$5$l\e(B
+\e$B$^$9!#\e(B<var>entity</var> \e$B$N\e(B Content-Type field \e$B$K\e(B charset paramter \e$B$,L5\e(B
+\e$B$$$H!"\e(B<code>default-mime-charset</code> \e$B$,=i4|CM$H$7$F;H$o$l$^$9!#\e(B
+</defun>
 
-<h2> Entity \e$B$NB0@-\e(B
-<node> Entity Attributes
+<defvar name="default-mime-charset">
 <p>
-<defun name="mime-entity-content-type">
+\e$BE,@Z$J\e(B <dref>MIME charset</dref> \e$B$,8+$D$+$i$J$+$C$?>l9g$KMQ$$$i$l$k\e(B
+MIME charset.
+<p>
+\e$BK\Mh$O\e(B APEL \e$B$NJQ?t$G$"$k!#\e(B
+</defvar>
+
+
+<h2> Entity \e$B$NFbMF\e(B
+<node> Entity-content
+<p>
+<defun name="mime-entity-content">
            <args> entity
 <p>
-<var>entity</var> \e$B$N\e(B content-type \e$B$rJV$9!#\e(B<cf
-node="mime-content-type">
+<var>entity</var> \e$B$NFbMF$N\e(B byte \e$BNs$rJV$9!#\e(B
 </defun>
 
-<defun name="mime-entity-content-disposition">
+<defun name="mime-insert-entity-content">
            <args> entity
 <p>
-<var>entity</var> \e$B$N\e(B content-disposition \e$B$rJV$9!#\e(B<cf
-node="mime-content-disposition">
+point \e$B$N0LCV$K\e(B <var>entity</var> \e$B$NFbMF$rA^F~$7$^$9!#\e(B
 </defun>
 
-<defun name="mime-entity-filename">
+<defun name="mime-write-entity-content">
+           <args> entity filename
+<p>
+<var>entity</var> \e$B$NFbMF$r\e(B <var>filename</var> \e$B$K=q$-9~$_$^$9!#\e(B
+</defun>
+
+
+<h2> Entity \e$B$N%M%C%H%o!<%/I=8=\e(B
+<node> Entity-network-representation
+<p>
+<defun name="mime-insert-entity">
            <args> entity
 <p>
-Entity \e$B$N\e(B file \e$BL>$rJV$9!#\e(B
+<var>entity</var> \e$B$N\e(B header \e$B$H\e(B body \e$B$r\e(B point \e$B$N$H$3$m$KA^F~$7$^$9!#\e(B
 </defun>
 
-<defun name="mime-entity-encoding">
+<defun name="mime-write-entity">
+           <args> entity filename
+<p>
+<var>entity</var> \e$B$NI=8=$r\e(B <var>filename</var> \e$B$K=q$-9~$_$^$9!#\e(B
+</defun>
+
+<defun name="mime-write-entity-body">
+           <args> entity filename
+<p>
+<var>entity</var> \e$B$N\e(B body \e$B$r\e(B <var>filename</var> \e$B$K=q$-9~$_$^$9!#\e(B
+</defun>
+
+
+<h2> Entity \e$B$N\e(B buffer \e$B$K$h$kI=8=\e(B
+<node> Entity buffer
+<p>
+<defun name="mime-entity-buffer">
            <args> entity
 <p>
-<var>entity</var> \e$B$N\e(B content-transfer-encoding \e$B$rJV$9!#\e(B<cf
-node="Content-Transfer-Encoding">
+<var>entity</var> \e$B$,B8:_$9$k\e(B buffer \e$B$rJV$9!#\e(B
 </defun>
 
+<defun name="mime-entity-point-min">
+           <args> entity
+<p>
+<var>entity</var> \e$B$,B8:_$9$k\e(B buffer \e$B$K$*$1$k!"\e(B<var>entity</var> \e$B$,@j$a$k\e(B
+\e$BNN0h$N@hF,0LCV$rJV$9!#\e(B
+</defun>
 
-<h2> Entity \e$B$NFbMF\e(B
-<node> Entity-content
+<defun name="mime-entity-point-max">
+           <args> entity
 <p>
-<defun name="mime-entity-content">
+<var>entity</var> \e$B$,B8:_$9$k\e(B buffer \e$B$K$*$1$k!"\e(B<var>entity</var> \e$B$,@j$a$k\e(B
+\e$BNN0h$NKvHx0LCV$rJV$9!#\e(B
+</defun>
+
+<defun name="mime-entity-header-start">
            <args> entity
 <p>
-<var>entity</var> \e$B$NFbMF$N\e(B byte \e$BNs$rJV$9!#\e(B
+<var>entity</var> \e$B$,B8:_$9$k\e(B buffer \e$B$K$*$1$k!"\e(Bheader \e$B$,@j$a$kNN0h$N@hF,\e(B
+\e$B0LCV$rJV$9!#\e(B
+</defun>
+
+<defun name="mime-entity-header-end">
+           <args> entity
+<p>
+<var>entity</var> \e$B$,B8:_$9$k\e(B buffer \e$B$K$*$1$k!"\e(Bheader \e$B$,@j$a$kNN0h$NKvHx\e(B
+\e$B0LCV$rJV$9!#\e(B
+</defun>
+
+<defun name="mime-entity-body-start">
+           <args> entity
+<p>
+<var>entity</var> \e$B$,B8:_$9$k\e(B buffer \e$B$K$*$1$k!"\e(Bbody \e$B$,@j$a$kNN0h$N@hF,0L\e(B
+\e$BCV$rJV$9!#\e(B
+</defun>
+
+<defun name="mime-entity-body-end">
+           <args> entity
+<p>
+<var>entity</var> \e$B$,B8:_$9$k\e(B buffer \e$B$K$*$1$k!"\e(Bbody \e$B$,@j$a$kNN0h$NKvHx0L\e(B
+\e$BCV$rJV$9!#\e(B
 </defun>
 
 
+<h2> Entity \e$B$NI=8=$H<B8=\e(B
+<node> mm-backend
+<p>
+Entity \e$B$OCj>]2=$5$l$?%G!<%?I=8=$G!"<B:]$N%G!<%?I=8=$H$7$F$OMQES$K1~$8$F\e(B
+\e$B$5$^$6$^$J$b$N$,MxMQ$G$-$k$h$&$K@_7W$5$l$F$$$^$9!#\e(B
+<p>
+\e$B$3$3$G!"\e(Bentity \e$B$,$I$&$$$&<oN`$NI=8=$r9T$C$F$$$k$+$r<($9$N$,\e(B
+<concept>representation-type</concept> \e$B$G!"\e(Bentity \e$B$r@8@.$9$k;~$K$O$3$l$r\e(B
+\e$B;XDj$7$^$9!#\e(B<cf node="Entity Creation">
+<p>
+\e$BA0@a$^$G$K=R$Y$FMh$?\e(B entity \e$B$KBP$9$k=hM}$O!"\e(Bentity \e$B$KBP$7$F$=$N=hM}$r0M\e(B
+\e$BMj$9$k$3$H$K$h$C$F<B8=$5$l$F$$$^$9!#\e(BEntity \e$B$O<+J,$N\e(B 
+representation-type \e$B$rCN$C$F$*$j!"$=$N\e(B representation-type \e$B$K1~$8$F<B:]\e(B
+\e$B$N=hM}$r9T$&4X?t$r8F$S=P$7$^$9!#$3$N$h$&$J4X?t$r\e(B <concept>entity \e$B=hM}\e(B
+method</concept> \e$B$H8F$S$^$9!#$^$?!"\e(Brepresentation-type \e$BKh$K$3$N$h$&$J4X\e(B
+\e$B?t$r$^$H$a$?$b$N$r\e(B <concept>mm-backend</concept> \e$B$H8F$S$^$9!#\e(B
+<p>
+mm-backend \e$B$O\e(B representation-type \e$B$NL>A0$N@hF,$K\e(B <code>mm</code> \e$B$H$$$&\e(B
+\e$B@\F,<-$rIU$1$?4X?tL>$+$i$J$k\e(B module \e$B$G!"$=$N\e(B module \e$BL>$OF1MM$K\e(B
+representation-type \e$B$NL>A0$N@hF,$K\e(B <code>mm</code> \e$B$rIU$1$?$b$N$K$J$C$F\e(B
+\e$B$$$^$9!#$3$N\e(B module \e$B$O\e(B representation-type \e$B$N\e(B entity \e$B$,:G=i$K@8@.$5$l$k\e(B
+\e$B;~$K<+F0E*$K\e(B require \e$B$5$l$^$9!#\e(B
+
+
+<h3> Entity \e$B$X$NJX$j\e(B
+<node> Request for entity
+<p>
+<defun name="mime-entity-send">
+             <args> entity message <rest> args
+<p>
+<var>entity</var> \e$B$K\e(B <var>message</var> \e$B$rAw$k!#\e(B
+<p>
+<var>args</var> \e$B$O\e(B <var>message</var> \e$B$N0z?t$G$"$k!#\e(B
+</defun>
+
+
+<h3> mm-backend \e$B$N:n$jJ}\e(B
+<node> mm-backend module
+<p>
+<defmacro name="mm-define-backend">
+<args> type
+<opts> parents
+<p>
+<var>type</var> \e$B$r\e(B mm-backend \e$B$H$7$FDj5A$7$^$9!#\e(B
+<p>
+<var>PARENTS</var> \e$B$,;XDj$5$l$F$$$k>l9g$O!"\e(B<var>type</var> \e$B$O\e(B prents
+\e$B$r7Q>5$7$^$9!#$=$l$>$l$N\e(B parent \e$B$O\e(B representation-type \e$B$G$"$kI,MW$,$"\e(B
+\e$B$j$^$9!#\e(B
+<p>
+\e$BNc\e(B:
+<p>
+<lisp>
+(mm-define-backend chao (generic))
+</lisp>
+</defmacro>
+
+<defmacro name="mm-define-method">
+<args> name args <rest> body
+<p>
+<var>name</var> \e$B$r\e(B (nth 1 (car <var>args</var>)) backend \e$B$N\e(B method \e$B4X\e(B
+\e$B?t$H$7$FDj5A$7$^$9!#\e(B
+<p>
+<var>args</var> \e$B$O\e(B lambda \e$B$N0z?t%j%9%H$N$h$&$J$b$N$G$9$,!"\e(B(car
+<var>args</var>) \e$B$O;XDj$5$l$?\e(B parameter \e$B$G$"$kI,MW$,$"$j$^$9!#\e(B(car
+(car <var>args</var>)) \e$B$OJQ?t$NL>A0$G!"\e(B(nth 1 (car <var>args</var>))
+\e$B$O\e(B backend \e$B$NL>A0\e(B (representation-type) \e$B$G$9!#\e(B
+<p>
+\e$BNc\e(B:
+<p>
+<lisp>
+(mm-define-method entity-cooked-p ((entity chao)) nil)
+</lisp>
+</defmacro>
+
+
 <h1> Content-Type \e$BMs$N>pJs\e(B
 <node> Content-Type
 <p>
@@ -601,99 +719,144 @@ Content-Transfer-Encoding \e$BMs$,B8:_$7$J$$>l9g$O\e(B
 </defun>
 
 
-<h2> \e$BNN0h$NId9f2=!&I|9f2=\e(B
-<node> Region encoder/decoder
+<h2> \e$BId9f2=!&I|9f2=\e(B
+<node> encoder/decoder
 <p>
 <defun name="mime-encode-region">
            <args> start end encoding
 <p>
-Encode region <var>start</var> to <var>end</var> of current buffer
-using <var>encoding</var>.
+\e$B8=:_$N\e(B buffer \e$B$N\e(B <var>start</var> \e$B$+$i\e(B <var>end</var> \e$B$^$G$N\e(B region \e$B$r\e(B
+<var>encoding</var> \e$B$r;H$C$FId9f2=$7$^$9!#\e(B
 </defun>
 
 <defun name="mime-decode-region">
            <args> start end encoding
 <p>
-Decode region <var>start</var> to <var>end</var> of current buffer
-using <var>encoding</var>.
+\e$B8=:_$N\e(B buffer \e$B$N\e(B <var>start</var> \e$B$+$i\e(B <var>end</var> \e$B$^$G$N\e(B region \e$B$r\e(B
+<var>encoding</var> \e$B$r;H$C$FI|9f2=$7$^$9!#\e(B
 </defun>
 
-<defvar name="mime-encoding-method-alist">
+
+<defun name="mime-decode-string">
+           <args> string encoding
 <p>
-Alist of encoding vs. corresponding method to encode region.
+<var>string</var> \e$B$r\e(B <var>encoding</var> \e$B$H$7$FI|9f$7$?7k2L$rJV$9!#\e(B
+</defun>
+
+
+<defun name="mime-insert-encoded-file">
+           <args> filename encoding
 <p>
-Each element looks like <code>(STRING . FUNCTION)</code> or
-<code>(STRING . nil)</code>.  <var>string</var> is
-content-transfer-encoding.  <code>function</code> is region encoder
-and <code>nil</code> means not to encode.
-</defvar>
+<var>ENCODING</var> format \e$B$GId9f2=$5$l$?\e(B file <var>FILENAME</var> \e$B$r\e(B
+\e$BA^F~$9$k!#\e(B
+</defun>
 
-<defvar name="mime-decoding-method-alist">
+<defun name="mime-write-decoded-region">
+             <args> start end filename encoding
 <p>
-Alist of encoding vs. corresponding method to decode region.
+<var>encoding</var> \e$B$GId9f2=$5$l$?8=:_$N\e(B region \e$B$rI|9f2=$7$F\e(B
+<var>filename</var>\e$B$K=q$-9~$_$^$9!#\e(B
 <p>
-Each element looks like <code>(STRING . FUNCTION)</code> or
-<code>(STRING . nil)</code>.  <var>string</var> is
-content-transfer-encoding.  <code>function</code> is region decoder
-and <code>nil</code> means not to decode.
-</defvar>
+<var>start<var> \e$B$H\e(B <var>end</var> \e$B$O\e(B buffer \e$B$N0LCV$G$9!#\e(B
+</defun>
 
 
-<h2> \e$BJ8;zNs$NId9f2=!&I|9f2=\e(B
-<node> String encoder/decoder
+<h2> \e$BB>$N\e(B utility
+<node> Encoding information
 <p>
-<defun name="mime-decode-string">
-             <args> string encoding
+<defun name="mime-encoding-list">
+           <opts> SERVICE
+<p>
+Content-Transfer-Encoding \e$B$N\e(B list \e$B$rJV$7$^$9!#\e(B
 <p>
-<var>string</var> \e$B$r\e(B <var>encoding</var> \e$B$H$7$FI|9f$7$?7k2L$rJV$7$^$9!#\e(B
+<var>service</var> \e$B$,;XDj$5$l$F$$$k$H!"$=$l$KBP$9$k\e(B
+Content-Transfer-Encoding \e$B$rJV$7$^$9!#\e(B
 </defun>
 
-<defvar name="mime-string-decoding-method-alist">
+<defun name="mime-encoding-alist">
+           <opts> SERVICE
 <p>
-Alist of encoding vs. corresponding method to decode string.
+\e$BJd40$N$?$a$N\e(B Content-Transfer-Encoding \e$B$NI=$rJV$7$^$9!#\e(B
 <p>
-Each element looks like <code>(STRING . FUNCTION)</code>.
-STRING is content-transfer-encoding.
-FUNCTION is string decoder.
-</defvar>
+<var>service</var> \e$B$,;XDj$5$l$F$$$k>l9g$O$=$l$KBP$9$k\e(B
+Content-Transfer-Encoding \e$B$N\e(B list \e$B$rJV$7$^$9!#\e(B
+</defun>
 
 
-<h2> File \e$B$NId9f2=!&I|9f2=\e(B
-<node> File encoder/decoder
+<h2> \e$BId9f2=\e(B/\e$BI|9f2=\e(B module \e$B$N=q$-J}\e(B
+<node> mel-backend
 <p>
-<defun name="mime-insert-encoded-file">
-           <args> filename encoding
+<defmacro name="mel-define-method">
+<args> name args <rest> body
 <p>
-Insert file <var>FILENAME</var> encoded by <var>ENCODING</var> format.
-</defun>
-
-<defun name="mime-write-decoded-region">
-             <args> start end filename encoding
+<var>name</var> \e$B$r\e(B (nth 1 (car (last <var>args</var>))) backend \e$B$N\e(B
+method \e$B4X?t$H$7$FDj5A$7$^$9!#\e(B
 <p>
-Decode and write current region encoded by <var>encoding</var> into
-<var>filename</var>.
+<var>args</var> \e$B$O\e(B lambda \e$B$N0z?t\e(B list \e$B$H;w$F$$$^$9$,!"\e(B(car (last
+<var>args</var>)) \e$B$O;XDj$5$l$?\e(B parameter \e$B$G$"$kI,MW$,$"$j$^$9!#\e(B(car
+(car (last <var>args</var>))) \e$B$OJQ?t$NL>A0$G!"\e(B(nth 1 (car (last
+<var>args</var>))) \e$B$O\e(B backend \e$B$NL>A0\e(B (encoding) \e$B$G$9!#\e(B
 <p>
-<var>start</var> and <var>end</var> are buffer positions.
-</defun>
+\e$BNc\e(B:
+<p>
+<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)
+      )))
+</lisp>
+</defmacro>
 
-<defvar name="mime-file-encoding-method-alist">
+<defmacro name="mel-define-method-function">
+<args> spec function
 <p>
-Alist of encoding vs. corresponding method to insert encoded file.
+<var>spec</var> \e$B$N4X?tDj5A$r\e(B <var>function</var> \e$B$K@_Dj$7$^$9!#\e(B
 <p>
-Each element looks like <code>(STRING . FUNCTION)</code>.  STRING is
-content-transfer-encoding.  FUNCTION is function to insert encoded
-file.
-</defvar>
+<var>spec</var> \e$B$N:G=i$NMWAG$O\e(B service \e$B$G$9!#\e(B
+<p>
+<var>args</var> \e$B$N;D$j$O\e(B lambda \e$B$N0z?t\e(B list \e$B;w$F$$$^$9$,!"\e(B(car (last
+<var>args</var>)) \e$B$O;XDj$5$l$?\e(B parameter \e$B$G$"$kI,MW$,$"$j$^$9!#\e(B(car
+(car (last <var>args</var>))) \e$B$OJQ?t$NL>A0$G!"\e(B(nth 1 (car (last
+<var>args</var>))) \e$B$O\e(B backend \e$B$NL>A0\e(B (encoding) \e$B$G$9!#\e(B
+<p>
+\e$BNc\e(B:
+<p>
+<lisp>
+(mel-define-method-function (mime-encode-string string (nil "base64"))
+                           'encode-base64-string)
+</lisp>
+</defmacro>
+
 
-<defvar name="mime-file-decoding-method-alist">
+<h2> \e$BId9f2=\e(B/\e$BI|9f2=\e(B service \e$B$rDI2C$9$kJ}K!\e(B
+<node> generic function for mel-backend
 <p>
-Alist of encoding vs. corresponding method to write decoded region to
-file.
+<defmacro name="mel-define-service">
+<args> name
+<opts> args doc-string
 <p>
-Each element looks like <code>(STRING . FUNCTION)</code>.  STRING is
-content-transfer-encoding.  FUNCTION is function to write decoded
-region to file.
-</defvar>
+<var>name</var> \e$B$r\e(B Content-Transfer-Encoding \e$B$N\e(B service \e$B$H$7$FDj5A$7$^\e(B
+\e$B$9!#\e(B
+<p>
+<var>args</var> \e$B$,;XDj$5$l$F$$$k$H!"\e(B<var>name</var> \e$B$O\e(B service \e$B$N\e(B
+generic function \e$B$H$7$FDj5A$5$l$^$9!#\e(B
+<p>
+\e$BNc\e(B:
+<p>
+<lisp>
+(mel-define-service encoded-text-encode-string (string encoding)
+  "Encode STRING as encoded-text using ENCODING.
+ENCODING must be string.")
+</lisp>
+</defmacro>
 
 
 <h1> Header \e$B$N\e(B network \e$BI=8=\e(B
@@ -716,28 +879,48 @@ FLIM \e$B$O$3$l$i$rId9f2=!&I|9f2=$9$k5!G=$rDs6!$7$^$9!#\e(B
 <h2> Header \e$B$NId9f2=!&I|9f2=\e(B
 <node> Header encoder/decoder
 <p>
-<defun name="eword-encode-header">
-             <opts> code-conversion separator
+<defun name="eword-decode-header">
+           <opts> code-conversion separator
 <p>
-Decode MIME encoded-words in header fields.
+Header \e$BCf$N\e(B encoded-word \e$B$rI|9f$9$k!#\e(B
 <p>
-If <var>code-conversion</var> is <code>nil</code>, 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.
+\e$B$b$7\e(B <var>code-conversion</var> \e$B$,\e(B <code>nil</code> \e$B$J$i!"\e(Bencoded-word 
+\e$B$@$1$,I|9f$5$l$k!#$b$7!"\e(B<var>code-conversion</var> \e$B$,\e(B <dref>MIME
+charset</dref> \e$B$J$i!"Hs\e(B ASCII bit patterns \e$B$O$=$N\e(B MIME charset \e$B$H$7$F\e(B
+\e$BI|9f$5$l$k!#$3$l0J30$N>l9g!"Hs\e(B ASCII bit patterns \e$B$O\e(B
+<code>default-mime-charset</code>. \e$B$H$7$FI|9f$5$l$k!#\e(B<cf node="entity
+formatting">
 <p>
-If <var>separator</var> is not nil, it is used as header separator.
+\e$B$b$7\e(B <var>separator</var> \e$B$,\e(B <code>nil</code> \e$B$G$J$1$l$P!"$=$NCM$,\e(B
+header separator \e$B$H$7$FMQ$$$i$l$k!#\e(B
 </defun>
 
 <defun name="eword-encode-header">
-             <opts> code-conversion
+           <opts> code-conversion
 <p>
-Encode header fields to network representation, such as MIME
-encoded-word.
+Header \e$B$r\e(B network \e$BI=8=$KId9f2=$9$k!#\e(B
 <p>
-It refer variable <code>eword-field-encoding-method-alist</code>.
+\e$B3F\e(B field \e$B$O\e(B <code>mime-field-encoding-method-alist</code> \e$B$G;XDj$5$l\e(B
+\e$B$?J}<0$GId9f2=$5$l$k!#\e(B
 </defun>
 
+<defvar name="mime-field-encoding-method-alist">
+<p>
+Field \e$B$rId9f2=$9$kJ}K!$r;XDj$9$kO"A[\e(B list\e$B!#3F\e(B element \e$B$O\e(B (FIELD
+. METHOD) \e$B$NMM$K$J$C$F$$$k!#\e(B
+<p>
+METHOD \e$B$,\e(B <code>mime</code> \e$B$G$"$l$P!"\e(BFIELD \e$B$O\e(B MIME format \e$B$KId9f2=$5\e(B
+\e$B$l$k\e(B (encoded-word)\e$B!#\e(B
+<p>
+METHOD \e$B$,\e(B <code>nil</code> \e$B$G$"$l$P!"\e(BFIELD \e$B$OId9f2=$5$l$J$$!#\e(B
+<p>
+METHOD \e$B$,\e(B MIME charset \e$B$G$"$l$P!"\e(BFIELD \e$B$O%M%C%H%o!<%/%3!<%I$KJQ49$7$J\e(B
+\e$B$1$l$P$J$i$J$$$H$-$K\e(B charset \e$B$KId9f2=$5$l$k!#\e(B
+<p>
+\e$B$=$&$G$J$1$l$P!"\e(BFIELD \e$B$O%M%C%H%o!<%/%3!<%I$KJQ49$7$J$1$l$P$J$i$J$$$H$-\e(B
+\e$B$K\e(B \e$BJQ?t\e(B <code>default-mime-charset</code> \e$B$GId9f2=$5$l$k\e(B
+</defvar>
+
 
 <h1> \e$B0lHL@_Dj\e(B
 <node> custom
@@ -749,24 +932,6 @@ MIME \e$B4XO"5!G=$K4X$9$k\e(B group.
 <code>mail</code> \e$B$H\e(B <code>news</code> \e$B$KB0$9$k!#\e(B
 </define>
 
-<defvar name="default-mime-charset">
-<p>
-\e$BE,@Z$J\e(B <dref>MIME charset</dref> \e$B$,8+$D$+$i$J$+$C$?>l9g$KMQ$$$i$l$k\e(B
-MIME charset.
-<p>
-\e$BK\Mh$O\e(B APEL \e$B$NJQ?t$G$"$k!#\e(B
-</defvar>
-
-<defvar name="mime-temp-directory">
-<p>
-MIME \e$B5!G=$K4X$9$k<BAu$,0l;~E*$K;HMQ$9$k\e(B file \e$B$r:n@.$9$k\e(B directory.
-<p>
-\e$B4D6-JQ?t\e(B <code>MIME_TMP_DIR</code>, <code>TM_TMP_DIR</code>,
-<code>TMPDIR</code>, <code>TMP</code> \e$B$b$7$/$O\e(B <code>TEMP</code> \e$B$,@_Dj\e(B
-\e$B$5$l$F$$$?>l9g!"$=$l$r=i4|CM$H$7$FMQ$$$k!#2?$b@_Dj$5$l$F$$$J$$>l9g!"\e(B
-<code>"/tmp/"</code> \e$B$rMQ$$$k!#\e(B
-</defvar>
-
 
 <h1> \e$BIUO?\e(B
 <node> Appendix
@@ -838,21 +1003,6 @@ data \e$B$O\e(B <a node="binary"><concept>binary</concept></a> \e$B$H8F$V$3$H$K$9\e(
 \e$B$"$k!#\e(B
 
 
-<h3> Base64
-<node> Base64
-<p>
-<dref>RFC 2045</dref> \e$B$GDj5A$5$l$F$$$k\e(B <dref>MIME</dref> \e$B$K$*$1$k\e(B <a
-node="binary">binary data</a> \e$B$N\e(B network \e$B$G$NJQ49K!$N#1$D!#\e(B
-<p>
-\e$B!X\e(B64 \e$B?J?t!Y$H$$$&0UL#$G!"\e(B3 byte \e$B$N\e(B data \e$B$r\e(B 0 \e$B$+$i\e(B 63 \e$B$N?t$rI=$9\e(B 
-<dref>ASCII</dref> 4 \e$BJ8;z$KJQ49$9$kJ}K!!#!J$b$7!"\e(B4 \e$BJ8;z$K$J$i$J$1$l$P\e(B 
-<concept>pad</concept> \e$B$H8F$P$l$k5M$aJ*$r$7$FD9$5$rD4@0$9$k!K\e(B
-<p>
-\e$B$3$N\e(B 65 \e$B<oN`$NJ8;z$O\e(B ASCII \e$B$H\e(B EBCDIC \e$B$N6&DLItJ,$+$iA*$P$l$F$*$j!"\e(B
-Internet \e$B0J30$N\e(B network \e$B$r7PM3$9$k>l9g$G$b0BA4$KE>Aw$G$-$k$h$&$K@_7W$5\e(B
-\e$B$l$F$$$k!#\e(B
-
-
 <h3> ASCII
 <node> ASCII
 <p>
@@ -865,10 +1015,19 @@ A-Z, a-z \e$B$N\e(B Latin \e$BJ8;z$H?t;z!"4v$D$+$N5-9f$+$i$J$k!#\e(BISO 646 \e$B$N0l$
              number="ANSI X3.4" year="1986">
 
 
-<h3> Coded character set\e$B!JId9f2=J8;z=89g!K\e(B, Character code\e$B!JJ8;zId9f!K\e(B
-<node> Coded character set
+<h3> Base64
+<node> Base64
 <p>
-\e$BJ8;z$H\e(B byte \e$BNs$H#1BP#1$KBP1~IU$1$k[#Kf$G$J$$5,B'$N=89g!#\e(B
+<dref>RFC 2045</dref> \e$B$GDj5A$5$l$F$$$k\e(B <dref>MIME</dref> \e$B$K$*$1$k\e(B <a
+node="binary">binary data</a> \e$B$N\e(B network \e$B$G$NJQ49K!$N#1$D!#\e(B
+<p>
+\e$B!X\e(B64 \e$B?J?t!Y$H$$$&0UL#$G!"\e(B3 byte \e$B$N\e(B data \e$B$r\e(B 0 \e$B$+$i\e(B 63 \e$B$N?t$rI=$9\e(B 
+<dref>ASCII</dref> 4 \e$BJ8;z$KJQ49$9$kJ}K!!#!J$b$7!"\e(B4 \e$BJ8;z$K$J$i$J$1$l$P\e(B 
+<concept>pad</concept> \e$B$H8F$P$l$k5M$aJ*$r$7$FD9$5$rD4@0$9$k!K\e(B
+<p>
+\e$B$3$N\e(B 65 \e$B<oN`$NJ8;z$O\e(B ASCII \e$B$H\e(B EBCDIC \e$B$N6&DLItJ,$+$iA*$P$l$F$*$j!"\e(B
+Internet \e$B0J30$N\e(B network \e$B$r7PM3$9$k>l9g$G$b0BA4$KE>Aw$G$-$k$h$&$K@_7W$5\e(B
+\e$B$l$F$$$k!#\e(B
 
 
 <h3> binary
@@ -886,6 +1045,12 @@ A-Z, a-z \e$B$N\e(B Latin \e$BJ8;z$H?t;z!"4v$D$+$N5-9f$+$i$J$k!#\e(BISO 646 \e$B$N0l$
 data \e$B$r;X$9$3$H$,$"$k!#\e(B
 
 
+<h3> Coded character set\e$B!JId9f2=J8;z=89g!K\e(B, Character code\e$B!JJ8;zId9f!K\e(B
+<node> Coded character set
+<p>
+\e$BJ8;z$H\e(B byte \e$BNs$H#1BP#1$KBP1~IU$1$k[#Kf$G$J$$5,B'$N=89g!#\e(B
+
+
 <h3> media-type
 <node> media-type
 <p>
@@ -893,7 +1058,7 @@ data \e$B$r;X$9$3$H$,$"$k!#\e(B
 <concept>primary-type</concept> \e$B$H\e(B <concept>subtype</concept> \e$B$+$i$J$k!#\e(B
 <dref>RFC 2046</dref> \e$B$GDj5A$5$l$F$$$k!#\e(B
 <p>
-type \e$B$OI8=`$G$O\e(B
+primary-type \e$B$OI8=`$G$O\e(B
 
 <ul>
 <li><concept>text</concept>
@@ -1117,8 +1282,8 @@ Internet message \e$B$K$*$1$kI8=`$N\e(B<a node="Coded character set">\e$BId9f2=J8\e(
 FLIM \e$B$N%P%0$r8+$D$1$?$i!"0J2<$N\e(B address \e$B$K\e(B mail \e$B$rAw$C$F$/$@$5$$!'\e(B
 
 <ul>
-<li> \e$BF|K\8l\e(B <mail>bug-tm-ja@chamonix.jaist.ac.jp</mail>
-<li> \e$B1Q8l\e(B <mail>bug-tm-en@chamonix.jaist.ac.jp</mail>
+<li> \e$B1Q8l\e(B <mail>emacs-mime-en@m17n.org</mail>
+<li> \e$BF|K\8l\e(B <mail>emacs-mime-ja@m17n.org</mail>
 </ul>
 
 <p>
@@ -1137,12 +1302,12 @@ file="emacs" node="Bugs">
 \e$B$F$/$@$5$$!#\e(B
 
 <p>
-tm ML \e$B$G$O\e(B FLIM \e$B$N%P%0>pJs$N8r49$d:G?7HG$NG[I[!"\e(BFLIM \e$B$N2~NI$K4X$9$k5D\e(B
-\e$BO@$r9T$J$C$F$$$^$9!#\e(Btm ML \e$B$K;22C$7$?$$J}$O\e(B
+EMACS-MIME ML \e$B$G$O\e(B FLIM \e$B$N%P%0>pJs$N8r49$d:G?7HG$NG[I[!"\e(BFLIM \e$B$N2~NI$K\e(B
+\e$B4X$9$k5DO@$r9T$J$C$F$$$^$9!#\e(BEMACS-MIME ML \e$B$K;22C$7$?$$J}$O\e(B
 
 <ul>
-<li> \e$BF|K\8l\e(B <mail>tm-ja-help@chamonix.jaist.ac.jp</mail>
-<li> \e$B1Q8l\e(B <mail>tm-en-help@chamonix.jaist.ac.jp</mail>
+<li> \e$B1Q8l\e(B <mail>emacs-mime-en-ctl@m17n.org</mail>
+<li> \e$BF|K\8l\e(B <mail>emacs-mime-ja-ctl@m17n.org</mail>
 </ul>
 
 <noindent>
@@ -1158,14 +1323,13 @@ FLIM \e$B$N\e(B file \e$B$O\e(B CVS \e$B$r;H$C$F4IM}$5$l$F$$$^$9!#$3$N$?$a!"0J2<$NJ}K
 <verb>
 (0) cvs login
 
-    % cvs -d :pserver:anonymous@chamonix.jaist.ac.jp:/hare/cvs/root \
-       login
+    % cvs -d :pserver:anonymous@cvs.m17n.org:/cvs/root login
 
     CVS password: [CR] # NULL string
 
 (1) checkout
 
-    % cvs -d :pserver:anonymous@chamonix.jaist.ac.jp:/hare/cvs/root \
+    % cvs -d :pserver:anonymous@cvs.m17n.org:/cvs/root \
        checkout [-r TAG] flim
 </verb>
 
@@ -1173,12 +1337,12 @@ FLIM \e$B$N\e(B file \e$B$O\e(B CVS \e$B$r;H$C$F4IM}$5$l$F$$$^$9!#$3$N$?$a!"0J2<$NJ}K
 CVS \e$B$rMQ$$$?3+H/$K;22C$7$?$$J}$O\e(B
 
 <ul>
-<li> <mail>cvs@chamonix.jaist.ac.jp</mail>
+<li> <mail>cvs@cvs.m17n.org</mail>
 </ul>
 
 <noindent>
-\e$B$^$G!"\e(Baccount \e$BL>$H\e(B UNIX \e$B$N\e(B passwd \e$B$HF1$87A<0$N\e(B crypt \e$B2=$5$l$?\e(B password
-\e$B$r1h$($F8fO"Mm$/$@$5$$!#\e(B
+\e$B$^$G!"%"%+%&%s%HL>$H\e(B ssh \e$B$N8x3+80$rAw$C$F$/$@$5$$!#\e(Bssh \e$B7PM3$G$O!"\e(B
+cvsroot \e$B$O\e(B :ext:cvs@cvs.m17n.org:/cvs/root \e$B$H$J$j$^$9!#\e(B
 
 
 <h2> \e$BNr;K\e(B