Sync up with semi-1_13.
[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.
462
463 @end table
464
465
466
467 @node other MIME-Edit operations, file-type specification, enclosure tags, MIME-Edit
468 @section Other operations
469
470 There are another operations in mime-edit-mode.
471
472 @table @kbd
473 @item @key{C-c C-c}
474 Send current editing message.
475
476 @item @key{C-c C-x p}
477 Preview current editing message. (cf. @ref{MIME-View})
478
479 @item @key{C-c C-x C-z}
480 Exit mime-edit-mode without sending.
481
482 @item @key{C-c C-x /}
483 Set current editing message to enable automatic splitting or not.
484 Form of automatic split messages is message/partial.
485
486 @item @key{C-c C-x 7}
487 Set 7bit (@ref{(mime-en)7bit}) to transfer level (@ref{transfer level}).
488
489 @item @key{C-c C-x 8}
490 Set 8bit (@ref{(mime-en)8bit}) to transfer level (@ref{transfer level}).
491
492 @item @key{C-c C-x v}
493 Set current editing message to digital-sign or not. (cf. @ref{PGP})
494
495 @item @key{C-c C-x h}
496 Set current editing message to encrypt or not. (cf. @ref{PGP})
497
498 @item @key{C-c C-x ?}
499 Display help message.
500
501 @end table
502
503
504
505 @node file-type specification, transfer level, other MIME-Edit operations, MIME-Edit
506 @section How to detect tag for inserted file
507
508 When @kbd{C-c C-x C-i} (@code{mime-edit-insert-file}) is pressed, tag
509 parameters for inserted file, such as media-type or encoding, are
510 detected by variable @code{mime-file-types}.@refill
511
512 When @kbd{C-u} is followed by it or parameter is not found from the
513 variable, it asks from user.  (When @kbd{C-u} is followed by it,
514 detected value is used as default value)@refill
515
516 If you want to change default value for file names, please change
517 variable @code{mime-file-types}.
518
519 @defvar mime-file-types
520
521 Specification of default value of tag for file name of inserted
522 file.@refill
523
524 It is a list of following list:
525
526 @lisp
527         (FILE_PAT TYPE SUBTYPE PARAMS ENCODING
528          DISPOSITION_TYPE DISPOSITION_PARAMS)
529 @end lisp
530
531
532 Each element of the list is following:
533
534 @table @samp
535 @item FILE_PAT
536 regular expression of file name
537
538 @item TYPE
539 primary-type of media-type
540
541 @item SUBTYPE
542 subtype of media-type
543
544 @item PARAMS
545 parameters of Content-Type field
546
547 @item ENCODING
548 Content-Transfer-Encoding
549
550 @item DISPOSITION_TYPE
551 disposition-type
552
553 @item DISPOSITION_PARAMS
554 parameters of Content-Disposition field
555
556 @end table
557
558 @noindent
559 Example: Specify application/rtf as default media type for
560 @file{*.rtf}
561
562 @lisp
563 (eval-after-load
564     "mime-edit"
565   '(set-alist 'mime-file-types
566               "\\.rtf$"
567               '("application" "rtf" nil nil
568                 "attachment" (("filename" . file)))
569               ))
570 @end lisp
571 @end defvar
572
573
574
575 @node transfer level, message/partial sending, file-type specification, MIME-Edit
576 @section transfer level
577 @cindex transfer level
578
579 Each content inserted in a message is represented by 7bit
580 (@ref{(mime-en)7bit}), 8bit (@ref{(mime-en)8bit}) or binary
581 (@ref{(mime-en)binary}).@refill
582
583 If a message is translated by 7bit-through MTA (@ref{(mime-en)MTA}),
584 there is no need to encode 7bit data, but 8bit and binary data must be
585 encoded to 7bit data.@refill
586
587 Similarly, if a message is translated by 8bit-through MTA, there is no
588 need to encode 7bit or 8bit data, but binary data must be encoded to
589 7bit or 8bit data.@refill
590
591 @noindent
592 @strong{[Memo]}
593 @quotation
594 EBCDIC MTA breaks 7bit data, so in this case, 7bit data must be
595 encoded by base64.  But I don't know EBCDIC. (^_^;
596
597 Similarly, I wish ASCII-printable only MTA and code-conversion MTA
598 disappeared. (^_^;@refill
599
600 Maybe there are binary-through MTA, but I think it is not major.
601 @end quotation
602
603 @strong{transfer level} represents how range data are
604 available.  mime-edit has a variable @code{mime-transfer-level}
605 to represent transfer level.
606
607
608 @defvar mime-transfer-level
609
610 transfer level.@refill
611
612 If transfer level of a data is over it, a data is encoded to
613 7bit.@refill
614
615 Currently, 7 or 8 is available.  Default value is 7.@refill
616
617 In extension plan, EBCDIC will be 5, ASCII printable only will be 6,
618 binary will be 9.  But it will not be implemented.
619 @end defvar
620
621
622
623 @noindent
624 @strong{[Memo]}
625 @quotation
626 transfer level is only for body, not for message header (@ref{header}).
627 MIME extends RFC 822 (@ref{(mime-en)RFC 822}) to use 8bit data in body,
628 but it requires to use us-ascii (@ref{(mime-en)us-ascii}) in header.
629 @end quotation
630
631
632
633 @node message/partial sending,  , transfer level, MIME-Edit
634 @section Splitting
635
636 @defvar mime-edit-split-message
637
638 Split large message if it is non-nil.
639 @end defvar
640
641
642 @defvar mime-edit-message-default-max-lines
643
644 Default maximum lines of a message.
645 @end defvar
646
647
648 @defvar mime-edit-message-max-lines-alist
649
650 Alist of major-mode vs maximum lines of a message.@refill
651
652 If it is not specified for a major-mode,
653 @code{mime-edit-message-default-max-lines} is used.
654 @end defvar
655
656
657 @defvar mime-edit-split-blind-field-regexp
658
659 Regular expression to match field-name to be ignored when split sending.
660 @end defvar
661
662
663
664 @node Various, Concept Index, MIME-Edit, Top
665 @chapter Miscellaneous
666
667
668 @menu
669 * PGP::                         
670 * Buttons::                     Mouse button
671 * Acting-condition configuration::  Utility for configuration
672 @end menu
673
674 @node PGP, Buttons, Various, Various
675 @section PGP
676 @cindex PGP-kazu
677 @cindex PGP/MIME
678
679 mime-edit provides PGP encryption, signature and inserting public-key
680 features based on @strong{PGP/MIME} (RFC 2015) or @strong{PGP-kazu}
681 (draft-kazu-pgp-mime-00.txt).  In current version, PGP 5.0i and GnuPG
682 are supported as well.@refill
683
684 This feature requires PGP or GnuPG commands and its interface package,
685 such as Mailcrypt package (@ref{(mailcrypt)}).
686
687 @defvar pgp-version
688
689 Version of PGP or GnuPG command to be used for encryption or sign.
690 The value should be a symbol.  Allowed versions are @code{gpg},
691 @code{pgp50} or @code{pgp}.@refill
692 @end defvar
693
694
695 @defvar pgp-function-alist
696
697 Alist of service names vs. corresponding functions and its filenames.
698 Each element looks like @code{(SERVICE FUNCTION FILE)}.@refill
699
700 SERVICE is a symbol of PGP processing.  It allows `verify', `decrypt',
701 `fetch-key', `snarf-keys', `mime-sign', `traditional-sign', `encrypt' or
702 `insert-key'.@refill
703
704 Function is a symbol of function to do specified SERVICE.@refill
705
706 FILE is string of filename which has definition of corresponding
707 FUNCTION.
708 @end defvar
709
710
711 @defun pgp-function method
712
713 Return function to do service @var{method}.
714 @end defun
715
716
717 @defun mime-mc-setversion version
718
719 Select `pgp-version' and `mc-default-scheme' if possible.
720 @var{version} should be a string or a symbol.
721 @end defun
722
723
724
725 @node Buttons, Acting-condition configuration, PGP, Various
726 @section Mouse button
727
728 @defvar mime-button-face
729
730 Face used for content-button or URL-button of MIME-Preview buffer.
731 @end defvar
732
733
734 @defvar mime-button-mouse-face
735
736 Face used for MIME-preview buffer mouse highlighting.
737 @end defvar
738
739
740 @defvar mime-browse-url-function
741
742 Function to browse URL.
743 @end defvar
744
745
746
747 @node Acting-condition configuration,  , Buttons, Various
748 @section Utility for configuration
749
750 @defun mime-add-condition target-type condition  &optional  mode file
751
752 Add @var{condition} to database specified by @var{target-type}.@refill
753
754 @var{target-type} must be @code{preview} or @code{action}.@refill
755
756 If optional argument @var{mode} is @code{strict} or @code{nil}
757 (omitted), @var{condition} is added strictly.@refill
758
759 If optional argument @var{mode} is @code{with-default}, @var{condition}
760 is added with default rule.@refill
761
762 If optional argument @var{file} is specified, it is loaded when
763 @var{condition} is activate.
764 @end defun
765
766
767
768 @node Concept Index, Function Index, Various, Top
769 @chapter Concept Index
770
771 @printindex cp
772
773 @node Function Index, Variable Index, Concept Index, Top
774 @chapter Function Index
775
776 @printindex fn
777
778 @node Variable Index,  , Function Index, Top
779 @chapter Variable Index
780
781 @printindex vr
782 @bye