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.
8 File: tm-edit-en.info, Node: Top, Next: Introduction, Prev: (dir), Up: (dir)
10 tm-edit 7.90 Reference Manual (English Version)
11 ***********************************************
14 This file documents tm-edit, a MIME composer for GNU Emacs.
18 * Introduction:: What is tm-edit?
20 * single-part operations::
21 * enclosure operation::
22 * other operations of mime/editor-mode::
24 * header:: Using non-ASCII characters in header
32 File: tm-edit-en.info, Node: Introduction, Next: mime/editor-mode, Prev: Top, Up: Top
37 *tm-edit* is a general MIME composer for GNU
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':
44 * based on RFC 1521/1522
45 * Content-Disposition field (*Note (tm-en)Content-Disposition::) (RFC
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
53 In tm-MUA (*Note (tm-en)tm-MUA::), you can edit MIME message easily to
59 File: tm-edit-en.info, Node: mime/editor-mode, Next: single-part operations, Prev: Introduction, Up: Top
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.
68 There are 2 kinds of tags:
73 single-part tag represents single part, this form is following:
75 --[[TYPE/SUBTYPE;PARAMETERS][ENCODING]
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.
82 ENCODING indicates Content-Transfer-Encoding field. It is optional too.
84 OPTIONAL-FIELDS is to represent another fields except Content-Type field
85 and Content-Transfer-Encoding field.
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
91 multi-part beginning tag's form is following:
95 multi-part ending tag's form is following:
99 A region from multi-part beginning tag to multi-part ending tag is
100 called as *enclosure*.
105 File: tm-edit-en.info, Node: single-part operations, Next: enclosure operation, Prev: mime/editor-mode, Up: Top
107 single-part operations
108 **********************
110 Operations to make single-part are following:
113 Insert single-part tag indicates text part.
116 Insert file as a MIME attachment.
119 Insert external part.
122 Record audio input until `C-g' is pressed, and insert as a audio
123 part. (It requires /dev/audio in default.)
126 Insert current (mail or news) message. (It is MUA depended.)
129 Insert mail message. (It is MUA depended.)
131 `C-c C-x C-w, C-c C-x C-s'
135 Insert PGP (*Note PGP::) public key. (It requires Mailcrypt
139 Insert any single-part tag.
146 File: tm-edit-en.info, Node: enclosure operation, Next: other operations of mime/editor-mode, Prev: single-part operations, Up: Top
151 Operations to make enclosure are following:
154 Enclose specified region as multipart/alternative.
157 Enclose specified region as multipart/parallel.
160 Enclose specified region as multipart/mixed.
163 Enclose specified region as multipart/digest.
166 Digital-sign to specified region. (cf. *Note PGP::)
169 Encrypt to specified region. (cf. *Note PGP::)
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.)
181 File: tm-edit-en.info, Node: other operations of mime/editor-mode, Next: transfer level, Prev: enclosure operation, Up: Top
183 other operations of mime/editor-mode
184 ************************************
186 There are another operations in mime/editor-mode.
189 Send current editing message.
192 Preview current editing message. (*Note
193 (tm-view-en)mime/viewer-mode::)
196 Exit mime/editor-mode. (M-x mime/edit-again is available to
200 Display help message.
203 Set current editing message to enable automatic splitting or not.
204 Form of automatic split messages is message/partial.
207 Set 7bit (*Note (tm-en)7bit::) to transfer level (*Note transfer
211 Set 8bit (*Note (tm-en)8bit::) to transfer level (*Note transfer
215 Set current editing message to digital-sign or not. (cf. *Note
219 Set current editing message to encrypt or not. (cf. *Note PGP::)
226 File: tm-edit-en.info, Node: transfer level, Next: header, Prev: other operations of mime/editor-mode, Up: Top
231 Contents inserted in a message are represented by 7bit (*Note
232 (tm-en)7bit::), 8bit (*Note (tm-en)8bit::) or binary (*Note
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.
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
244 EBCDIC MTA breaks 7bit data, so in this case, 7bit data must be
245 encoded by base64. But I don't know EBCDIC. (^_^;
247 Similarly, I wish ASCII-printable only MTA and code-conversion MTA
250 Maybe there are binary-through MTA, but I think it is not major.
252 *transfer level* represents how range data is
253 available. tm-edit has a variable `mime-editor/transfer-level' to
254 represent transfer level.
257 -- Variable: mime-editor/transfer-level
261 If transfer level of a data is over it, a data is encoded to 7bit.
263 Currently, 7 or 8 is available. Default value is 7.
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.
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::)
280 File: tm-edit-en.info, Node: header, Next: PGP, Prev: transfer level, Up: Top
282 Using non-ASCII characters in header
283 ************************************
285 RFC 1522 (*Note (tm-en)RFC 1522::) defines representation of non-ASCII
286 characters in header.
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::).
295 * evil setting in header:: If you can not allow encoded-word
296 * API about header:: Functions and variables about header
300 File: tm-edit-en.info, Node: evil setting in header, Next: API about header, Prev: header, Up: header
302 If you can not allow encoded-word
303 =================================
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
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.
315 However you can not permit to use encoded-word, please set to following
319 -- Variable: mime/field-encoding-method-alist
321 Association-list to specify field encoding method. Its key is
322 field-name, value is encoding method.
324 field-name allows string or `t' meaning any fields.
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
331 field-name is searched from string. If it is not found, `t' is
334 Default value of `mime/field-encoding-method-alist' is following:
336 (("X-Nsubject" . iso-2022-jp-2)
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
350 File: tm-edit-en.info, Node: API about header, Prev: evil setting in header, Up: header
352 Functions and variables about header
353 ====================================
355 -- Command: mime/encode-message-header &optional CODE-CONVERSION
357 It translate non-ASCII characters in message header of current
358 buffer into network representation, such as encoded-words.
360 If CODE-CONVERSION is non-`nil', field not encoded by encoded-word
361 is converted by `mime/field-encoding-method-alist'.
364 -- Function: mime/encode-field STRING
366 It encodes STRING into encoded-words as a field.
368 Long lines are folded.
371 -- Function: mime-eword/encode-string STRING &optional COLUMN MODE
373 It encodes STRING into encoded-words.
375 Long lines are folded.
377 COLUMN specifies start column. If it is omitted, 0 is used.
379 MODE specifies where STRING is in. Available values are `text',
380 `comment', `phrase'. If it is omitted, `phrase' is used.
383 -- Variable: mime-eword/charset-encoding-alist
385 Association-list of symbol represent MIME charset vs. nil, `"B"' or
388 `nil' means not to encode as encoded-word. `"B"' means to use
389 B-encoding. `"Q"' means to use Q-encoding.
395 File: tm-edit-en.info, Node: PGP, Next: Concept Index, Prev: header, Up: Top
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).
404 This feature requires pgp command and Mailcrypt package (*Note
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'.
411 If `pgp-elkins' is specified, PGP/MIME is used. If `pgp-kazu' is
412 specified, PGP-kazu is used.
415 -- Variable: mime-editor/signing-type
417 Format of PGP signature.
419 It allows `pgp-elkins' or `pgp-kazu'.
421 Default value is `nil'.
424 -- Variable: mime-editor/encrypting-type
426 Format of PGP encryption.
428 It allows `pgp-elkins' or `pgp-kazu'.
430 Default value is `nil'.
436 File: tm-edit-en.info, Node: Concept Index, Next: Function Index, Prev: PGP, Up: Top
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.
451 * tag: mime/editor-mode. 7.
452 * tm-edit: Introduction. 5.
453 * transfer level: transfer level. 26.
457 File: tm-edit-en.info, Node: Function Index, Next: Variable Index, Prev: Concept Index, Up: Top
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.
471 File: tm-edit-en.info, Node: Variable Index, Prev: Function Index, Up: Top
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.