1 This is Info file tm-edit-en.info, produced by Makeinfo-1.63 from the
2 input file tm-edit-en.texi.
5 File: tm-edit-en.info, Node: Top, Next: Introduction, Prev: (dir), Up: (dir)
7 tm-edit 7.100 Reference Manual (English Version)
8 ************************************************
10 This file documents tm-edit, a MIME composer for GNU Emacs.
14 * Introduction:: What is tm-edit?
16 * single-part operations::
17 * enclosure operation::
18 * other operations of mime/editor-mode::
19 * tag specification for inserted file:: Default media-type or encoding for inserted file
21 * header:: Using non-ASCII characters in header
29 File: tm-edit-en.info, Node: Introduction, Next: mime/editor-mode, Prev: Top, Up: Top
34 *tm-edit* is a general MIME composer for GNU Emacs.
36 tm-edit is based on mime.el by UMEDA Masanobu
37 <umerin@mse.kyutech.ac.jp>, who is famous as the author of GNUS.
38 tm-edit expands following points from `mime.el':
40 * based on RFC 1521/1522
42 * Content-Disposition field (*Note (tm-en)Content-Disposition::)
45 * nested multi-part message (*Note (tm-en)multipart::)
47 * PGP (*Note PGP::) (PGP/MIME (RFC 2015) based on security multipart
48 (RFC 1847) and application/pgp based on traditional PGP)
50 * strength automatic specification for parameter of file type
52 In tm-MUA (*Note (tm-en)tm-MUA::), you can edit MIME message easily
56 File: tm-edit-en.info, Node: mime/editor-mode, Next: single-part operations, Prev: Introduction, Up: Top
61 *mime/editor-mode* is a minor mode to compose MIME message. In this
62 mode, *tag* represents various kinds of data, you can edit multi part
63 (*Note (tm-en)multipart::) message.
65 There are 2 kinds of tags:
71 single-part tag represents single part, this form is following:
73 --[[TYPE/SUBTYPE;PARAMETERS][ENCODING]
76 TYPE/SUBTYPE and PARAMETERS indicates type/subtype and parameters of
77 Content-Type field (*Note (tm-en)Content-Type field::). TYPE/SUBTYPE is
78 required, PARAMETERS is optional.
80 ENCODING indicates Content-Transfer-Encoding field. It is optional
83 OPTIONAL-FIELDS is to represent another fields except Content-Type
84 field and Content-Transfer-Encoding field.
86 multi-part tags represent multi part (*Note (tm-en)multipart::).
87 They consist of a pair of *multi-part beginning tag* and *multi-part
90 multi-part beginning tag's form is following:
94 multi-part ending tag's form is following:
98 A region from multi-part beginning tag to multi-part ending tag is
99 called as *enclosure*.
102 File: tm-edit-en.info, Node: single-part operations, Next: enclosure operation, Prev: mime/editor-mode, Up: Top
104 single-part operations
105 **********************
107 Operations to make single-part are following:
110 Insert single-part tag indicates text part.
113 Insert file as a MIME attachment. If `C-u' is followed by it, it
114 asks media-type, subtype or encoding even if their default values
115 are specified. (cf. *Note tag specification for inserted file::)
118 Insert external part.
121 Record audio input until `C-g' is pressed, and insert as a audio
122 part. (It requires /dev/audio in default.)
125 Insert current (mail or news) message. (It is MUA depended.)
128 Insert mail message. (It is MUA depended.)
130 `C-c C-x C-w, C-c C-x C-s'
134 Insert PGP (*Note PGP::) public key. (It requires Mailcrypt
138 Insert any single-part tag.
141 File: tm-edit-en.info, Node: enclosure operation, Next: other operations of mime/editor-mode, Prev: single-part operations, Up: Top
146 Operations to make enclosure are following:
149 Enclose specified region as multipart/alternative.
152 Enclose specified region as multipart/parallel.
155 Enclose specified region as multipart/mixed.
158 Enclose specified region as multipart/digest.
161 Digital-sign to specified region. (cf. *Note PGP::)
164 Encrypt to specified region. (cf. *Note PGP::)
167 avoid to encode tags in specified region. In other words, tags is
168 interpreted as such string. (In current version, it may be
169 incomplete. Maybe PGP-signature does not work for this enclosure.)
172 File: tm-edit-en.info, Node: other operations of mime/editor-mode, Next: tag specification for inserted file, Prev: enclosure operation, Up: Top
174 other operations of mime/editor-mode
175 ************************************
177 There are another operations in mime/editor-mode.
180 Send current editing message.
183 Preview current editing message. (*Note
184 (tm-view-en)mime/viewer-mode::)
187 Exit mime/editor-mode. (M-x mime/edit-again is available to
191 Display help message.
194 Set current editing message to enable automatic splitting or not.
195 Form of automatic split messages is message/partial.
198 Set 7bit (*Note (tm-en)7bit::) to transfer level (*Note transfer
202 Set 8bit (*Note (tm-en)8bit::) to transfer level (*Note transfer
206 Set current editing message to digital-sign or not. (cf. *Note
210 Set current editing message to encrypt or not. (cf. *Note PGP::)
213 File: tm-edit-en.info, Node: tag specification for inserted file, Next: transfer level, Prev: other operations of mime/editor-mode, Up: Top
215 Default media-type or encoding for inserted file
216 ************************************************
218 When `C-c C-x C-i' (`mime-editor/insert-file') is pressed, tag
219 parameters for inserted file, such as media-type or encoding, are
220 detected by variable `mime-file-types'.
222 When `C-u' is followed by it or parameter is not found from the
223 variable, it asks from user. (When `C-u' is followed by it, detected
224 value is used as default value)
226 If you want to change default value for file names, please change
227 variable `mime-file-types'.
229 - Variable: mime-file-types
230 Specification of default value of tag for file name of inserted
233 It is a list of following list:
235 (FILE_PAT TYPE SUBTYPE PARAMS ENCODING
236 DISPOSITION_TYPE DISPOSITION_PARAMS)
238 Each elements of the list are following:
241 regular expression of file name
250 parameters of Content-Type field
253 Content-Transfer-Encoding
259 parameters of Content-Disposition field
261 Example: Specify application/rtf as default media type for `*.rtf'
266 (set-alist 'mime-file-types
268 '("application" "rtf" nil nil
269 "attachment" (("filename" . file)))
273 File: tm-edit-en.info, Node: transfer level, Next: header, Prev: tag specification for inserted file, Up: Top
278 Contents inserted in a message are represented by 7bit (*Note
279 (tm-en)7bit::), 8bit (*Note (tm-en)8bit::) or binary (*Note
282 If a message is translated by 7bit-through MTA (*Note (tm-en)MTA::),
283 there is no need to encode 7bit data, but 8bit and binary data must be
284 encoded to 7bit data.
286 Similarly, if a message is translated by 8bit-through MTA, there is
287 no need to encode 7bit or 8bit data, but binary data must be encoded to
291 EBCDIC MTA breaks 7bit data, so in this case, 7bit data must be
292 encoded by base64. But I don't know EBCDIC. (^_^;
294 Similarly, I wish ASCII-printable only MTA and code-conversion MTA
297 Maybe there are binary-through MTA, but I think it is not major.
299 *transfer level* represents how range data is available. tm-edit
300 has a variable `mime-editor/transfer-level' to represent transfer level.
302 - Variable: mime-editor/transfer-level
305 If transfer level of a data is over it, a data is encoded to 7bit.
307 Currently, 7 or 8 is available. Default value is 7.
309 In extension plan, EBCDIC will be 5, ASCII printable only will be
310 6, binary will be 9. But it will not be implemented.
313 transfer level is only for body, not for header (*Note header::).
314 RFC 1521 extends RFC 822 (*Note (tm-en)RFC 822::) to use 8bit data
315 in body, but it requires to use us-ascii (*Note (tm-en)us-ascii::)
319 File: tm-edit-en.info, Node: header, Next: PGP, Prev: transfer level, Up: Top
321 Using non-ASCII characters in header
322 ************************************
324 RFC 1522 (*Note (tm-en)RFC 1522::) defines representation of
325 non-ASCII characters in header.
327 It is a format called as *encoded-word* (*Note
328 (tm-en)encoded-word::), it is available to represent every non-ASCII
329 characters by 7bit (*Note (tm-en)7bit::) to declare MIME charset (*Note
330 (tm-en)MIME charset::).
334 * evil setting in header:: If you can not allow encoded-word
335 * API about header:: Functions and variables about header
338 File: tm-edit-en.info, Node: evil setting in header, Next: API about header, Prev: header, Up: header
340 If you can not allow encoded-word
341 =================================
343 It is wrong to use "raw" non-ASCII characters in header not to use
344 encoded-word. Because there are various kinds of coded character set
345 (*Note (tm-en)Coded character set::) in the Internet, so we can not
346 distinguish them if MIME charset (*Note (tm-en)MIME charset::) is not
349 For example, we can not distinguish iso-8859-1 (*Note
350 (tm-en)iso-8859-1::) and iso-8859-2 (*Note (tm-en)iso-8859-2::) if MIME
351 charset is not declared.
353 However you can not permit to use encoded-word, please set to
356 - Variable: mime/field-encoding-method-alist
357 Association-list to specify field encoding method. Its key is
358 field-name, value is encoding method.
360 field-name allows string or `t' meaning any fields.
362 Encoding method allows following: `nil' means no-conversion,
363 `mime' means to convert as encoded-word, symbol represent MIME
364 charset means to convert as the coded character set instead of to
365 convert as encoded-word.
367 field-name is searched from string. If it is not found, `t' is
370 Default value of `mime/field-encoding-method-alist' is following:
372 (("X-Nsubject" . iso-2022-jp-2)
377 In addition, if you want to specify by coded character set instead of
378 field, please use `mime-eword/charset-encoding-alist'. (cf. *Note API
382 File: tm-edit-en.info, Node: API about header, Prev: evil setting in header, Up: header
384 Functions and variables about header
385 ====================================
387 - Command: mime/encode-message-header &optional CODE-CONVERSION
388 It translate non-ASCII characters in message header of current
389 buffer into network representation, such as encoded-words.
391 If CODE-CONVERSION is non-`nil', field not encoded by encoded-word
392 is converted by `mime/field-encoding-method-alist'.
394 - Function: mime/encode-field STRING
395 It encodes STRING into encoded-words as a field.
397 Long lines are folded.
399 - Function: mime-eword/encode-string STRING &optional COLUMN MODE
400 It encodes STRING into encoded-words.
402 Long lines are folded.
404 COLUMN specifies start column. If it is omitted, 0 is used.
406 MODE specifies where STRING is in. Available values are `text',
407 `comment', `phrase'. If it is omitted, `phrase' is used.
409 - Variable: mime-eword/charset-encoding-alist
410 Association-list of symbol represent MIME charset vs. nil, `"B"' or
413 `nil' means not to encode as encoded-word. `"B"' means to use
414 B-encoding. `"Q"' means to use Q-encoding.
417 File: tm-edit-en.info, Node: PGP, Next: Acknowledgments, Prev: header, Up: Top
422 tm-edit provides PGP encryption, signature and inserting public-key
423 features based on *PGP/MIME* (*Note (tm-en)PGP/MIME::) (RFC 2015) or
424 *PGP-kazu* (*Note (tm-en)PGP-kazu::) (draft-kazu-pgp-mime-00.txt).
426 This feature requires pgp command and Mailcrypt package (*Note
429 If you want to use this feature, please set `pgp-elkins' or
430 `pgp-kazu' to variable `mimed-editor/signing-type' and variable
431 `mime-editor/encrypting-type'.
433 If `pgp-elkins' is specified, PGP/MIME is used. If `pgp-kazu' is
434 specified, PGP-kazu is used.
436 - Variable: mime-editor/signing-type
437 Format of PGP signature.
439 It allows `pgp-elkins' or `pgp-kazu'.
441 Default value is `nil'.
443 - Variable: mime-editor/encrypting-type
444 Format of PGP encryption.
446 It allows `pgp-elkins' or `pgp-kazu'.
448 Default value is `nil'.
451 File: tm-edit-en.info, Node: Acknowledgments, Next: Concept Index, Prev: PGP, Up: Top
456 First of all, I thank UMEDA Masanobu for his work of `mime.el',
457 which is the origin of tm-edit, and permission to rewrite his work as
460 I thank members of two tm mailing lists, Japanese and English
464 File: tm-edit-en.info, Node: Concept Index, Next: Function Index, Prev: Acknowledgments, Up: Top
471 * enclosure: mime/editor-mode.
472 * encoded-word: header.
473 * mime/editor-mode: mime/editor-mode.
474 * multi-part beginning tag: mime/editor-mode.
475 * multi-part ending tag: mime/editor-mode.
478 * tag: mime/editor-mode.
479 * tm-edit: Introduction.
480 * transfer level: transfer level.
483 File: tm-edit-en.info, Node: Function Index, Next: Variable Index, Prev: Concept Index, Up: Top
490 * mime-eword/encode-string: API about header.
491 * mime/encode-field: API about header.
492 * mime/encode-message-header: API about header.
495 File: tm-edit-en.info, Node: Variable Index, Prev: Function Index, Up: Top
502 * mime-editor/encrypting-type: PGP.
503 * mime-editor/signing-type: PGP.
504 * mime-editor/transfer-level: transfer level.
505 * mime-eword/charset-encoding-alist: API about header.
506 * mime-file-types: tag specification for inserted file.
507 * mime/field-encoding-method-alist: evil setting in header.
513 Node: Introduction
\7f780
514 Node: mime/editor-mode
\7f1599
515 Node: single-part operations
\7f2919
516 Node: enclosure operation
\7f3937
517 Node: other operations of mime/editor-mode
\7f4785
518 Node: tag specification for inserted file
\7f5857
519 Node: transfer level
\7f7534
521 Node: evil setting in header
\7f9785
522 Node: API about header
\7f11382
524 Node: Acknowledgments
\7f13527
525 Node: Concept Index
\7f13875
526 Node: Function Index
\7f14556
527 Node: Variable Index
\7f14874