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.99 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::
23 * tag specification for inserted file:: Default media-type or encoding for inserted file
25 * header:: Using non-ASCII characters in header
33 File: tm-edit-en.info, Node: Introduction, Next: mime/editor-mode, Prev: Top, Up: Top
38 *tm-edit* is a general MIME composer for GNU
41 tm-edit is based on mime.el by UMEDA Masanobu
42 <umerin@mse.kyutech.ac.jp>, who is famous as the author of GNUS.
43 tm-edit expands following points from `mime.el':
45 * based on RFC 1521/1522
46 * Content-Disposition field (*Note (tm-en)Content-Disposition::) (RFC
48 * nested multi-part message (*Note (tm-en)multipart::)
49 * PGP (*Note PGP::) (PGP/MIME (RFC 2015) based on security multipart
50 (RFC 1847) and application/pgp based on traditional PGP)
51 * strength automatic specification for parameter of file type
54 In tm-MUA (*Note (tm-en)tm-MUA::), you can edit MIME message easily to
60 File: tm-edit-en.info, Node: mime/editor-mode, Next: single-part operations, Prev: Introduction, Up: Top
65 *mime/editor-mode* is a minor mode to
66 compose MIME message. In this mode, *tag* represents various kinds of
67 data, you can edit multi part (*Note (tm-en)multipart::) message.
69 There are 2 kinds of tags:
74 single-part tag represents single part, this form is following:
76 --[[TYPE/SUBTYPE;PARAMETERS][ENCODING]
79 TYPE/SUBTYPE and PARAMETERS indicates type/subtype and parameters of
80 Content-Type field (*Note (tm-en)Content-Type field::). TYPE/SUBTYPE is
81 required, PARAMETERS is optional.
83 ENCODING indicates Content-Transfer-Encoding field. It is optional too.
85 OPTIONAL-FIELDS is to represent another fields except Content-Type field
86 and Content-Transfer-Encoding field.
88 multi-part tags represent multi part (*Note (tm-en)multipart::). They
89 consist of a pair of *multi-part beginning tag* and *multi-part ending
92 multi-part beginning tag's form is following:
96 multi-part ending tag's form is following:
100 A region from multi-part beginning tag to multi-part ending tag is
101 called as *enclosure*.
106 File: tm-edit-en.info, Node: single-part operations, Next: enclosure operation, Prev: mime/editor-mode, Up: Top
108 single-part operations
109 **********************
111 Operations to make single-part are following:
114 Insert single-part tag indicates text part.
117 Insert file as a MIME attachment. If `C-u' is followed by it, it
118 asks media-type, subtype or encoding even if their default values
119 are specified. (cf. *Note tag specification for inserted file::)
122 Insert external part.
125 Record audio input until `C-g' is pressed, and insert as a audio
126 part. (It requires /dev/audio in default.)
129 Insert current (mail or news) message. (It is MUA depended.)
132 Insert mail message. (It is MUA depended.)
134 `C-c C-x C-w, C-c C-x C-s'
138 Insert PGP (*Note PGP::) public key. (It requires Mailcrypt
142 Insert any single-part tag.
149 File: tm-edit-en.info, Node: enclosure operation, Next: other operations of mime/editor-mode, Prev: single-part operations, Up: Top
154 Operations to make enclosure are following:
157 Enclose specified region as multipart/alternative.
160 Enclose specified region as multipart/parallel.
163 Enclose specified region as multipart/mixed.
166 Enclose specified region as multipart/digest.
169 Digital-sign to specified region. (cf. *Note PGP::)
172 Encrypt to specified region. (cf. *Note PGP::)
175 avoid to encode tags in specified region. In other words, tags is
176 interpreted as such string. (In current version, it may be
177 incomplete. Maybe PGP-signature does not work for this enclosure.)
184 File: tm-edit-en.info, Node: other operations of mime/editor-mode, Next: tag specification for inserted file, Prev: enclosure operation, Up: Top
186 other operations of mime/editor-mode
187 ************************************
189 There are another operations in mime/editor-mode.
192 Send current editing message.
195 Preview current editing message. (*Note
196 (tm-view-en)mime/viewer-mode::)
199 Exit mime/editor-mode. (M-x mime/edit-again is available to
203 Display help message.
206 Set current editing message to enable automatic splitting or not.
207 Form of automatic split messages is message/partial.
210 Set 7bit (*Note (tm-en)7bit::) to transfer level (*Note transfer
214 Set 8bit (*Note (tm-en)8bit::) to transfer level (*Note transfer
218 Set current editing message to digital-sign or not. (cf. *Note
222 Set current editing message to encrypt or not. (cf. *Note PGP::)
229 File: tm-edit-en.info, Node: tag specification for inserted file, Next: transfer level, Prev: other operations of mime/editor-mode, Up: Top
231 Default media-type or encoding for inserted file
232 ************************************************
234 When `C-c C-x C-i' (`mime-editor/insert-file') is pressed, tag
235 parameters for inserted file, such as media-type or encoding, are
236 detected by variable `mime-file-types'.
238 When `C-u' is followed by it or parameter is not found from the
239 variable, it asks from user. (When `C-u' is followed by it, detected
240 value is used as default value)
242 If you want to change default value for file names, please change
243 variable `mime-file-types'.
246 -- Variable: mime-file-types
248 Specification of default value of tag for file name of inserted
251 It is a list of following list:
253 (FILE_PAT TYPE SUBTYPE PARAMS ENCODING
254 DISPOSITION_TYPE DISPOSITION_PARAMS)
257 Each elements of the list are following:
260 regular expression of file name
269 parameters of Content-Type field
272 Content-Transfer-Encoding
278 parameters of Content-Disposition field
281 Example: Specify application/rtf as default media type for `*.rtf'
286 (set-alist 'mime-file-types
288 '("application" "rtf" nil nil
289 "attachment" (("filename" . file)))
296 File: tm-edit-en.info, Node: transfer level, Next: header, Prev: tag specification for inserted file, Up: Top
301 Contents inserted in a message are represented by 7bit (*Note
302 (tm-en)7bit::), 8bit (*Note (tm-en)8bit::) or binary (*Note
305 If a message is translated by 7bit-through MTA (*Note (tm-en)MTA::),
306 there is no need to encode 7bit data, but 8bit and binary data must be
307 encoded to 7bit data.
309 Similarly, if a message is translated by 8bit-through MTA, there is no
310 need to encode 7bit or 8bit data, but binary data must be encoded to
314 EBCDIC MTA breaks 7bit data, so in this case, 7bit data must be
315 encoded by base64. But I don't know EBCDIC. (^_^;
317 Similarly, I wish ASCII-printable only MTA and code-conversion MTA
320 Maybe there are binary-through MTA, but I think it is not major.
322 *transfer level* represents how range data is
323 available. tm-edit has a variable `mime-editor/transfer-level' to
324 represent transfer level.
327 -- Variable: mime-editor/transfer-level
331 If transfer level of a data is over it, a data is encoded to 7bit.
333 Currently, 7 or 8 is available. Default value is 7.
335 In extension plan, EBCDIC will be 5, ASCII printable only will be
336 6, binary will be 9. But it will not be implemented.
341 transfer level is only for body, not for header (*Note header::).
342 RFC 1521 extends RFC 822 (*Note (tm-en)RFC 822::) to use 8bit data
343 in body, but it requires to use us-ascii (*Note (tm-en)us-ascii::)
350 File: tm-edit-en.info, Node: header, Next: PGP, Prev: transfer level, Up: Top
352 Using non-ASCII characters in header
353 ************************************
355 RFC 1522 (*Note (tm-en)RFC 1522::) defines representation of non-ASCII
356 characters in header.
358 It is a format called as *encoded-word* (*Note (tm-en)encoded-word::),
359 it is available to represent every non-ASCII characters by 7bit (*Note
360 (tm-en)7bit::) to declare MIME charset (*Note (tm-en)MIME charset::).
365 * evil setting in header:: If you can not allow encoded-word
366 * API about header:: Functions and variables about header
370 File: tm-edit-en.info, Node: evil setting in header, Next: API about header, Prev: header, Up: header
372 If you can not allow encoded-word
373 =================================
375 It is wrong to use "raw" non-ASCII characters in header not to use
376 encoded-word. Because there are various kinds of coded character set
377 (*Note (tm-en)Coded character set::) in the Internet, so we can not
378 distinguish them if MIME charset (*Note (tm-en)MIME charset::) is not
381 For example, we can not distinguish iso-8859-1 (*Note
382 (tm-en)iso-8859-1::) and iso-8859-2 (*Note (tm-en)iso-8859-2::) if MIME
383 charset is not declared.
385 However you can not permit to use encoded-word, please set to following
389 -- Variable: mime/field-encoding-method-alist
391 Association-list to specify field encoding method. Its key is
392 field-name, value is encoding method.
394 field-name allows string or `t' meaning any fields.
396 Encoding method allows following: `nil' means no-conversion, `mime'
397 means to convert as encoded-word, symbol represent MIME charset
398 means to convert as the coded character set instead of to convert
401 field-name is searched from string. If it is not found, `t' is
404 Default value of `mime/field-encoding-method-alist' is following:
406 (("X-Nsubject" . iso-2022-jp-2)
412 In addition, if you want to specify by coded character set instead of
413 field, please use `mime-eword/charset-encoding-alist'. (cf. *Note API
420 File: tm-edit-en.info, Node: API about header, Prev: evil setting in header, Up: header
422 Functions and variables about header
423 ====================================
425 -- Command: mime/encode-message-header &optional CODE-CONVERSION
427 It translate non-ASCII characters in message header of current
428 buffer into network representation, such as encoded-words.
430 If CODE-CONVERSION is non-`nil', field not encoded by encoded-word
431 is converted by `mime/field-encoding-method-alist'.
434 -- Function: mime/encode-field STRING
436 It encodes STRING into encoded-words as a field.
438 Long lines are folded.
441 -- Function: mime-eword/encode-string STRING &optional COLUMN MODE
443 It encodes STRING into encoded-words.
445 Long lines are folded.
447 COLUMN specifies start column. If it is omitted, 0 is used.
449 MODE specifies where STRING is in. Available values are `text',
450 `comment', `phrase'. If it is omitted, `phrase' is used.
453 -- Variable: mime-eword/charset-encoding-alist
455 Association-list of symbol represent MIME charset vs. nil, `"B"' or
458 `nil' means not to encode as encoded-word. `"B"' means to use
459 B-encoding. `"Q"' means to use Q-encoding.
465 File: tm-edit-en.info, Node: PGP, Next: Concept Index, Prev: header, Up: Top
470 tm-edit provides PGP encryption, signature and inserting public-key
471 features based on *PGP/MIME* (*Note (tm-en)PGP/MIME::) (RFC 2015) or
472 *PGP-kazu* (*Note (tm-en)PGP-kazu::) (draft-kazu-pgp-mime-00.txt).
474 This feature requires pgp command and Mailcrypt package (*Note
477 If you want to use this feature, please set `pgp-elkins' or `pgp-kazu'
478 to variable `mimed-editor/signing-type' and variable
479 `mime-editor/encrypting-type'.
481 If `pgp-elkins' is specified, PGP/MIME is used. If `pgp-kazu' is
482 specified, PGP-kazu is used.
485 -- Variable: mime-editor/signing-type
487 Format of PGP signature.
489 It allows `pgp-elkins' or `pgp-kazu'.
491 Default value is `nil'.
494 -- Variable: mime-editor/encrypting-type
496 Format of PGP encryption.
498 It allows `pgp-elkins' or `pgp-kazu'.
500 Default value is `nil'.
506 File: tm-edit-en.info, Node: Concept Index, Next: Function Index, Prev: PGP, Up: Top
514 * enclosure: mime/editor-mode. 42.
515 * encoded-word: header. 9.
516 * mime/editor-mode: mime/editor-mode. 5.
517 * multi-part beginning tag: mime/editor-mode. 30.
518 * multi-part ending tag: mime/editor-mode. 31.
521 * tag: mime/editor-mode. 7.
522 * tm-edit: Introduction. 5.
523 * transfer level: transfer level. 26.
527 File: tm-edit-en.info, Node: Function Index, Next: Variable Index, Prev: Concept Index, Up: Top
535 * mime/encode-field: API about header. 16.
536 * mime/encode-message-header: API about header. 7.
537 * mime-eword/encode-string: API about header. 23.
541 File: tm-edit-en.info, Node: Variable Index, Prev: Function Index, Up: Top
549 * mime-editor/encrypting-type: PGP. 31.
550 * mime-editor/signing-type: PGP. 22.
551 * mime-editor/transfer-level: transfer level. 33.
552 * mime-eword/charset-encoding-alist: API about header. 35.
553 * mime/field-encoding-method-alist: evil setting in header. 21.
554 * mime-file-types: tag specification for inserted file. 19.