update.
[elisp/semi.git] / mime-ui-en.texi
1 \input texinfo.tex
2 @setfilename mime-ui-en.info
3 @settitle{SEMI 1.8 Manual}
4 @titlepage
5 @title SEMI 1.8 Manual
6 @author MORIOKA Tomohiko <morioka@@jaist.ac.jp>
7 @subtitle 1998/07/03
8 @end titlepage
9 @node Top, Introduction, (dir), (dir)
10 @top SEMI 1.8 Manual
11
12 @ifinfo
13
14 This file documents SEMI, a MIME user interface for GNU Emacs.
15 @end ifinfo
16
17 @menu
18 * Introduction::                What is SEMI?
19 * MIME-View::                   MIME message viewing
20 * MIME-Edit::                   MIME message editing
21 * Various::                     Miscellaneous
22 * Concept Index::               
23 * Function Index::              
24 * Variable Index::              
25 @end menu
26
27 @node Introduction, MIME-View, Top, Top
28 @chapter What is SEMI?
29
30 SEMI is a package for GNU Emacs to provide features related with MIME
31 user interface.@refill
32
33 SEMI \e$B$,Ds6!$9$k\e(B MIME user interface \e$B$O\e(B MIME-View \e$B$H\e(B MIME-Edit \e$B$+$i$J$j$^\e(B
34 \e$B$9!#\e(B@refill
35
36  
37 MIME-View \e$B$O\e(B MIME \e$B$d\e(B STD 11 \e$B$*$h$S!XCO0h2=$5$l$?\e(B RFC 822\e$B!Y\e(Bmessage \e$B$rI=<(\e(B
38 \e$B$7$?$j!"A`:n$7$?$j$9$k$?$a$N\e(B user interface \e$B$NCf3K$G$9!#\e(B@refill
39
40 MIME-Edit \e$B$O\e(B MIME message \e$B$r@8@.$9$k$?$a$N\e(B user interface \e$B$G$9!#\e(B@refill
41
42 \e$B3F\e(B MUA \e$B$G$3$l$i$N5!G=$rMxMQ$9$k$3$H$K$h$j!"9bEY$J\e(B MIME \e$B5!G=$rMxMQ$9$k$3\e(B
43 \e$B$H$,$G$-$^$9!#\e(B
44
45
46 @node MIME-View, MIME-Edit, Introduction, Top
47 @chapter MIME message viewing
48
49 MIME-View \e$B$O\e(B GNU Emacs \e$B$GF0:n$9$kHFMQE*$J\e(B MIME viewer \e$B$G$9!#\e(B@refill
50
51 MIME-View \e$B$O\e(B MIME message \e$B$r1\Mw$9$k$?$a$NMxMQ<T3&LL\e(B (user interface) 
52 \e$B$N3K$G$"$j!"$3$N>e$G\e(B presentation-method \e$B$H8F$P$l$kI=<($r:n$k%W%m%0%i%`\e(B
53 \e$B$rF0$+$7$?$j!"\e(Bacting-method \e$B$H8F$P$l$k\e(B entity \e$B$N=hM}%W%m%0%i%`$rF0$+$9\e(B
54 \e$B$3$H$,2DG=$G!"$5$^$6$^$J<oN`$N\e(B entity \e$B$r07$&;v$,$G$-$k$h$&$K$J$C$F$$$^$9!#\e(B
55
56
57 @menu
58 * Overview of MIME-View::       Basic design
59 * MIME-Preview::                Presentation of mime-preview-buffer
60 * mime-view-mode::              Operation in mime-preview-buffer
61 @end menu
62
63 @node Overview of MIME-View, MIME-Preview, MIME-View, MIME-View
64 @section Basic design
65
66 Internet \e$B$NEE;R=q4J!&%M%C%H%K%e!<%9$J$I$N=qLL\e(B (message) \e$B$NI=8=7A<0$O\e(B STD
67 11 \e$B$K4p$E$$$F$$$^$9!#\e(BSTD 11 \e$B$N=qLLK\BN\e(B (message body) \e$B$O9T$rM#0l$N9=B$$H\e(B
68 \e$B$9$k4J0WJ8LL\e(B (plain text) \e$B$G$"$j!"J8;zId9f$b\e(B us-ascii \e$B$HDj$a$i$l$F$$$^$9!#\e(B
69 \e$B<B:]$K$O!"J8;zId9f$r\e(B us-ascii \e$B$NBe$o$j$K$=$N8@8l7w$GMQ$$$i$l$kJ8;zId9f$H\e(B
70 \e$B$7$?!XCO0h2=$5$l$?\e(B STD 11\e$B!Y=qLL$bMQ$$$i$l$F$-$^$7$?$,!"$3$N>l9g$b=qLL$N\e(B
71 \e$BJ8;zId9f$O#1$D$G$9!#$3$N$?$a!"MxMQ<T3&LL\e(B (Message User Agent) \e$B$O!"$7$P$7\e(B
72 \e$B$P!"\e(Bbyte \e$BNs\e(B = us-ascii \e$BJ8;zNs!"$J$$$7$O!"\e(Bbyte \e$BNs\e(B = \e$B$=$N8@8l7w$GMQ$$$kJ8\e(B
73 \e$B;zId9f$NJ8;zNs$N$h$&$K8+Jo$7$F$-$^$7$?!#\e(B@refill
74
75 \e$B$7$+$7$J$,$i!"\e(BMIME \e$B$G$O=qLL$O\e(B entity \e$B$rC10L$H$9$kLZ9=B$$K$J$j!"$^$?!"#1\e(B
76 \e$B$D$N=qLL$GJ#?t$NJ8;zId9f$rMQ$$$k$3$H$,$G$-$^$9!#$^$?!"\e(Bentity \e$B$NFbMF$OJ8\e(B
77 \e$BLL$d3($N$h$&$JC1=c$KI=<(2DG=$J$b$N$@$1$G$J$/!"2;@<$dF02h$J$I$N0lDj;~4V:F\e(B
78 \e$B@8$5$l$k$h$&$J$b$N$dFCDj$N%"%W%j%1!<%7%g%s$N%G!<%?$d%W%m%0%i%`$N%=!<%9!"\e(B
79 \e$B$"$k$$$O!"\e(Bftp \e$B$d\e(B mail service \e$B$NMxMQK!$d\e(B URL \e$B$H$$$C$?7A$GI=$5$l$?30It;2\e(B
80 \e$B>H$J$I$N$5$^$6$^$J$b$N$,9M$($i$^$9!#$3$N$?$a!"I=<($@$1$r9M$($F$$$?\e(B STD
81 11 \e$B$K$*$1$kMxMQ<T3&LL$NC1=c$J1dD9$G$O\e(B MIME \e$B$NA4$F$N5!G=$r07$&$3$H$O$G$-\e(B
82 \e$B$^$;$s!#$D$^$j!"\e(BMIME \e$B$N7A<0$K9g$o$;$FI|9f$9$k$@$1$G$OIT==J,$G$"$j!"MxMQ\e(B
83 \e$B<T$H$NBPOCE*$J:F@8=hM}$r9MN8$9$kI,MW$,$"$j$^$9!#\e(BMIME \e$B=qLL$N7A<0$O<+F0=h\e(B
84 \e$BM}$,$7$d$9$/@_7W$5$l$F$$$^$9$,!"\e(BMIME \e$B=qLL$K4^$^$l$kFbMF$NCf$K$O%;%-%e%j\e(B
85 \e$B%F%#!<>e$NLdBj$+$i<+F0=hM}$r$9$k$Y$-$G$J$$$b$N$,$"$j!"$3$&$$$C$?$b$N$N:F\e(B
86 \e$B@8$K4X$7$F$OMxMQ<T$NH=CG$r6D$0$h$&$K@_7W$5$l$k$Y$-$G$7$g$&!#7k6I!"\e(BMIME 
87 \e$B=qLL$r07$&$?$a$K$O\e(B STD 11 \e$B$*$h$S\e(B MIME \e$B$N9=J8$G5-=R$5$l$?%a%C%;!<%8$N>pJs\e(B
88 \e$B8r49MQI=8=$H$=$N2r<a7k2L$G$"$kI=<(2hLL$d:F@8Ey$N=hM}$r6hJL$7$F9M$($kI,MW\e(B
89 \e$B$,$"$j$^$9!#$^$?!"MxMQ<T$H$NBPOCE*$J:F@8=hM}$,I,MW$G$9!#\e(B@refill
90
91 \e$B$3$N$?$a!"\e(BMIME-View \e$B$O#1$D$N=qLL$KBP$7$F!">pJs8r49MQI=8=$r3JG<$9$k\e(B 
92 mime-raw-buffer \e$B$HI=<(MQI=8=$r3JG<$9$k\e(B mime-preview-buffer \e$B$N#2$D$N\e(B 
93 buffer \e$B$rMQ$$$^$9!#\e(B@refill
94
95 MIME-View \e$B$O\e(B mime-preview-buffer \e$B$KBP$7$F\e(B mime-view-mode \e$B$H$$$&\e(B MIME
96 message \e$B$r1\Mw$9$k$?$a$N\e(B mode \e$B$rDs6!$7$^$9!#MxMQ<T$O$3$3$G3F\e(B entity \e$B$K\e(B
97 \e$BBP$7$FA`:n$r9T$&$3$H$,$G$-$^$9!#\e(B
98
99
100 @node MIME-Preview, mime-view-mode, Overview of MIME-View, MIME-View
101 @section Presentation of mime-preview-buffer
102
103 mime-view-mode \e$B$G$O3F\e(B entity \e$B$KBP$7$F\e(B@refill
104
105 @example
106         [entity-button]
107         (header)
108         
109         (body)
110         (separator)
111 @end example
112
113 @noindent
114 \e$B$H$$$&>pJs$rI=<($7$^$9!#$3$l$i$O>r7o$K=>$C$F\e(B design \e$B$rJQ99$7$?$j!"I=<(\e(B
115 \e$B$rM^@)$9$k$3$H$b$G$-$^$9!#\e(B
116
117 \e$B0J2<$K!"I=<(Nc$r<($7$^$9!#\e(B
118
119
120 @example
121 From: morioka@@jaist.ac.jp (\e$B<i2,\e(B \e$BCNI'\e(B / MORIOKA Tomohiko)
122 Subject: Re: \e$B<ALd!)\e(B
123 Newsgroups: zxr.message.mime
124 Date: 22 Oct 93 11:02:44
125 Mime-Version: 1.0
126 Organization: Japan Advanced Institute of Science and Technology,
127         Ishikawa, Japan
128
129 [1  (text/plain)]
130   MIME-Edit mode \e$B$K$*$1$k!"\e(BMIME message \e$B$N:n$jJ}!#\e(B
131
132   C-c C-x ? \e$B$r2!$9$H\e(B help \e$B$,=P$F$/$k!#\e(B
133
134 C-c C-x C-t     insert a text message.
135 C-c C-x TAB     insert a (binary) file.
136 C-c C-x C-e     insert a reference to external body.
137 C-c C-x C-v     insert a voice message.
138 C-c C-x C-y     insert a mail or news message.
139 C-c C-x RET     insert a mail message.
140 C-c C-x C-s     insert a signature file at end.
141 C-c C-x t       insert a new MIME tag.
142 C-c C-x a       enclose as multipart/alternative.
143 C-c C-x p       enclose as multipart/parallel.
144 C-c C-x m       enclose as multipart/mixed.
145 C-c C-x d       enclose as multipart/digest.
146 C-c C-x s       enclose as PGP signed.
147 C-c C-x e       enclose as PGP encrypted.
148 C-c C-x C-k     insert PGP public key.
149 C-c C-x C-p     preview editing MIME message.
150 ...
151
152 \e$B$C$FLu$G!"\e(BC-c C-x C-i \e$B$r2!$7$F!"A^F~$7$?$$\e(B binary file \e$B$r;XDj$7$^$9!#\e(B
153
154   binary file \e$B$N\e(B MIME encoding \e$B$K$O!"IaDL!"\e(BBase64 \e$B$r;XDj$7$^$9!#\e(B
155
156 [2  (image/gif)]
157
158 [3  (text/plain)]
159
160   \e$B$3$s$JIw$K!"3(F~$j\e(B message \e$B$N$G$->e$,$j!#\e(B
161
162 \e$B".".".".".".".".".".".\e(B \e$B%m%7%"%s!&%F%#!<$r0lGU!#\e(B \e$B".".".".".".".".".".".\e(B
163 \e$B".".".".".\e(B  \e$B!y\e(B \e$B%8%c%`$G$O$J$/%^!<%^%l!<%I$G$b$J$/K*L*$G\e(B \e$B!y\e(B  \e$B".".".".".\e(B
164 \e$B".".".".".\e(B         \e$B'.'0'2$$'0','!\e(B  \e$B'4'0'.'0'7'*','0\e(B         \e$B".".".".".\e(B
165 \e$B".".".".".".".\e(B  Internet E-mail: <morioka@@jaist.ac.jp>  \e$B".".".".".".".\e(B
166 @end example
167
168
169
170 @menu
171 * entity-button::               
172 * entity-header::               
173 * entity-body::                 
174 @end menu
175
176 @node entity-button, entity-header, MIME-Preview, MIME-Preview
177 @subsection entity-button
178 @cindex entity-number
179 @cindex entity-button
180
181 @strong{entity-button} \e$B$O\e(B entity \e$B$N@hF,$K$"$C$F!"$=$N\e(B entity \e$B$K4X$9$kBg\e(B
182 \e$B$^$+$J>pJs$rI=<($9$kItJ,$G$9!#\e(B@refill
183
184 \e$BI8=`$G$O\e(B
185
186 @example
187         [1.3 test (text/plain)]
188 @end example
189
190 @noindent
191 \e$B$N$h$&$J46$8$KI=<($5$l$^$9!#\e(B
192
193 \e$B:G=i$N?t;z$O\e(B message \e$BCf$N$3$N\e(B entity \e$B$N0LCV$r@aHV9f$N$h$&$KI=$7$?$b$N$G!"\e(B
194 @strong{entity-number} \e$B$H8F$S$^$9!#\e(B@refill
195
196 \e$B#2HVL\$NJ8;zNs$OI=Bj$rI=$7$^$9!#$3$N>pJs$O!"\e(B
197
198 @enumerate
199 @item
200 Content-Description field \e$B$b$7$/$O\e(B Subject field \e$B$K=q$+$l$?I=Bj\e(B
201 @item
202 Content-Disposition field \e$B$N\e(B filename parameter \e$B$K=q$+$l$?\e(B file \e$BL>\e(B
203 @item
204 Content-Type field \e$B$N\e(B name parameter \e$B$K=q$+$l$?\e(B file \e$BL>\e(B
205 @item
206  uuencode \e$B$N>l9g$N\e(B file \e$BL>\e(B
207 @end enumerate
208
209 @noindent
210 \e$B$+$i:n$j$^$9!#$I$l$bB8:_$7$J$$>l9g$O6uGr$,I=<($5$l$^$9!#\e(B
211
212 \e$B#3HVL\$N3g8L$NCf$N>pJs$O$=$N\e(B entity \e$B$N\e(B media-type/subtype \e$B$rI=$7$^$9!#Hs\e(B 
213 MIME entity \e$B$N>l9g!"\e(B@code{nil} \e$B$,I=<($5$l$^$9!#\e(B@refill
214
215 \e$B$3$N\e(B entity-button \e$B$O\e(B entity \e$B$NFbMF$r>]D'$9$k\e(B icon \e$B$N$h$&$JLr3d$r2L$?\e(B
216 \e$B$7$^$9!#Nc$($P!"\e(B
217
218 @example
219         [2  (image/gif)]
220 @end example
221
222 @noindent
223 \e$B$N>e$G\e(B @kbd{v} \e$B$r2!$;$P$3$3$KF~$C$F$$$k3($,I=<($5$l$^$9!#\e(B
224
225 \e$B$^$?!"\e(Bmouse \e$BA`:n$,2DG=$J>l9g!"\e(Bentity-button \e$B$rBh#2%\%?%s!J\e(B3 button
226 mouse \e$B$N>l9g!"Cf1{$N%\%?%s!K$G2!$;$P!"F1MM$K$=$N3($,I=<($5$l$^$9!#\e(B
227
228
229 @node entity-header, entity-body, entity-button, MIME-Preview
230 @subsection entity-header
231 @cindex entity-header
232
233 @strong{entity-header} \e$B$O$"$k\e(B entity \e$B$N\e(B header \e$B$rI=<($9$kIt\e(B
234 \e$BJ,$G$9!J!V$=$N$^$^$d$s$1!W$C$FE\$i$J$$$G!#$=$&$$$&$b$s$J$s$G$9!K!#\e(B
235
236
237 @node entity-body,  , entity-header, MIME-Preview
238 @subsection entity-body
239 @cindex entity-body
240
241 @strong{entity-body} \e$B$O\e(B part \e$B$NFbMF$rI=<($9$kItJ,$G$9!#\e(B@refill
242
243 \e$B$3$l$b$R$M$j$,B-$j$J$$$G$9$,!"$^$"!"$=$&$$$&$b$s$G$9!#\e(B@refill
244
245 \e$B$H$O$$$(!"<B:]$K$O>/$7$R$M$C$F$^$9!#\e(B@refill
246
247 text entity \e$B$N>l9g$O\e(B charset \e$B$K1~$8$F\e(B code \e$BJQ49$7$?$j$7$^$9$7!"\e(BXEmacs \e$B$G\e(B
248 \e$B$O\e(B image entity \e$B$rJQ49$7$J$$$H$$$1$J$$$7!#\e(B@refill
249
250 \e$B>\$7$/$O$^$?8e$G!#\e(B
251
252
253 @node mime-view-mode,  , MIME-Preview, MIME-View
254 @section Operation in mime-preview-buffer
255
256 mime-preview-buffer \e$B$K$O0J2<$N5!G=$,$"$j$^$9!#\e(B@refill
257
258 @table @kbd
259 @item @key{u}
260 \e$B>e$N\e(B part \e$B$KLa$k!J\e(Bmessage \e$B$N0lHV>e$N\e(B part \e$B$G$3$l$r9T$J$&$H\e(B Summary
261 mode \e$B$KLa$k\e(B (*1)\e$B!K\e(B
262
263 @item @key{p}
264 \e$BA0$N\e(B part \e$B$K0\F0$9$k\e(B
265
266 @item @key{M-TAB}
267 \e$BA0$N\e(B part \e$B$K0\F0$9$k\e(B
268
269 @item @key{n}
270 \e$B<!$N\e(B part \e$B$K0\F0$9$k\e(B
271
272 @item @key{TAB}
273 \e$B<!$N\e(B part \e$B$K0\F0$9$k\e(B
274
275 @item @key{SPC}
276 scroll up \e$B$9$k\e(B
277
278 @item @key{M-SPC}
279 scroll down \e$B$9$k\e(B
280
281 @item @key{DEL}
282 scroll down \e$B$9$k\e(B
283
284 @item @key{RET}
285 \e$B<!$N9T$K0\F0$9$k\e(B
286
287 @item @key{M-RET}
288 \e$BA0$N9T$K0\F0$9$k\e(B
289
290 @item @key{v}
291 part \e$B$r:F@8$9$k\e(B (*2)
292
293 @item @key{e}
294 part \e$B$+$i\e(B file \e$B$r<h$j=P$9\e(B (*2)
295
296 @item @key{C-c C-p}
297 part \e$B$r0u:~$9$k\e(B (*2)
298
299 @item @key{mouse-button-2}
300 preview-buffer \e$BCf$N\e(B mouse button \e$B$r5/F0$9$k\e(B
301
302 content-button \e$B$r2!$;$P!"$=$N\e(B part \e$B$,:F@8$5$l$k\e(B(*2)@refill
303
304 URL-button \e$B$r2!$;$P!"$=$N\e(B WWW browser \e$B$,5/F0$5$l$k\e(B@refill
305
306 @end table
307
308 @noindent
309 @strong{[\e$BCm0U\e(B]}
310 @quotation
311
312 (*1) MUA \e$B$G\e(B mime-view \e$B$N@_Dj$r$7$F$$$J$$>l9g!"\e(BSummary mode \e$B$K$OLa$j$^$;\e(B
313 \e$B$s!#\e(B@refill
314
315 (*2) \e$B<B:]$NF0:n$OBP1~$9$k\e(B method \e$B$K0M$j$^$9!#\e(B
316 @end quotation
317
318
319
320 @node MIME-Edit, Various, MIME-View, Top
321 @chapter MIME message editing
322 @cindex MIME-Edit
323
324 @strong{MIME-Edit} is a general MIME composer for GNU Emacs.
325
326
327 @menu
328 * mime-edit-mode::              Minor-mode to edit MIME message
329 * single-part tags::            Operations for single-part
330 * enclosure tags::              Operations for enclosure
331 * other MIME-Edit operations::  Other operations
332 * file-type specification::     How to detect tag for inserted file
333 * transfer level::              
334 @end menu
335
336 @node mime-edit-mode, single-part tags, MIME-Edit, MIME-Edit
337 @section Minor-mode to edit MIME message
338 @cindex enclosure
339 @cindex multi-part ending tag
340 @cindex multi-part beginning tag
341 @cindex tag
342 @cindex mime-edit-mode
343
344 @strong{mime-edit-mode} is a minor mode to compose MIME message.  In
345 this mode, @strong{tag} represents various kinds of data, so you can
346 edit multi part message consists of various kinds of data, such as text,
347 image, audio, etc.@refill
348
349 There are 2 kinds of tags:
350
351 @itemize @bullet
352 @item
353  single-part tag
354 @item
355  multi-part tag
356 @end itemize
357
358 single-part tag represents single part, this form is following:@refill
359
360 @example
361         --[[TYPE/SUBTYPE;PARAMETERS][ENCODING]
362         OPTIONAL-FIELDS]
363 @end example
364
365 TYPE/SUBTYPE and PARAMETERS indicates type/subtype and parameters of
366 Content-Type (@ref{(mime-en)Content-Type}) field.  TYPE/SUBTYPE is
367 required, PARAMETERS is optional.@refill
368
369 ENCODING indicates Content-Transfer-Encoding
370 (@ref{(mime-ja)Content-Transfer-Encoding}) field.  It is optional
371 too.@refill
372
373 OPTIONAL-FIELDS is to represent another fields except Content-Type field
374 and Content-Transfer-Encoding field.@refill
375
376 multi-part tags represent multi part (@ref{(mime-en)multipart}).  They
377 consist of a pair of @strong{multi-part beginning tag} and
378 @strong{multi-part ending tag}.@refill
379
380 multi-part beginning tag's form is following:
381
382 @example
383         --<<TYPE>>-@{
384 @end example
385
386 multi-part ending tag's form is following:
387
388 @example
389         --@}-<<TYPE>>
390 @end example
391
392 A region from multi-part beginning tag to multi-part ending tag is
393 called as @strong{enclosure}.
394
395
396 @node single-part tags, enclosure tags, mime-edit-mode, MIME-Edit
397 @section Operations for single-part
398
399 Operations to make single-part are following:
400
401 @table @kbd
402 @item @key{C-c C-x C-t}
403 Insert single-part tag indicates text part.
404
405 @item @key{C-c C-x C-i}
406 Insert file as a MIME attachment.  If @kbd{C-u} is followed by it, it
407 asks media-type, subtype or encoding even if their default values are
408 specified. (cf. @ref{tag specification for inserted file})
409
410 @item @key{C-c C-x C-e}
411 Insert external part.
412
413 @item @key{C-c C-x C-v}
414 Record audio input until @kbd{C-g} is pressed, and insert as a
415 audio part. (It requires /dev/audio in default.)
416
417 @item @key{C-c C-x C-y}
418 Insert current (mail or news) message. (It is MUA depended.)
419
420 @item @key{C-c C-x C-m}
421 Insert mail message. (It is MUA depended.)
422
423 @item @key{C-c C-x C-w}, @key{C-c C-x C-s}
424 Insert signature.
425
426 @item @key{C-c C-x C-k}
427 Insert PGP (@ref{PGP}) public key. (It requires Mailcrypt package.)
428
429 @item @key{C-c C-x t}
430 Insert any single-part tag.
431
432 @end table
433
434
435
436 @node enclosure tags, other MIME-Edit operations, single-part tags, MIME-Edit
437 @section Operations for enclosure
438
439 Operations to make enclosure are following:
440
441 @table @kbd
442 @item @key{C-c C-m C-a}
443 Enclose specified region as multipart/alternative.
444
445 @item @key{C-c C-x C-p}
446 Enclose specified region as multipart/parallel.
447
448 @item @key{C-c C-x C-m}
449 Enclose specified region as multipart/mixed.
450
451 @item @key{C-c C-x C-d}
452 Enclose specified region as multipart/digest.
453
454 @item @key{C-c C-x C-s}
455 Digital-sign to specified region. (cf. @ref{PGP})
456
457 @item @key{C-c C-x C-e}
458 Encrypt to specified region. (cf. @ref{PGP})
459
460 @item @key{C-c C-x C-q}
461 avoid to encode tags in specified region.  In other words, tags is
462 interpreted as such string.  (In current version, it may be
463 incomplete.  Maybe PGP-signature does not work for this enclosure.)
464
465 @end table
466
467
468
469 @node other MIME-Edit operations, file-type specification, enclosure tags, MIME-Edit
470 @section Other operations
471
472 There are another operations in mime-edit-mode.
473
474 @table @kbd
475 @item @key{C-c C-c}
476 Send current editing message.
477
478 @item @key{C-c C-x p}
479 Preview current editing message. (cf. @ref{MIME-View})
480
481 @item @key{C-c C-x C-z}
482 Exit mime-edit-mode without sending.
483
484 @item @key{C-c C-x /}
485 Set current editing message to enable automatic splitting or not.
486 Form of automatic split messages is message/partial.
487
488 @item @key{C-c C-x 7}
489 Set 7bit (@ref{(mime-en)7bit}) to transfer level (@ref{transfer level}).
490
491 @item @key{C-c C-x 8}
492 Set 8bit (@ref{(mime-en)8bit}) to transfer level (@ref{transfer level}).
493
494 @item @key{C-c C-x v}
495 Set current editing message to digital-sign or not. (cf. @ref{PGP})
496
497 @item @key{C-c C-x h}
498 Set current editing message to encrypt or not. (cf. @ref{PGP})
499
500 @item @key{C-c C-x ?}
501 Display help message.
502
503 @end table
504
505
506
507 @node file-type specification, transfer level, other MIME-Edit operations, MIME-Edit
508 @section How to detect tag for inserted file
509
510 When @kbd{C-c C-x C-i} (@code{mime-edit-insert-file}) is pressed, tag
511 parameters for inserted file, such as media-type or encoding, are
512 detected by variable @code{mime-file-types}.@refill
513
514 When @kbd{C-u} is followed by it or parameter is not found from the
515 variable, it asks from user.  (When @kbd{C-u} is followed by it,
516 detected value is used as default value)@refill
517
518 If you want to change default value for file names, please change
519 variable @code{mime-file-types}.
520
521 @defvar mime-file-types
522
523 Specification of default value of tag for file name of inserted
524 file.@refill
525
526 It is a list of following list:
527
528 @lisp
529         (FILE_PAT TYPE SUBTYPE PARAMS ENCODING
530          DISPOSITION_TYPE DISPOSITION_PARAMS)
531 @end lisp
532
533
534 Each element of the list is following:
535
536 @table @samp
537 @item FILE_PAT
538 regular expression of file name
539
540 @item TYPE
541 primary-type of media-type
542
543 @item SUBTYPE
544 subtype of media-type
545
546 @item PARAMS
547 parameters of Content-Type field
548
549 @item ENCODING
550 Content-Transfer-Encoding
551
552 @item DISPOSITION_TYPE
553 disposition-type
554
555 @item DISPOSITION_PARAMS
556 parameters of Content-Disposition field
557
558 @end table
559
560 @noindent
561 Example: Specify application/rtf as default media type for
562 @file{*.rtf}
563
564 @lisp
565 (eval-after-load
566     "mime-edit"
567   '(set-alist 'mime-file-types
568               "\\.rtf$"
569               '("application" "rtf" nil nil
570                 "attachment" (("filename" . file)))
571               ))
572 @end lisp
573 @end defvar
574
575
576
577 @node transfer level,  , file-type specification, MIME-Edit
578 @section transfer level
579 @cindex transfer level
580
581 Each content inserted in a message is represented by 7bit
582 (@ref{(mime-en)7bit}), 8bit (@ref{(mime-en)8bit}) or binary
583 (@ref{(mime-en)binary}).@refill
584
585 If a message is translated by 7bit-through MTA (@ref{(mime-en)MTA}),
586 there is no need to encode 7bit data, but 8bit and binary data must be
587 encoded to 7bit data.@refill
588
589 Similarly, if a message is translated by 8bit-through MTA, there is no
590 need to encode 7bit or 8bit data, but binary data must be encoded to
591 7bit or 8bit data.@refill
592
593 @noindent
594 @strong{[Memo]}
595 @quotation
596 EBCDIC MTA breaks 7bit data, so in this case, 7bit data must be
597 encoded by base64.  But I don't know EBCDIC. (^_^;
598
599 Similarly, I wish ASCII-printable only MTA and code-conversion MTA
600 disappeared. (^_^;@refill
601
602 Maybe there are binary-through MTA, but I think it is not major.
603 @end quotation
604
605 @strong{transfer level} represents how range data are
606 available.  mime-edit has a variable @code{mime-transfer-level}
607 to represent transfer level.
608
609
610 @defvar mime-transfer-level
611
612 transfer level.@refill
613
614 If transfer level of a data is over it, a data is encoded to
615 7bit.@refill
616
617 Currently, 7 or 8 is available.  Default value is 7.@refill
618
619 In extension plan, EBCDIC will be 5, ASCII printable only will be 6,
620 binary will be 9.  But it will not be implemented.
621 @end defvar
622
623
624
625 @noindent
626 @strong{[Memo]}
627 @quotation
628 transfer level is only for body, not for message header (@ref{header}).
629 MIME extends RFC 822 (@ref{(mime-en)RFC 822}) to use 8bit data in body,
630 but it requires to use us-ascii (@ref{(mime-en)us-ascii}) in header.
631 @end quotation
632
633
634
635 @node Various, Concept Index, MIME-Edit, Top
636 @chapter Miscellaneous
637
638
639 @menu
640 * PGP::                         
641 * Buttons::                     Mouse button
642 * Acting-condition configuration::  Utility for configuration
643 @end menu
644
645 @node PGP, Buttons, Various, Various
646 @section PGP
647 @cindex PGP-kazu
648 @cindex PGP/MIME
649
650 mime-edit provides PGP encryption, signature and inserting public-key
651 features based on @strong{PGP/MIME} (RFC 2015) or @strong{PGP-kazu}
652 (draft-kazu-pgp-mime-00.txt).@refill
653
654 This feature requires pgp command and pgp interface package, such as
655 Mailcrypt package (@ref{(mailcrypt)}).
656
657 @defvar pgp-function-alist
658
659 Alist of service names vs. corresponding functions and its filenames.
660 Each element looks like @code{(SERVICE FUNCTION FILE)}.@refill
661
662 SERVICE is a symbol of PGP processing.  It allows `verify', `decrypt',
663 `fetch-key', `snarf-keys', `mime-sign', `traditional-sign', `encrypt' or
664 `insert-key'.@refill
665
666 Function is a symbol of function to do specified SERVICE.@refill
667
668 FILE is string of filename which has definition of corresponding
669 FUNCTION.
670 @end defvar
671
672
673 @defun pgp-function method
674
675 Return function to do service @var{method}.
676 @end defun
677
678
679
680 @node Buttons, Acting-condition configuration, PGP, Various
681 @section Mouse button
682
683 @defvar mime-button-face
684
685 Face used for content-button or URL-button of MIME-Preview buffer.
686 @end defvar
687
688
689 @defvar mime-button-mouse-face
690
691 Face used for MIME-preview buffer mouse highlighting.
692 @end defvar
693
694
695 @defvar mime-browse-url-function
696
697 Function to browse URL.
698 @end defvar
699
700
701
702 @node Acting-condition configuration,  , Buttons, Various
703 @section Utility for configuration
704
705 @defun mime-add-condition target-type condition  &optional  mode file
706
707 Add @var{condition} to database specified by @var{target-type}.@refill
708
709 @var{target-type} must be @code{preview} or @code{action}.@refill
710
711 If optional argument @var{mode} is @code{strict} or @code{nil}
712 (omitted), @var{condition} is added strictly.@refill
713
714 If optional argument @var{mode} is @code{with-default}, @var{condition}
715 is added with default rule.@refill
716
717 If optional argument @var{file} is specified, it is loaded when
718 @var{condition} is activate.
719 @end defun
720
721
722
723 @node Concept Index, Function Index, Various, Top
724 @chapter Concept Index
725
726 @printindex cp
727
728 @node Function Index, Variable Index, Concept Index, Top
729 @chapter Function Index
730
731 @printindex fn
732
733 @node Variable Index,  , Function Index, Top
734 @chapter Variable Index
735
736 @printindex vr
737 @bye