X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=mime-ja.texi;h=c7520bd62d698dbd792838443cb4782763bcc72f;hb=623048a02c4c30b1d5f953209bd17899fe438f94;hp=7474bc209bd84d138a6321525a7ded01812f3f75;hpb=fdffb5370df2b02b3f9e9100519320dce1cb00fb;p=elisp%2Fflim.git diff --git a/mime-ja.texi b/mime-ja.texi index 7474bc2..c7520bd 100644 --- a/mime-ja.texi +++ b/mime-ja.texi @@ -1,21 +1,22 @@ \input texinfo.tex +@c Generated automatically from mime-ja.sgml by sinfo 3.7. @setfilename mime-ja.info -@settitle{FLIM 1.9 MIME $B5!G=@bL@=q(B} +@settitle{FLIM 1.14 MIME $B5!G=@bL@=q(B} @titlepage -@title FLIM 1.9 MIME $B5!G=@bL@=q(B +@title FLIM 1.14 MIME $B5!G=@bL@=q(B @author $B -@subtitle 1998/07/01 +@subtitle 1999-01-27 @end titlepage @node Top, Introduction, (dir), (dir) -@top FLIM 1.9 MIME $B5!G=@bL@=q(B +@top FLIM 1.14 MIME $B5!G=@bL@=q(B @ifinfo -This file documents MIME features of FLIM, a Internet message -parsing/encoding library for GNU Emacs.@refill +This file documents MIME features of FLIM, a fundamental library to +process Internet Messages for GNU Emacsen.@refill -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 @end ifinfo @menu @@ -55,8 +56,6 @@ FLIM $B$NDs6!$9$k(B MIME $B5!G=$r;H$&$?$a$K$O(B @node Entity, Content-Type, How to use, Top @chapter Message $B$H(B Entity -@cindex node-id -@cindex entity-number @cindex mime-entity @cindex entity @@ -66,54 +65,22 @@ 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 @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$rC10L$H$9$kLZ9=B$$G$"$k$3$H$r(B -$B<($7$F$$$^$9!#(Bmessage $B$O2pJs$rI=8=$9$k$?$a$K(B@strong{mime-entity} $B9=B$BN$rMQ$$$^(B -$B$9!#0J2<$G$OC1$K(B mime-entity $B$H8F$V$3$H$K$7$^$9!#(B@refill - -$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 -@example +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 - $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 -$B$=$7$F!"(Bentity-number $B$d(B node-id $B$rMQ$$$k$3$H$G(B -@code{mime-message-structure} $B$K$*$1$k(B entity $B$NAjBPE*$J0LCV4X78$r(B -$B07$&$3$H$,$G$-$^$9!#(B +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$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$rl9g$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 -Return entity from @var{entity-node-id} in @var{message}.@refill +@var{message} $B$+$i!"(B@var{entity-node-id} $B$N(B entity $B$rJV$7$^$9!#(B@refill -If @var{message} is not specified, @code{mime-message-structure} is -used. +@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 hierarchy, Entity + + +@node Entity Attributes, Entity-header, Entity Search, Entity @section Entity $B$NB0@-(B @defun mime-entity-content-type entity @@ -242,13 +270,13 @@ used. @defun mime-entity-cooked-p entity -Return non-nil if contents of @var{entity} has been already -code-converted. +@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-content, Entity Attributes, Entity +@node Entity-header, entity formatting, Entity Attributes, Entity @section Entity header $B$N>pJs(B @defun mime-fetch-field field-name &optional entity @@ -281,7 +309,11 @@ code-converted. @end defun -@defun mime-insert-decoded-header entity &optional invisible-fields visible-fields + +@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 @@ -291,11 +323,34 @@ code-converted. @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$F2rl9g$KMQ$$$i(B +$B$l$k(BMIME charset.@refill -@node Entity-content, Entity buffer, Entity-header, Entity +$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 @@ -304,26 +359,42 @@ code-converted. @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 -Write content of @var{entity} into @var{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 -Write representation of @var{entity} into @var{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 -Write body of @var{entity} into @var{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-content, Entity +@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 @@ -422,9 +493,39 @@ representation-type $B$NL>A0$N@hF,$K(B @code{mm} $B$rIU$1$?$b$N$K$J$C$F(B @node mm-backend module, , Request for entity, mm-backend @subsection mm-backend $B$N:n$jJ}(B -$B!J$9$_$^$;$s!#$=$N$&$A=q$-$^$9(B (^_^;$B!K(B@refill +@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 -$B!J$H$j$"$($:!"(Bmm*.el $B$r;29M$K$7$F$/$@$5$$!K(B @node Content-Type, Content-Disposition, Entity, Top @@ -681,12 +782,13 @@ FLIM $B$G$O(B Content-Transfer-Encoding $BMs$r9=J82r@O$9$k4X?t$rDs6!$7$^$9!#$ @menu * Content-Transfer-Encoding parser:: Content-Transfer-Encoding $BMs$N2r@O4o(B -* Region encoder/decoder:: $BNN0h$NId9f2=!&I|9f2=(B -* String encoder/decoder:: $BJ8;zNs$NId9f2=!&I|9f2=(B -* File encoder/decoder:: File $B$NId9f2=!&I|9f2=(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, Region encoder/decoder, Content-Transfer-Encoding, Content-Transfer-Encoding +@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 @@ -706,100 +808,142 @@ Content-Transfer-Encoding $BMs$,B8:_$7$J$$>l9g$O(B@var{default-encoding} $B$r -@node Region encoder/decoder, String encoder/decoder, Content-Transfer-Encoding parser, Content-Transfer-Encoding -@section $BNN0h$NId9f2=!&I|9f2=(B +@node encoder/decoder, Encoding information, Content-Transfer-Encoding parser, Content-Transfer-Encoding +@section $BId9f2=!&I|9f2=(B @defun mime-encode-region start end encoding -Encode region @var{start} to @var{end} of current buffer using -@var{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 -Decode region @var{start} to @var{end} of current buffer using -@var{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 -@defvar mime-encoding-method-alist - -Alist of encoding vs. corresponding method to encode region.@refill -Each element looks like @code{(STRING . FUNCTION)} or @code{(STRING -. nil)}. @var{string} is content-transfer-encoding. @code{function} is -region encoder and @code{nil} means not to encode. -@end defvar +@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 -@defvar mime-decoding-method-alist -Alist of encoding vs. corresponding method to decode region.@refill -Each element looks like @code{(STRING . FUNCTION)} or @code{(STRING -. nil)}. @var{string} is content-transfer-encoding. @code{function} is -region decoder and @code{nil} means not to decode. -@end defvar +@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 -@node String encoder/decoder, File encoder/decoder, Region encoder/decoder, Content-Transfer-Encoding -@section $BJ8;zNs$NId9f2=!&I|9f2=(B +@defun mime-write-decoded-region start end filename encoding -@defun mime-decode-string string 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{string} $B$r(B @var{encoding} $B$H$7$FI|9f$7$?7k2L$rJV$7$^$9!#(B +start $B$H(B @var{end} $B$O(B buffer $B$N0LCV$G$9!#(B @end defun -@defvar mime-string-decoding-method-alist -Alist of encoding vs. corresponding method to decode string.@refill +@node Encoding information, mel-backend, encoder/decoder, Content-Transfer-Encoding +@section Other utilities -Each element looks like @code{(STRING . FUNCTION)}. STRING is -content-transfer-encoding. FUNCTION is string decoder. -@end defvar +@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 -@node File encoder/decoder, , String encoder/decoder, Content-Transfer-Encoding -@section File $B$NId9f2=!&I|9f2=(B -@defun mime-insert-encoded-file filename encoding +@defun mime-encoding-alist &optional SERVICE + +$BJd40$N$?$a$N(B Content-Transfer-Encoding $B$NI=$rJV$7$^$9!#(B@refill -Insert file @var{FILENAME} encoded by @var{ENCODING} format. +@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 -@defun mime-write-decoded-region start end filename encoding -Decode and write current region encoded by @var{encoding} into -@var{filename}.@refill +@node mel-backend, generic function for mel-backend, Encoding information, Content-Transfer-Encoding +@section How to write encoder/decoder module -@var{start} and @var{end} are buffer positions. -@end defun +@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 -@defvar mime-file-encoding-method-alist +@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 -Alist of encoding vs. corresponding method to insert encoded -file.@refill +$BNc(B:@refill -Each element looks like @code{(STRING . FUNCTION)}. STRING is -content-transfer-encoding. FUNCTION is function to insert encoded file. -@end defvar +@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 -@defvar mime-file-decoding-method-alist +@defmac mel-define-method-function spec function -Alist of encoding vs. corresponding method to write decoded region to -file.@refill +@var{spec} $B$N4X?tDj5A$r(B @var{function} $B$K@_Dj$7$^$9!#(B@refill -Each element looks like @code{(STRING . FUNCTION)}. STRING is -content-transfer-encoding. FUNCTION is function to write decoded region -to file. -@end defvar +@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 @@ -834,59 +978,58 @@ FLIM $B$O$3$l$i$rId9f2=!&I|9f2=$9$k5!G=$rDs6!$7$^$9!#(B @node Header encoder/decoder, , encoded-word, encoded-word @section Header $B$NId9f2=!&I|9f2=(B -@defun eword-encode-header &optional code-conversion separator +@defun eword-decode-header &optional code-conversion separator -Decode MIME encoded-words in header fields.@refill +Header $BCf$N(B encoded-word $B$rI|9f$9$k!#(B@refill -If @var{code-conversion} is @code{nil}, it decodes only encoded-words. -If it is mime-charset, it decodes non-ASCII bit patterns as the -mime-charset. Otherwise it decodes non-ASCII bit patterns as the -default-mime-charset.@refill +$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 -If @var{separator} is not nil, it is used as header separator. +$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 -Encode header fields to network representation, such as MIME -encoded-word.@refill +Header $B$r(B network $BI=8=$KId9f2=$9$k!#(B@refill -It refer variable @code{eword-field-encoding-method-alist}. +$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 -@node custom, Appendix, encoded-word, Top -@chapter $B0lHL@_Dj(B +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 -@deffn{group} mime +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 -MIME $B4XO"5!G=$K4X$9$k(B group.@refill +METHOD $B$,(B @code{nil} $B$G$"$l$P!"(BFIELD $B$OId9f2=$5$l$J$$!#(B -@code{mail} $B$H(B @code{news} $B$KB0$9$k!#(B -@end deffn +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 - -@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 +$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 -@defvar mime-temp-directory -MIME $B5!G=$K4X$9$kl9g!"$=$l$r=i4|CM$H$7$F(B -$BMQ$$$k!#2?$b@_Dj$5$l$F$$$J$$>l9g!"(B@code{"/tmp/"} $B$rMQ$$$k!#(B -@end defvar +@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 @@ -1329,7 +1472,7 @@ Standards Track (obsolete RFC 1521, 1522, 1590). 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}) +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 @@ -1343,9 +1486,9 @@ FLIM $B$N%P%0$r8+$D$1$?$i!"0J2<$N(B address $B$K(B mail $B$rAw$C$F$/$@$5$$! @itemize @bullet @item - $BF|K\8l(B + $B1Q8l(B @item - $B1Q8l(B + $BF|K\8l(B @end itemize @@ -1363,14 +1506,14 @@ FLIM $B$N%P%0$r8+$D$1$?$i!"0J2<$N(B address $B$K(B mail $B$rAw$C$F$/$@$5$$! $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 -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 @itemize @bullet @item - $BF|K\8l(B + $B1Q8l(B @item - $B1Q8l(B + $BF|K\8l(B @end itemize @noindent @@ -1386,14 +1529,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 @example (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 checkout [-r TAG] flim @end example @@ -1402,18 +1544,18 @@ CVS $B$rMQ$$$?3+H/$K;22C$7$?$$J}$O(B @itemize @bullet @item - + @end itemize @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 @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 +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 @@ -1457,7 +1599,7 @@ tm $B$G$O8e$K!"A0$,(B FLIM$B$H$J$j$^$9!#(B@refill +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