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