tm 7.95.
[elisp/tm.git] / doc / tm-edit-en.info
1 Info file: tm-edit-en.info,    -*-Text-*-
2 produced by `texinfo-format-buffer'
3 from file `tm-edit-en.texi'
4 using `texinfmt.el' version 2.32 of 19 November 1993.
5
6
7 \1f
8 File: tm-edit-en.info, Node: Top, Next: Introduction, Prev: (dir), Up: (dir)
9
10 tm-edit 7.90 Reference Manual (English Version)
11 ***********************************************
12
13
14 This file documents tm-edit, a MIME composer for GNU Emacs.
15
16 * Menu:
17
18 * Introduction::                What is tm-edit?
19 * mime/editor-mode::            
20 * single-part operations::      
21 * enclosure operation::         
22 * other operations of mime/editor-mode::  
23 * transfer level::              
24 * header::                      Using non-ASCII characters in header
25 * PGP::                         
26 * Concept Index::               
27 * Function Index::              
28 * Variable Index::              
29
30
31 \1f
32 File: tm-edit-en.info, Node: Introduction, Next: mime/editor-mode, Prev: Top, Up: Top
33
34 What is tm-edit?
35 ****************
36
37 *tm-edit* is a general MIME composer for GNU
38 Emacs.
39
40 tm-edit is based on mime.el by UMEDA Masanobu
41 <umerin@mse.kyutech.ac.jp>, who is famous as the author of GNUS.
42 tm-edit expands following points from `mime.el':
43
44    * based on RFC 1521/1522
45    * Content-Disposition field (*Note (tm-en)Content-Disposition::) (RFC
46      1806) supports
47    * nested multi-part message (*Note (tm-en)multipart::)
48    * PGP (*Note PGP::) (PGP/MIME (RFC 2015) based on security multipart
49      (RFC 1847) and application/pgp based on traditional PGP)
50    * strength automatic specification for parameter of file type
51
52
53 In tm-MUA (*Note (tm-en)tm-MUA::), you can edit MIME message easily to
54 use tm-edit.
55
56
57
58 \1f
59 File: tm-edit-en.info, Node: mime/editor-mode, Next: single-part operations, Prev: Introduction, Up: Top
60
61 mime/editor-mode
62 ****************
63
64 *mime/editor-mode* is a minor mode to
65 compose MIME message.  In this mode, *tag* represents various kinds of
66 data, you can edit multi part (*Note (tm-en)multipart::) message.
67
68 There are 2 kinds of tags:
69
70    *  single-part tag
71    *  multi-part tag
72
73 single-part tag represents single part, this form is following:
74
75              --[[TYPE/SUBTYPE;PARAMETERS][ENCODING]
76              OPTIONAL-FIELDS]
77
78 TYPE/SUBTYPE and PARAMETERS indicates type/subtype and parameters of
79 Content-Type field (*Note (tm-en)Content-Type field::).  TYPE/SUBTYPE is
80 required, PARAMETERS is optional.
81
82 ENCODING indicates Content-Transfer-Encoding field.  It is optional too.
83
84 OPTIONAL-FIELDS is to represent another fields except Content-Type field
85 and Content-Transfer-Encoding field.
86
87 multi-part tags represent multi part (*Note (tm-en)multipart::).  They
88 consist of a pair of *multi-part beginning tag* and *multi-part ending
89 tag*.
90
91 multi-part beginning tag's form is following:
92
93              --<<TYPE>>-{
94
95 multi-part ending tag's form is following:
96
97              --}-<<TYPE>>
98
99 A region from multi-part beginning tag to multi-part ending tag is
100 called as *enclosure*.
101
102
103
104 \1f
105 File: tm-edit-en.info, Node: single-part operations, Next: enclosure operation, Prev: mime/editor-mode, Up: Top
106
107 single-part operations
108 **********************
109
110 Operations to make single-part are following:
111
112 `C-c C-x C-t'
113      Insert single-part tag indicates text part.
114
115 `C-c C-x C-i'
116      Insert file as a MIME attachment.
117
118 `C-c C-x C-e'
119      Insert external part.
120
121 `C-c C-x C-v'
122      Record audio input until `C-g' is pressed, and insert as a audio
123      part. (It requires /dev/audio in default.)
124
125 `C-c C-x C-y'
126      Insert current (mail or news) message. (It is MUA depended.)
127
128 `C-c C-x C-m'
129      Insert mail message. (It is MUA depended.)
130
131 `C-c C-x C-w, C-c C-x C-s'
132      Insert signature.
133
134 `C-c C-x C-k'
135      Insert PGP (*Note PGP::) public key. (It requires Mailcrypt
136      package.)
137
138 `C-c C-x t'
139      Insert any single-part tag.
140
141
142
143
144
145 \1f
146 File: tm-edit-en.info, Node: enclosure operation, Next: other operations of mime/editor-mode, Prev: single-part operations, Up: Top
147
148 enclosure operation
149 *******************
150
151 Operations to make enclosure are following:
152
153 `C-c C-x a'
154      Enclose specified region as multipart/alternative.
155
156 `C-c C-x p'
157      Enclose specified region as multipart/parallel.
158
159 `C-c C-x m'
160      Enclose specified region as multipart/mixed.
161
162 `C-c C-x d'
163      Enclose specified region as multipart/digest.
164
165 `C-c C-x s'
166      Digital-sign to specified region. (cf. *Note PGP::)
167
168 `C-c C-x e'
169      Encrypt to specified region. (cf. *Note PGP::)
170
171 `C-c C-x q'
172      avoid to encode tags in specified region.  In other words, tags is
173      interpreted as such string.  (In current version, it may be
174      incomplete.  Maybe PGP-signature does not work for this enclosure.)
175
176
177
178
179
180 \1f
181 File: tm-edit-en.info, Node: other operations of mime/editor-mode, Next: transfer level, Prev: enclosure operation, Up: Top
182
183 other operations of mime/editor-mode
184 ************************************
185
186 There are another operations in mime/editor-mode.
187
188 `C-c C-c'
189      Send current editing message.
190
191 `C-c C-x C-p'
192      Preview current editing message. (*Note
193      (tm-view-en)mime/viewer-mode::)
194
195 `C-c C-x C-z'
196      Exit mime/editor-mode. (M-x mime/edit-again is available to
197      reedit.)
198
199 `C-c C-x ?'
200      Display help message.
201
202 `C-c C-x /'
203      Set current editing message to enable automatic splitting or not.
204      Form of automatic split messages is message/partial.
205
206 `C-c C-x 7'
207      Set 7bit (*Note (tm-en)7bit::) to transfer level (*Note transfer
208      level::).
209
210 `C-c C-x 8'
211      Set 8bit (*Note (tm-en)8bit::) to transfer level (*Note transfer
212      level::).
213
214 `C-c C-x v'
215      Set current editing message to digital-sign or not. (cf. *Note
216      PGP::)
217
218 `C-c C-x h'
219      Set current editing message to encrypt or not. (cf. *Note PGP::)
220
221
222
223
224
225 \1f
226 File: tm-edit-en.info, Node: transfer level, Next: header, Prev: other operations of mime/editor-mode, Up: Top
227
228 transfer level
229 **************
230
231 Contents inserted in a message are represented by 7bit (*Note
232 (tm-en)7bit::), 8bit (*Note (tm-en)8bit::) or binary (*Note
233 (tm-en)binary::).
234
235 If a message is translated by 7bit-through MTA (*Note (tm-en)MTA::),
236 there is no need to encode 7bit data, but 8bit and binary data must be
237 encoded to 7bit data.
238
239 Similarly, if a message is translated by 8bit-through MTA, there is no
240 need to encode 7bit or 8bit data, but binary data must be encoded to
241 7bit or 8bit data.
242
243 *[Memo]*
244      EBCDIC MTA breaks 7bit data, so in this case, 7bit data must be
245      encoded by base64.  But I don't know EBCDIC. (^_^;
246
247      Similarly, I wish ASCII-printable only MTA and code-conversion MTA
248      disappeared. (^_^;
249
250      Maybe there are binary-through MTA, but I think it is not major.
251
252 *transfer level* represents how range data is
253 available.  tm-edit has a variable `mime-editor/transfer-level' to
254 represent transfer level.
255
256
257  -- Variable: mime-editor/transfer-level
258
259      transfer level.
260
261      If transfer level of a data is over it, a data is encoded to 7bit.
262
263      Currently, 7 or 8 is available.  Default value is 7.
264
265      In extension plan, EBCDIC will be 5, ASCII printable only will be
266      6, binary will be 9.  But it will not be implemented.
267
268
269
270 *[Memo]*
271      transfer level is only for body, not for header (*Note header::).
272      RFC 1521 extends RFC 822 (*Note (tm-en)RFC 822::) to use 8bit data
273      in body, but it requires to use us-ascii (*Note (tm-en)us-ascii::)
274      in header.
275
276
277
278
279 \1f
280 File: tm-edit-en.info, Node: header, Next: PGP, Prev: transfer level, Up: Top
281
282 Using non-ASCII characters in header
283 ************************************
284
285 RFC 1522 (*Note (tm-en)RFC 1522::) defines representation of non-ASCII
286 characters in header.
287
288 It is a format called as *encoded-word* (*Note (tm-en)encoded-word::),
289 it is available to represent every non-ASCII characters by 7bit (*Note
290 (tm-en)7bit::) to declare MIME charset (*Note (tm-en)MIME charset::).
291
292
293 * Menu:
294
295 * evil setting in header::      If you can not allow encoded-word
296 * API about header::            Functions and variables about header
297
298
299 \1f
300 File: tm-edit-en.info, Node: evil setting in header, Next: API about header, Prev: header, Up: header
301
302 If you can not allow encoded-word
303 =================================
304
305 It is wrong to use "raw" non-ASCII characters in header not to use
306 encoded-word.  Because there are various kinds of coded character set
307 (*Note (tm-en)Coded character set::) in the Internet, so we can not
308 distinguish them if MIME charset (*Note (tm-en)MIME charset::) is not
309 declared.
310
311 For example, we can not distinguish iso-8859-1 (*Note
312 (tm-en)iso-8859-1::) and iso-8859-2 (*Note (tm-en)iso-8859-2::) if MIME
313 charset is not declared.
314
315 However you can not permit to use encoded-word, please set to following
316 variables:
317
318
319  -- Variable: mime/field-encoding-method-alist
320
321      Association-list to specify field encoding method.  Its key is
322      field-name, value is encoding method.
323
324      field-name allows string or `t' meaning any fields.
325
326      Encoding method allows following: `nil' means no-conversion, `mime'
327      means to convert as encoded-word, symbol represent MIME charset
328      means to convert as the coded character set instead of to convert
329      as encoded-word.
330
331      field-name is searched from string.  If it is not found, `t' is
332      used.
333
334      Default value of `mime/field-encoding-method-alist' is following:
335
336           (("X-Nsubject" . iso-2022-jp-2)
337            ("Newsgroups" . nil)
338            (t            . mime)
339            ))
340
341
342 In addition, if you want to specify by coded character set instead of
343 field, please use `mime-eword/charset-encoding-alist'.  (cf. *Note API
344 about header::)
345
346
347
348
349 \1f
350 File: tm-edit-en.info, Node: API about header, Prev: evil setting in header, Up: header
351
352 Functions and variables about header
353 ====================================
354
355  -- Command: mime/encode-message-header &optional CODE-CONVERSION
356
357      It translate non-ASCII characters in message header of current
358      buffer into network representation, such as encoded-words.
359
360      If CODE-CONVERSION is non-`nil', field not encoded by encoded-word
361      is converted by `mime/field-encoding-method-alist'.
362
363
364  -- Function: mime/encode-field STRING
365
366      It encodes STRING into encoded-words as a field.
367
368      Long lines are folded.
369
370
371  -- Function: mime-eword/encode-string STRING &optional COLUMN MODE
372
373      It encodes STRING into encoded-words.
374
375      Long lines are folded.
376
377      COLUMN specifies start column.  If it is omitted, 0 is used.
378
379      MODE specifies where STRING is in.  Available values are `text',
380      `comment', `phrase'.  If it is omitted, `phrase' is used.
381
382
383  -- Variable: mime-eword/charset-encoding-alist
384
385      Association-list of symbol represent MIME charset vs. nil, `"B"' or
386      `"Q"'.
387
388      `nil' means not to encode as encoded-word.  `"B"' means to use
389      B-encoding.  `"Q"' means to use Q-encoding.
390
391
392
393
394 \1f
395 File: tm-edit-en.info, Node: PGP, Next: Concept Index, Prev: header, Up: Top
396
397 PGP
398 ***
399
400 tm-edit provides PGP encryption, signature and inserting public-key
401 features based on *PGP/MIME* (*Note (tm-en)PGP/MIME::) (RFC 2015) or
402 *PGP-kazu* (*Note (tm-en)PGP-kazu::) (draft-kazu-pgp-mime-00.txt).
403
404 This feature requires pgp command and Mailcrypt package (*Note
405 (mailcrypt)::).
406
407 If you want to use this feature, please set `pgp-elkins' or `pgp-kazu'
408 to variable `mimed-editor/signing-type' and variable
409 `mime-editor/encrypting-type'.
410
411 If `pgp-elkins' is specified, PGP/MIME is used.  If `pgp-kazu' is
412 specified, PGP-kazu is used.
413
414
415  -- Variable: mime-editor/signing-type
416
417      Format of PGP signature.
418
419      It allows `pgp-elkins' or `pgp-kazu'.
420
421      Default value is `nil'.
422
423
424  -- Variable: mime-editor/encrypting-type
425
426      Format of PGP encryption.
427
428      It allows `pgp-elkins' or `pgp-kazu'.
429
430      Default value is `nil'.
431
432
433
434
435 \1f
436 File: tm-edit-en.info, Node: Concept Index, Next: Function Index, Prev: PGP, Up: Top
437
438 Concept Index
439 *************
440
441
442 * Menu:
443
444 * enclosure:                    mime/editor-mode.       42.
445 * encoded-word:                 header.                 9.
446 * mime/editor-mode:             mime/editor-mode.       5.
447 * multi-part beginning tag:     mime/editor-mode.       30.
448 * multi-part ending tag:        mime/editor-mode.       31.
449 * PGP-kazu:                     PGP.                    8.
450 * PGP/MIME:                     PGP.                    7.
451 * tag:                          mime/editor-mode.       7.
452 * tm-edit:                      Introduction.           5.
453 * transfer level:               transfer level.         26.
454
455
456 \1f
457 File: tm-edit-en.info, Node: Function Index, Next: Variable Index, Prev: Concept Index, Up: Top
458
459 Function Index
460 **************
461
462
463 * Menu:
464
465 * mime/encode-field:            API about header.       16.
466 * mime/encode-message-header:   API about header.       7.
467 * mime-eword/encode-string:     API about header.       23.
468
469
470 \1f
471 File: tm-edit-en.info, Node: Variable Index, Prev: Function Index, Up: Top
472
473 Variable Index
474 **************
475
476
477 * Menu:
478
479 * mime-editor/encrypting-type:  PGP.                    31.
480 * mime-editor/signing-type:     PGP.                    22.
481 * mime-editor/transfer-level:   transfer level.         33.
482 * mime-eword/charset-encoding-alist: API about header.  35.
483 * mime/field-encoding-method-alist: evil setting in header.  21.