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