X-Git-Url: http://git.chise.org/gitweb/?p=elisp%2Fflim.git;a=blobdiff_plain;f=mime-ja.sgml;h=2067e17c673d3e0d4371c99295ba7e2d19b84893;hp=fd27b9a797452b325713f3b8b66ddbf1c36a4954;hb=refs%2Fheads%2Fflim-1_14-rfc2231-encoder;hpb=22b510901074a9cfd9f2d420f4e7a27c99dd6306 diff --git a/mime-ja.sgml b/mime-ja.sgml index fd27b9a..2067e17 100644 --- a/mime-ja.sgml +++ b/mime-ja.sgml @@ -1,8 +1,8 @@ -FLIM 1.8 MIME $B5!G=@bL@=q(B +<title>FLIM 1.14 MIME $B5!G=@bL@=q(B <author>$B<i2,(B $BCNI'(B <mail>morioka@jaist.ac.jp</mail> -<date>1998/07/01 +<date>1999-01-27 <toc> </head> @@ -11,11 +11,11 @@ <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 $BMQ$N(B Internet Message $B$N2r@O$dId9f2=$K4X$9$k(B library $B$G$"$k(B -FLIM $B$N(B MIME $B5!G=$K4X$7$F@bL@$7$^$9!#(B +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 </abstract> @@ -47,15 +47,58 @@ field $B$HFbMF$r;X$9!W$H$J$C$F$$$^$9!#$3$3$G$O!"(BMIME $B$GDj5A$5$l$?(B head field $B0J30$NA4$F$N(B header $B$H(B body $B$r;X$98l$H$7$F(B <concept>entity</concept>$B$rMQ$$$k$3$H$K$7$^$9!#(B <p> -RFC 2045 $B$NDj5A$O!"(BMIME message $B$,(B entity $B$rC10L$H$9$kLZ9=B$$G$"$k$3$H$r(B -$B<($7$F$$$^$9!#(Bmessage $B$O2<?^$G<($9$h$&$JLZ$H$J$j!"(Bentity $B$O$3$NLZ$K$*$1(B -$B$k@a$H$J$j$^$9!#$D$^$j!"(BMIME $B$O(B message $B$rLZ9=B$$K3HD%$7$?Lu$G$9!#(B +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 <p> FLIM $B$O(B entity $B$N>pJs$rI=8=$9$k$?$a$K(B<concept>mime-entity</concept> $B9=(B $BB$BN$rMQ$$$^$9!#0J2<$G$OC1$K(B mime-entity $B$H8F$V$3$H$K$7$^$9!#(B + + +<h2> Entity $B$N@8@.(B +<node> Entity creation <p> -$BA0=R$N$h$&$K!"(Bmessage $BCf$N3F(B entity $B$OLZ$N@a$KEv$?$j$^$9$,!"$3$NLZ$K$O(B -$B?<$5$HF1$8?<$5$NCf$N=gHV$K=>$C$FHV9f$,IU$1$k$3$H$,$G$-$^$9!#B($A!"(B +<defun name="mime-open-entity"> + <opts> type location +<p> +Entity $B$r3+$$$F!"$=$l$rJV$7$^$9!#(B +<p> +<var>type</var> $B$O(B representation-type $B$G$9!#(B <cf node="mm-backend"> +<p> +<var>location</var> $B$O(B entity $B$N0LCV$G$9!#;XDjJ}K!$O(B +representation-type $B$K0M$C$FJQ$o$j$^$9!#(B +</defun> + +<defun name="mime-parse-buffer"> + <opts> buffer type +<p> +<var>buffer</var> $B$r(B message $B$H$7$F9=J82r@O$7!"$=$N7k2L$N(B mime-entity +$B$r(B <var>buffer</var> $B$N(B<code>mime-message-structure</code> $B$K3JG<$9$k!#(B +<p> +<var>buffer</var> $B$,>JN,$5$l$?>l9g!"8=:_$N(B buffer $B$r9=J82r@O$9$k!#(B +<p> +<var>type</var> $B$,;XDj$5$l$?>l9g!"$=$NCM$r@8@.$5$l$k(B mime-entity $B$NI=(B +$B>]7?$H$7$FMQ$$$k!#>JN,$5$l$?>l9g$O(B <var>buffer</var> $B$H$J$k!#(B<cf +node="mm-backend"> +</defun> + + +<h2> Entity $B3,AX(B +<node> Entity hierarchy +<p> +MIME message $B$O(B entity $B$rC10L$H$9$kLZ9=B$$K$J$C$F$$$^$9!#(B +<p> +$B$3$NLZ$K$*$$$F:,$H$J$k@a$O(B message $BA4BN$rI=$9(B entity $B$G$9!#$3$3$G$O!"(B +$B$3$l$r(B <concept>root-entity</concept> $B$b$7$/$O(B +<concept>message</concept> $B$H8F$S$^$9!#(B +<p> +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$,(B +$B$G$-$^$9!#(B +<p> +$B0lJ}!"(Bentity $B$N(B message $B$K$*$1$k0LCV$r9M$($k$3$H$b$G$-$^$9!#(B +<p> +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 <verb> $B(#(!(!(!($(B @@ -83,45 +126,10 @@ node-id $B$O$A$g$&$I(B entity-number $B$r5U$K$7$?%j%9%H$G!"(Bentity-number $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</code> $B$K3JG<$9$k$3$H$K$7$^$9!#(B -$B$=$7$F!"(Bentity-number $B$d(B node-id $B$rMQ$$$k$3$H$G(B -<code>mime-message-structure</code> $B$K$*$1$k(B entity $B$NAjBPE*$J0LCV4X78$r(B -$B07$&$3$H$,$G$-$^$9!#(B - - -<h2> Entity $B$N@8@.(B -<node> Entity creation -<p> -<defun name="mime-open-entity"> - <opts> type location -<p> -Open an entity and return it. <p> -<var>type</var> is representation-type. <cf node="mm-backend"> -<p> -<var>location</var> is location of entity. Specification of it is -depended on representation-type. -</defun> +<code>mime-message-structure</code> $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 -<defun name="mime-parse-message"> - <opts> default-ctl node-id -<p> -$B8=:_$N(B buffer $B$r(B message $B$H$7$F9=J82r@O$7!"$=$N7k2L$N(B mime-entity $B$rJV(B -$B$9!#(B -</defun> - -<defun name="mime-parse-buffer"> - <opts> buffer -<p> -<var>buffer</var> $B$r(B message $B$H$7$F9=J82r@O$7!"$=$N7k2L$N(B mime-entity -$B$r(B <var>buffer</var> $B$N(B<code>mime-message-structure</code> $B$K3JG<$9$k!#(B -<p> -<var>buffer</var> $B$,>JN,$5$l$?>l9g!"8=:_$N(B buffer $B$r9=J82r@O$9$k!#(B -</defun> - - -<h2> Entity $B3,AX(B -<node> Entity hierarchy -<p> <defvar name="mime-message-structure"> <p> $B8=:_$N(B buffer $B$K$*$1$k(B message $BA4BN$N(B mime-entity $B9=B$BN$r3JG<$9$k(B @@ -161,22 +169,36 @@ buffer local $BJQ?t!#(B <var>entity</var> $B$N(B entity-number $B$rJV$9!#(B </defun> + +<h2> Entity $B$N8!:w(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> $B$+$i!"(B<var>enity-number</var> $B$N(B entity $B$rJV$7$^$9!#(B <p> -If <var>message</var> is not specified, -<code>mime-message-structure</code> is used. +<var>message</var> $B$,;XDj$5$l$F$$$J$$>l9g$O!"(B +<code>mime-message-structrue</code> $B$,;H$o$l$^$9!#(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> $B$+$i!"(B<var>entity-node-id</var> $B$N(B entity $B$rJV$7$^(B +$B$9!#(B +<p> +<var>message</var> $B$,;XDj$5$l$F$$$J$$>l9g$O!"(B +<code>mime-message-structure</code> $B$,;H$o$l$^$9!#(B +</defun> + +<defun name="mime-find-entity-from-content-id"> + <args> cid <opts> message +<p> +<var>message</var> $B$+$i!"(B<var>cid</var> $B$N(B entity $B$rJV$7$^$9!#(B <p> -If <var>message</var> is not specified, -<code>mime-message-structure</code> is used. +<var>message</var> $B$,;XDj$5$l$F$$$J$$>l9g$O!"(B +<code>mime-message-structure</code> $B$,;H$o$l$^$9!#(B </defun> @@ -204,17 +226,21 @@ node="mime-content-disposition"> </defun> <defun name="mime-entity-encoding"> - <args> entity + <args> entity <opts> default-encoding <p> <var>entity</var> $B$N(B content-transfer-encoding $B$rJV$9!#(B<cf node="Content-Transfer-Encoding"> +<p> +$B$b$7!"(B<var>entity</var> $B$K(B Content-Transfer-Encoding $BMs$,B8:_$7$J$$>l(B +$B9g$O!"(B<var>default-encoding</var> $B$rJV$9!#$3$l$,;XDj$5$l$J$$>l9g$O!"(B +<code>"7bit"</code> $B$rMQ$$$k!#(B </defun> <defun name="mime-entity-cooked-p"> <args> entity <p> -Return non-nil if contents of <var>entity</var> has been already -code-converted. +<var>entity</var> $B$NFbMF$,4{$K%3!<%IJQ49$5$l$F$$$k>l9g$O(B nil $B$GL5$$CM(B +$B$rJV$9!#(B </defun> @@ -251,7 +277,11 @@ code-converted. <var>field-name</var> $BMs$,B8:_$7$J$$>l9g$O(B nil $B$rJV$9!#(B </defun> -<defun name="mime-insert-decoded-header"> + +<h2> Entity $B$NJ8;zI=8=(B +<node> entity formatting +<p> +<defun name="mime-insert-header"> <args> entity <opts> invisible-fields visible-fields <p> $B8=:_0LCV$K(B <var>entity</var> $B$NI|9f$7$?(B header $B$rA^F~$9$k!#(B @@ -261,9 +291,31 @@ list $B$G!"$=$l$>$l!"I=<($7$?$/$J$$(B field $BL>$HI=<($7$?$$MsL>$rI=8=$7$?$b$ $B$G$"$k!#(B <p> <var>invisible-fields</var> $B$NMWAG$N$I$l$+$K(B match $B$7!"$+$D!"(B -<var>visible-fields</var> $B$NMWAG$N$I$l$K$b(B match $B$7$J$$Ms$OI=<($5$l$J$$!#(B +<var>visible-fields</var> $B$NMWAG$N$I$l$K$b(B match $B$7$J$$Ms$OI=<($5$l$J(B +$B$$!#(B +<p> +<dref>encoded-word</dref> $B$OI|9f$5$l$k!#!X@8$NHs(B us-ascii $BJ8;z!Y$O(B +<code>default-mime-charset</code> $B$H$7$F2r<a$5$l$k!#(B +</defun> + +<defun name="mime-insert-text-content"> + <args> entity +<p> +point $B$NA0$K(B <var>entity</var> $B$r(B text entity $B$H$7$FA^F~$7$^$9!#(B +<p> +<var>entity</var> $B$NFbMF$O(B <dref>MIME charset</dref> $B$H$7$FI|9f2=$5$l(B +$B$^$9!#(B<var>entity</var> $B$N(B Content-Type field $B$K(B charset paramter $B$,L5(B +$B$$$H!"(B<code>default-mime-charset</code> $B$,=i4|CM$H$7$F;H$o$l$^$9!#(B </defun> +<defvar name="default-mime-charset"> +<p> +$BE,@Z$J(B <dref>MIME charset</dref> $B$,8+$D$+$i$J$+$C$?>l9g$KMQ$$$i$l$k(B +MIME charset. +<p> +$BK\Mh$O(B APEL $B$NJQ?t$G$"$k!#(B +</defvar> + <h2> Entity $B$NFbMF(B <node> Entity-content @@ -274,22 +326,38 @@ list $B$G!"$=$l$>$l!"I=<($7$?$/$J$$(B field $BL>$HI=<($7$?$$MsL>$rI=8=$7$?$b$ <var>entity</var> $B$NFbMF$N(B byte $BNs$rJV$9!#(B </defun> +<defun name="mime-insert-entity-content"> + <args> entity +<p> +point $B$N0LCV$K(B <var>entity</var> $B$NFbMF$rA^F~$7$^$9!#(B +</defun> + <defun name="mime-write-entity-content"> <args> entity filename <p> -Write content of <var>entity</var> into <var>filename</var>. +<var>entity</var> $B$NFbMF$r(B <var>filename</var> $B$K=q$-9~$_$^$9!#(B +</defun> + + +<h2> Entity $B$N%M%C%H%o!<%/I=8=(B +<node> Entity-network-representation +<p> +<defun name="mime-insert-entity"> + <args> entity +<p> +<var>entity</var> $B$N(B header $B$H(B body $B$r(B point $B$N$H$3$m$KA^F~$7$^$9!#(B </defun> <defun name="mime-write-entity"> <args> entity filename <p> -Write representation of <var>entity</var> into <var>filename</var>. +<var>entity</var> $B$NI=8=$r(B <var>filename</var> $B$K=q$-9~$_$^$9!#(B </defun> <defun name="mime-write-entity-body"> <args> entity filename <p> -Write body of <var>entity</var> into <var>filename</var>. +<var>entity</var> $B$N(B body $B$r(B <var>filename</var> $B$K=q$-9~$_$^$9!#(B </defun> @@ -384,9 +452,40 @@ representation-type $B$NL>A0$N@hF,$K(B <code>mm</code> $B$rIU$1$?$b$N$K$J$C$F <h3> mm-backend $B$N:n$jJ}(B <node> mm-backend module <p> -$B!J$9$_$^$;$s!#$=$N$&$A=q$-$^$9(B (^_^;$B!K(B +<defmacro name="mm-define-backend"> +<args> type +<opts> parents +<p> +<var>type</var> $B$r(B mm-backend $B$H$7$FDj5A$7$^$9!#(B +<p> +<var>PARENTS</var> $B$,;XDj$5$l$F$$$k>l9g$O!"(B<var>type</var> $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 +<p> +$BNc(B: <p> -$B!J$H$j$"$($:!"(Bmm*.el $B$r;29M$K$7$F$/$@$5$$!K(B +<lisp> +(mm-define-backend chao (generic)) +</lisp> +</defmacro> + +<defmacro name="mm-define-method"> +<args> name args <rest> body +<p> +<var>name</var> $B$r(B (nth 1 (car <var>args</var>)) backend $B$N(B method $B4X(B +$B?t$H$7$FDj5A$7$^$9!#(B +<p> +<var>args</var> $B$O(B lambda $B$N0z?t%j%9%H$N$h$&$J$b$N$G$9$,!"(B(car +<var>args</var>) $B$O;XDj$5$l$?(B parameter $B$G$"$kI,MW$,$"$j$^$9!#(B(car +(car <var>args</var>)) $B$OJQ?t$NL>A0$G!"(B(nth 1 (car <var>args</var>)) +$B$O(B backend $B$NL>A0(B (representation-type) $B$G$9!#(B +<p> +$BNc(B: +<p> +<lisp> +(mm-define-method entity-cooked-p ((entity chao)) nil) +</lisp> +</defmacro> <h1> Content-Type $BMs$N>pJs(B @@ -620,99 +719,144 @@ Content-Transfer-Encoding $BMs$,B8:_$7$J$$>l9g$O(B </defun> -<h2> $BNN0h$NId9f2=!&I|9f2=(B -<node> Region encoder/decoder +<h2> $BId9f2=!&I|9f2=(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>. +$B8=:_$N(B buffer $B$N(B <var>start</var> $B$+$i(B <var>end</var> $B$^$G$N(B region $B$r(B +<var>encoding</var> $B$r;H$C$FId9f2=$7$^$9!#(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>. +$B8=:_$N(B buffer $B$N(B <var>start</var> $B$+$i(B <var>end</var> $B$^$G$N(B region $B$r(B +<var>encoding</var> $B$r;H$C$FI|9f2=$7$^$9!#(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> $B$r(B <var>encoding</var> $B$H$7$FI|9f$7$?7k2L$rJV$9!#(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 $B$GId9f2=$5$l$?(B file <var>FILENAME</var> $B$r(B +$BA^F~$9$k!#(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> $B$GId9f2=$5$l$?8=:_$N(B region $B$rI|9f2=$7$F(B +<var>filename</var>$B$K=q$-9~$_$^$9!#(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> $B$H(B <var>end</var> $B$O(B buffer $B$N0LCV$G$9!#(B +</defun> -<h2> $BJ8;zNs$NId9f2=!&I|9f2=(B -<node> String encoder/decoder +<h2> $BB>$N(B utility +<node> Encoding information <p> -<defun name="mime-decode-string"> - <args> string encoding +<defun name="mime-encoding-list"> + <opts> SERVICE <p> -<var>string</var> $B$r(B <var>encoding</var> $B$H$7$FI|9f$7$?7k2L$rJV$7$^$9!#(B +Content-Transfer-Encoding $B$N(B list $B$rJV$7$^$9!#(B +<p> +<var>service</var> $B$,;XDj$5$l$F$$$k$H!"$=$l$KBP$9$k(B +Content-Transfer-Encoding $B$rJV$7$^$9!#(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. +$BJd40$N$?$a$N(B Content-Transfer-Encoding $B$NI=$rJV$7$^$9!#(B <p> -Each element looks like <code>(STRING . FUNCTION)</code>. -STRING is content-transfer-encoding. -FUNCTION is string decoder. -</defvar> +<var>service</var> $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 +</defun> -<h2> File $B$NId9f2=!&I|9f2=(B -<node> File encoder/decoder +<h2> $BId9f2=(B/$BI|9f2=(B module $B$N=q$-J}(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> $B$r(B (nth 1 (car (last <var>args</var>))) backend $B$N(B +method $B4X?t$H$7$FDj5A$7$^$9!#(B <p> -Decode and write current region encoded by <var>encoding</var> into -<var>filename</var>. +<var>args</var> $B$O(B lambda $B$N0z?t(B list $B$H;w$F$$$^$9$,!"(B(car (last +<var>args</var>)) $B$O;XDj$5$l$?(B parameter $B$G$"$kI,MW$,$"$j$^$9!#(B(car +(car (last <var>args</var>))) $B$OJQ?t$NL>A0$G!"(B(nth 1 (car (last +<var>args</var>))) $B$O(B backend $B$NL>A0(B (encoding) $B$G$9!#(B <p> -<var>start</var> and <var>end</var> are buffer positions. -</defun> +$BNc(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> $B$N4X?tDj5A$r(B <var>function</var> $B$K@_Dj$7$^$9!#(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> $B$N:G=i$NMWAG$O(B service $B$G$9!#(B +<p> +<var>args</var> $B$N;D$j$O(B lambda $B$N0z?t(B list $B;w$F$$$^$9$,!"(B(car (last +<var>args</var>)) $B$O;XDj$5$l$?(B parameter $B$G$"$kI,MW$,$"$j$^$9!#(B(car +(car (last <var>args</var>))) $B$OJQ?t$NL>A0$G!"(B(nth 1 (car (last +<var>args</var>))) $B$O(B backend $B$NL>A0(B (encoding) $B$G$9!#(B +<p> +$BNc(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> $BId9f2=(B/$BI|9f2=(B service $B$rDI2C$9$kJ}K!(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> $B$r(B Content-Transfer-Encoding $B$N(B service $B$H$7$FDj5A$7$^(B +$B$9!#(B +<p> +<var>args</var> $B$,;XDj$5$l$F$$$k$H!"(B<var>name</var> $B$O(B service $B$N(B +generic function $B$H$7$FDj5A$5$l$^$9!#(B +<p> +$BNc(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 $B$N(B network $BI=8=(B @@ -735,28 +879,48 @@ FLIM $B$O$3$l$i$rId9f2=!&I|9f2=$9$k5!G=$rDs6!$7$^$9!#(B <h2> Header $B$NId9f2=!&I|9f2=(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 $BCf$N(B encoded-word $B$rI|9f$9$k!#(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. +$B$b$7(B <var>code-conversion</var> $B$,(B <code>nil</code> $B$J$i!"(Bencoded-word +$B$@$1$,I|9f$5$l$k!#$b$7!"(B<var>code-conversion</var> $B$,(B <dref>MIME +charset</dref> $B$J$i!"Hs(B ASCII bit patterns $B$O$=$N(B MIME charset $B$H$7$F(B +$BI|9f$5$l$k!#$3$l0J30$N>l9g!"Hs(B ASCII bit patterns $B$O(B +<code>default-mime-charset</code>. $B$H$7$FI|9f$5$l$k!#(B<cf node="entity +formatting"> <p> -If <var>separator</var> is not nil, it is used as header separator. +$B$b$7(B <var>separator</var> $B$,(B <code>nil</code> $B$G$J$1$l$P!"$=$NCM$,(B +header separator $B$H$7$FMQ$$$i$l$k!#(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 $B$r(B network $BI=8=$KId9f2=$9$k!#(B <p> -It refer variable <code>eword-field-encoding-method-alist</code>. +$B3F(B field $B$O(B <code>mime-field-encoding-method-alist</code> $B$G;XDj$5$l(B +$B$?J}<0$GId9f2=$5$l$k!#(B </defun> +<defvar name="mime-field-encoding-method-alist"> +<p> +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 +<p> +METHOD $B$,(B <code>mime</code> $B$G$"$l$P!"(BFIELD $B$O(B MIME format $B$KId9f2=$5(B +$B$l$k(B (encoded-word)$B!#(B +<p> +METHOD $B$,(B <code>nil</code> $B$G$"$l$P!"(BFIELD $B$OId9f2=$5$l$J$$!#(B +<p> +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 +<p> +$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</code> $B$GId9f2=$5$l$k(B +</defvar> + <h1> $B0lHL@_Dj(B <node> custom @@ -768,24 +932,6 @@ MIME $B4XO"5!G=$K4X$9$k(B group. <code>mail</code> $B$H(B <code>news</code> $B$KB0$9$k!#(B </define> -<defvar name="default-mime-charset"> -<p> -$BE,@Z$J(B <dref>MIME charset</dref> $B$,8+$D$+$i$J$+$C$?>l9g$KMQ$$$i$l$k(B -MIME charset. -<p> -$BK\Mh$O(B APEL $B$NJQ?t$G$"$k!#(B -</defvar> - -<defvar name="mime-temp-directory"> -<p> -MIME $B5!G=$K4X$9$k<BAu$,0l;~E*$K;HMQ$9$k(B file $B$r:n@.$9$k(B directory. -<p> -$B4D6-JQ?t(B <code>MIME_TMP_DIR</code>, <code>TM_TMP_DIR</code>, -<code>TMPDIR</code>, <code>TMP</code> $B$b$7$/$O(B <code>TEMP</code> $B$,@_Dj(B -$B$5$l$F$$$?>l9g!"$=$l$r=i4|CM$H$7$FMQ$$$k!#2?$b@_Dj$5$l$F$$$J$$>l9g!"(B -<code>"/tmp/"</code> $B$rMQ$$$k!#(B -</defvar> - <h1> $BIUO?(B <node> Appendix @@ -1136,8 +1282,8 @@ Internet message $B$K$*$1$kI8=`$N(B<a node="Coded character set">$BId9f2=J8( FLIM $B$N%P%0$r8+$D$1$?$i!"0J2<$N(B address $B$K(B mail $B$rAw$C$F$/$@$5$$!'(B <ul> -<li> $BF|K\8l(B <mail>bug-tm-ja@chamonix.jaist.ac.jp</mail> -<li> $B1Q8l(B <mail>bug-tm-en@chamonix.jaist.ac.jp</mail> +<li> $B1Q8l(B <mail>emacs-mime-en@m17n.org</mail> +<li> $BF|K\8l(B <mail>emacs-mime-ja@m17n.org</mail> </ul> <p> @@ -1156,12 +1302,12 @@ file="emacs" node="Bugs"> $B$F$/$@$5$$!#(B <p> -tm ML $B$G$O(B FLIM $B$N%P%0>pJs$N8r49$d:G?7HG$NG[I[!"(BFLIM $B$N2~NI$K4X$9$k5D(B -$BO@$r9T$J$C$F$$$^$9!#(Btm ML $B$K;22C$7$?$$J}$O(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 <ul> -<li> $BF|K\8l(B <mail>tm-ja-help@chamonix.jaist.ac.jp</mail> -<li> $B1Q8l(B <mail>tm-en-help@chamonix.jaist.ac.jp</mail> +<li> $B1Q8l(B <mail>emacs-mime-en-ctl@m17n.org</mail> +<li> $BF|K\8l(B <mail>emacs-mime-ja-ctl@m17n.org</mail> </ul> <noindent> @@ -1177,14 +1323,13 @@ FLIM $B$N(B file $B$O(B CVS $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> @@ -1192,12 +1337,12 @@ FLIM $B$N(B file $B$O(B CVS $B$r;H$C$F4IM}$5$l$F$$$^$9!#$3$N$?$a!"0J2<$NJ}K CVS $B$rMQ$$$?3+H/$K;22C$7$?$$J}$O(B <ul> -<li> <mail>cvs@chamonix.jaist.ac.jp</mail> +<li> <mail>cvs@cvs.m17n.org</mail> </ul> <noindent> -$B$^$G!"(Baccount $BL>$H(B UNIX $B$N(B passwd $B$HF1$87A<0$N(B crypt $B2=$5$l$?(B password -$B$r1h$($F8fO"Mm$/$@$5$$!#(B +$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 <h2> $BNr;K(B