Introduction
+
+tm-edit $B$O(B GNU Emacs $B$GF0:n$9$kHFMQE*$J(B MIME
+composer $B$G$9!#(B
tm-edit $B$O(B GNUS $B$N:n$J(B $BG_ED(B $B@/?.(B
umerin@mse.kyutech.ac.jp $B$5$s$,=q$+$l$?(B
@@ -25,10 +35,9 @@ RFC 1521/1522 $B2=(B
Content-Disposition
field (RFC 1806) $B$NMxMQ(B
-$BF~$l;R$K$J$C$?(B multi-part
-message
+$BF~$l;R$K$J$C$?(B multi-part message
-
+PGP
file type $B$K$*$1$k(B parameter $B$N<+F0;XDj$N6/2=(B
@@ -36,17 +45,17 @@ file type $B$K$*$1$k(B parameter $B$N<+F0;XDj$N6/2=(B
$B$J$I$N2~NI$r9T$$$^$7$?!#(B
- $B$G$O(B tm-edit $B$r;H$&$3$H$K$h$j!"MF0W(B
-$B$K(B MIME message $B$r:n@.$G$-$^$9!#(B
-
+tm-MUA $B$G$O(B tm-edit $B$r;H$&$3$H$K$h$j!"MF0W$K(B
+MIME message $B$r:n@.$G$-$^$9!#(B
+
mime/editor-mode
mime/editor-mode
- $B$O(B MIME message $B$r:n@.$9$k$?$a$N(B
-minor mode $B$G$9!#$3$N(B mode $B$G$O(B $B$r;H$C$F$5$^$6$^(B
-$B$J$BJ#?t$NItJ,$+(B
-$B$i$J$k(B message $B$rJT=8$9$k$3$H$r2DG=$K$7$F$$$^$9!#(B
+mime/editor-mode $B$O(B MIME message $B$r:n@.$9$k$?$a$N(B
+minor mode $B$G$9!#$3$N(B mode $B$G$O(B tag $B$r;H$C$F$5$^$6(B
+$B$^$J$BJ#?t$NItJ,(B
+$B$+$i$J$k(B message $B$rJT=8$9$k$3$H$r2DG=$K$7$F$$$^$9!#(B
tag $B$K$O(B
@@ -68,9 +77,9 @@ single-part tag $B$O(B single part $B$rI=8=$9$k$?$a$N(B tag $B$G!"(B
$B$H$$$&$h$&$J7A$r$7$F$$$^$9!#(B
-TYPE/SUBTYPE $B$*$h$S(B PARAMETERS $B$O(B $B$N(B type/subtype $B$*$h$S(B parameters $B$rI=$7$^(B
-$B$9!#(BTYPE/SUBTYPE $B$OI,?\$G$"$j!"(BPARAMETERS $B$O>JN,2D$G$9!#(B
+TYPE/SUBTYPE $B$*$h$S(B PARAMETERS $B$O(B Content-Type
+field $B$N(B type/subtype $B$*$h$S(B parameters $B$rI=$7$^$9!#(B
+TYPE/SUBTYPE $B$OI,?\$G$"$j!"(BPARAMETERS $B$O>JN,2D$G$9!#(B
ENCODING $B$O(B Content-Transfer-Encoding field $B$rI=$7$^$9!#$3$l$b>JN,2D$G(B
$B$9!#(B
@@ -86,19 +95,19 @@ multi-part tag $B$O(B multi part $B$rI=
-$B$H$$$&7A$N(B $B$H8F$P$l$k(B multi part
-$B$N3+;O$r<($9(B tag $B$H(B
+$B$H$$$&7A$N(B multi-part $B3+;O(B tag $B$H8F$P$l$k(B multi
+part $B$N3+;O$r<($9(B tag $B$H(B
--@}-<>
-$B$H$$$&7A$N(B $B$H8F$P$l$k(B multi part
-$B$N=*N;$r<($9(B tag $B$,$"$j$^$9!#(B
+$B$H$$$&7A$N(B multi-part $B=*N;(B tag $B$H8F$P$l$k(B multi
+part $B$N=*N;$r<($9(B tag $B$,$"$j$^$9!#(B
$B$^$?!"(Bmulti-part $B3+;O(B tag $B$H(B multi-part $B=*N;(B tag $B$G0O$^$l$?ItJ,$r(B
- $B$H8F$S$^$9!#(B
+enclosure $B$H8F$S$^$9!#(B
single-part $B$KBP$9$kA`:n(B
@@ -113,7 +122,9 @@ text part $B$rI=$9(B single-part tag $B$rA^F~$7$^$9!#(B
C-c C-x C-i
-file $B$r(B MIME part $B$H$7$FE:IU$7$^$9!#(B
+file $B$r(B MIME part $B$H$7$FE:IU$7$^$9!#A0$K(B C-u $B$rIU$1$?>l9g!"(B
+$B>o$K(B media-type, subtype $BEy$rJ9$$$FMh$^$9!#(B
C-c C-x C-e
@@ -139,7 +150,7 @@ signature $B$rA^F~$7$^$9!#(B
C-c C-x C-k
- $B$N8x3+80$rA^F~$7$^$9!#(B
+PGP $B$N8x3+80$rA^F~$7$^$9!#(B
C-c C-x t
@@ -171,11 +182,11 @@ enclosure $B$r:n$k$?$a$NA`:n$H$7$F$O0J2<$N$h$&$J$b$N$,$"$j$^$9!#(B
C-c C-x s
-$B;XDj$7$?(B region $B$KEE;R=pL>$r9T$$$^$9!#(B([)
+$B;XDj$7$?(B region $B$KEE;R=pL>$r9T$$$^$9!#(B
]
C-c C-x e
-$B;XDj$7$?(B region $B$r0E9f2=$7$^$9!#(B([)
+$B;XDj$7$?(B region $B$r0E9f2=$7$^$9!#(B
C-c C-x q
$B;XDj$7$?(B region $BFb$N(B tag $B$rL58z$K$7!"$=$N(B tag $B$rJ8;zNs$H$7$FMxMQ$G$-$k(B
@@ -196,8 +207,8 @@ mime/editor-mode $B$K$*$1$k$=$NB>$NA`:n$r@bL@$7$^$9!#(B
C-c C-x C-p
-$BJT=8Cf$N(B message $B$r(B preview $B$7$^$9!#(B(][)
+$BJT=8Cf$N(B message $B$r(B preview $B$7$^$9!#(B
]
C-c C-x C-z
@@ -214,37 +225,96 @@ help message $B$rI=<($7$^$9!#(B
C-c C-x 7
- $B$r(B $B$K$7$^(B
-$B$9!#(B
+transfer level $B$r(B 7bit $B$K$7$^$9!#(B
C-c C-x 8
- $B$r(B $B$K$7$^(B
-$B$9!#(B
+transfer level $B$r(B 8bit $B$K$7$^$9!#(B
C-c C-x v
-message $BA4BN$rEE;R=pL>$9$k$+$I$&$+$r7h$a$^$9!#(B([)
+message $BA4BN$rEE;R=pL>$9$k$+$I$&$+$r7h$a$^$9!#(B
]
C-c C-x h
-message $BA4BN$r0E9f2=$9$k$+$I$&$+$r7h$a$^$9!#(B([)
+message $BA4BN$r0E9f2=$9$k$+$I$&$+$r7h$a$^$9!#(B
C-c C-x ?
help message $B$rI=<($7$^$9!#(B
+] $BA^F~$5$l$k(B file $B$KBP$9$k(B tag $B$N7hDj(B
+ tag specification for inserted file
+
+C-c C-x C-i (mime-editor/insert-file
) $B$rp(B
+$BJs$OJQ?t(B mime-file-types
$B$K$h$C$F(B file $BL>$+$i?dB,$5$l$^$9!#(B
+
+$BA0$K(B C-u $B$rIU$1$?;~!"$*$h$S!"E,Ev$JCM$,8+IU$+$i$J$+$C$?>l9g!"(B
+user $B$KBP$7$FCM$NF~NO$rB%$7$^$9!#!JA0$K(B C-u $B$rIU$1$?;~!"?d(B
+$BB,$5$l$?CM$,4{DjCM$H$7$FMQ$$$i$l$^$9!K(B
+
+file $BL>$KBP$9$k4{DjCM$rJQ$($?$$>l9g$OJQ?t(B mime-file-types
+$B$r@_Dj$7$F2<$5$$!#(B
+
+
+
+$BA^F~$5$l$k(B file $B$N(B file $BL>$KBP$9$k(B tag $B$N4{DjCM$rM?$($k!#(B
+
+$B$3$NJQ?t$O(B
+
+
+ (FILE_PAT TYPE SUBTYPE PARAMS ENCODING
+ DISPOSITION_TYPE DISPOSITION_PARAMS)
+
+
+$B$H$$$&(B list $B$N(B list $B$G!"3FMWAG$O0J2<$NDL$j$G$"$k!'(B
+
+
+- FILE_PAT
+
- file $BL>$rI=$9@55,I=8=(B
+
- TYPE
+
- media type
+
- SUBTYPE
+
- media subtype
+
- PARAMS
+
- Content-Type field $B$N(B parameter
+
- ENCODING
+
- Content-Transfer-Encoding
+
- DISPOSITION_TYPE
+
- disposition-type
+
- DISPOSITION_PARAMS
+
- Content-Disposition field $B$N(B parameter
+
+
+
+$B@_DjNc!'(B *.rtf $B$KBP$9$k(B media type $B$r(B application/rtf $B$K(B
+$B$9$k>l9g(B
+
+
+(call-after-loaded
+ 'tm-edit
+ (lambda ()
+ (set-alist 'mime-file-types
+ "\\.rtf$"
+ '("application" "rtf" nil nil
+ "attachment" (("filename" . file)))
+ )))
+
+
+
+
transfer level
transfer level
-message $B$KA^F~$9$k(B data $B$O(B $B$J$$$7(B $B$b$7$/$O(B
-$B$GI=8=$9$k$3$H$,$G$-$^$9!#(B
+message $B$KA^F~$9$k(B data $B$O(B 7bit $B$J$$$7(B 8bit $B$b$7$/$O(B binary $B$G(B
+$BI=8=$9$k$3$H$,$G$-$^$9!#(B
-$B$h$C$F!"(B7bit $B$7$+DL$5$J$$(B $B$r7PM3$9$k>l(B
-$B9g!"(B7bit $B$N(B data $B$O$=$N$^$^$GAw$l$^$9$,!"(B8bit $B$d(B binary $B$N(B data $B$O(B
-7bit $B$KJQ49$7$J$1$l$P$J$j$^$;$s!#(B
+$B$h$C$F!"(B7bit $B$7$+DL$5$J$$(B MTA $B$r7PM3$9$k>l9g!"(B
+7bit $B$N(B data $B$O$=$N$^$^$GAw$l$^$9$,!"(B8bit $B$d(B binary $B$N(B data $B$O(B 7bit $B$K(B
+$BJQ49$7$J$1$l$P$J$j$^$;$s!#(B
$BF1MM$K!"(B8bit $B$7$+DL$5$J$$(B MTA $B$r7PM3$9$k>l9g!"(B7bit $B$d(B 8bit $B$N(B data $B$O(B
$B$=$N$^$^$GAw$l$^$9$,!"(Bbinary $B$N(B data $B$O(B 7bit $B$+(B 8bit $B$KJQ49$7$J$1$l$P(B
@@ -261,8 +331,8 @@ binary $B$bDL$9(B MTA $B$bB8:_$9$k$s$G$7$g$&$,!":#$N$H$3$m$"$^$j0lHLE*$H$O$$
$B$($J$$$G$7$g$&!#(B
- $B$H$$$&$N$O$I$NHO0O$N(B data $B$^$GAw$l$k$+(B
-$B$H$$$&$3$H$rI=$9$b$N$G$9!#(Btm-edit $B$O(B
+transfer level $B$H$$$&$N$O$I$NHO0O$N(B data $B$^$GAw$l$k(B
+$B$+$H$$$&$3$H$rI=$9$b$N$G$9!#(Btm-edit $B$O(B
mime-editor/transfer-level
$B$H$$$&JQ?t$r;}$C$F$*$j!"$3$l$G(B
transfer level $B$rI=8=$7$^$9!#(B
@@ -284,20 +354,20 @@ EBCDIC $B$r(B 5, ASCII printable $B$N$_$r(B 6, binary $B$r(B 9 $B$H$9$k$3
transfer level $B$O(B message header $B$K$O4X78$7$J$$!#(B
RFC 1521 $B$O(B body $B$K$*$$$F!"(B8bit $B$N(B data $B$r;H$($k$h$&$K(B $B$r3HD%$7$F$$$k$,!"(Bmessage header $B$G$O(B
- $B$N$_$rMQ$$$k$3$H$r5a$a$F$$$k!#(B
+file="tm-ja">RFC 822 $B$r3HD%$7$F$$$k$,!"(Bmessage header $B$G$O(B
+us-ascii $B$N$_$rMQ$$$k$3$H$r5a$a$F$$$k!#(B
header $B$G$NHs(B ASCII $BJ8;z$N;HMQ(B header
- $B$G$O(B header $B$GHs(B ASCII $BJ8;z$rI=8=(B
-$B$9$k$?$a$NJ}K!$rDj5A$7$F$$$^$9!#(B
+RFC 1522 $B$G$O(B header $B$GHs(B ASCII $BJ8;z$rI=8=$9(B
+$B$k$?$a$NJ}K!$rDj5A$7$F$$$^$9!#(B
-$B$3$l$O(B $B$H8F$P$l$k7?<0$G!"(B $B$r@k8@$7!"$+$D!"(B
-$B$GI=8=$9$k$3$H$r2DG=$K$7$F$$$^$9!#(B
+$B$3$l$O(B encoded-word $B$H8F$P$l$k7?<0(B
+$B$G!"(BMIME charset $B$r@k8@$7!"$+$D!"(B7bit $B$GI=8=$9$k$3$H$r2DG=$K$7$F$$$^$9!#(B
$B$I$&$7$F$b(B encoded-word $B$r;H$$$?$/$J$$>l9g(B
@@ -306,12 +376,12 @@ node="MIME charset"> $B$r@k8@$7!"$+$D!"(B
$B$H$3$m$G!"(Bheader $B$G(B encoded-word $B$rMQ$$$:$K@8$GHs(B ASCII $BJ8;zNs$rF~$l$k(B
$B$N$O4V0c$C$F$$$^$9!#$J$<$J$i!"(BInternet $B$G$O$5$^$6$^$J(B$BId9f2=J8;z=89g(B$B$,;H$o$l$F$*$j!"(B$B$rL@<(E*$K@k8@$7$J$1$l$P$=$l$i$r@53N(B
+file="tm-ja">MIME charset $B$rL@<(E*$K@k8@$7$J$1$l$P$=$l$i$r@53N(B
$B$K6hJL$9$k$3$H$O$G$-$J$$$+$i$G$9!#(B
-$BNc$($P!"(BMIME charset $B$r@k8@$7$J$1$l$P(B $B$H(B $B$O8+J,$1$,(B
-$BIU$+$J$$$G$7$g$&!#(B
+$BNc$($P!"(BMIME charset $B$r@k8@$7$J$1$l$P(B iso-8859-1 $B$H(B iso-8859-2
+$B$O8+J,$1$,IU$+$J$$$G$7$g$&!#(B
$B$7$+$7$J$,$i!"$I$&$7$F$b(B encoded-word $B$r;H$$$?$/$J$$>l9g$K$O0J2<$NJQ?t(B
$B$r@_Dj$7$F$/$@$5$$!#(B
@@ -340,9 +410,9 @@ field $BL>$OJ8;zNs$+$i8!:w$5$l!";XDj$7$?J8;zNs$,8+IU$+$i$J$1$l$P(B
-$B$G$"$k!#B($A!"(BX-Nsubject field $B$O@8$N(B , Newsgroup $B$OL5JQ49!"$=$l0J30$N(B field $B$O(B
-encoded-word $B$KJQ49$5$l$k!#(B
+$B$G$"$k!#B($A!"(BX-Nsubject field $B$O@8$N(B iso-2022-jp-2, Newsgroup $B$OL5JQ49!"$=$l0J30$N(B
+field $B$O(B encoded-word $B$KJQ49$5$l$k!#(B
@@ -404,9 +474,9 @@ encoded-word $B$K$9$k$3$H$rI=$9!#(B
PGP
PGP
-tm-edit $B$G$O(B (RFC 2015) $B$*$h$S(B
+tm-edit $B$G$O(B PGP/MIME (RFC 2015) $B$*$h$S(B PGP-kazu
(draft-kazu-pgp-mime-00.txt) $B$K$h$k0E9f2=!&EE;R=pL>!&8x3+80$NA^F~5!G=(B
$B$rMxMQ$9$k$3$H$,$G$-$^$9!#(B
@@ -440,6 +510,18 @@ PGP $B$G$N0E9f2=$N7A<0$r;XDj$7$^$9!#(B
+
$B Acknowledgments
+
+$B:G=i$K!"(Btm-edit $B$NA0?H$H$J$C$?(B mime.el $B$r=q$-!"$=$NG[I[$H(B
+$B2~B$$r$*5v$72<$5$C$?!"G_ED@/?.$5$s$K46
+$B $B35G0:w0z(B
Concept Index