1 [README for tm (English Version)]
2 by MORIOKA Tomohiko <morioka@jaist.ac.jp>
3 and KOBAYASHI Shuhei <shuhei-k@jaist.ac.jp>
4 $Id: README.en,v 7.24 1996/10/14 09:33:14 morioka Exp $
8 tm is a MIME package for GNU Emacs. tm has following functions:
10 - MIME style multilingual header
11 - MIME message viewer (mime/viewer-mode)
12 - MIME message composer (mime/editor-mode)
13 - MIME extenders for mh-e, GNUS, Gnus, RMAIL and VM
18 This package includes the following documents.
22 - tm/doc/tm_en.texi : tm Reference Manual (TeXinfo)
23 - tm/doc/tm-gnus_en.texi: tm-gnus Reference Manual (TeXinfo)
24 - tm/doc/tm-mh-e_en.texi: tm-mh-e Reference Manual (TeXinfo)
28 - tm/doc/tm_ja.tex : tm Reference Manual (TeXinfo)
29 - tm/doc/tm-gnus_ja.texi : tm-gnus Reference Manual (TeXinfo)
30 - tm/doc/tm-mh-e_ja.texi : tm-mh-e Reference Manual (TeXinfo)
31 - tm/doc/signature-jp.ol : signature.el Reference Manual (Emacs Outline)
32 - tm/doc/signature-jp.tex: signature.el Reference Manual (LaTeX)
37 tm has following modules:
39 - tm-view : MIME viewer
40 - tm-parse.el : MIME message parser
41 - tm-play.el : MIME content player
42 - tm-ew-d.el : MIME encoded-word decoder
43 - preview filter for tm-view
44 - tm-text : for text/*
45 - tm-image : for image/* and X-Face
46 - internal methods for tm-view
47 - tm-partial : automatic assembler for message/partial
48 - tm-ftp : for anonymous ftp
49 - tm-file : for file extraction
50 - tm-tar : for tar content
51 - tm-latex : for LaTeX
52 - tm-html : for text/html
54 - tm-edit : MIME composer (mime.el and tm-comp.el were merged)
55 - tm-ew-e.el : MIME encoded-word encoder
56 - tm-def : definition module for tm
57 - tm-MUAs : MIME extender for MUAs
58 - tm-mh-e : tm-MUA for mh-e
59 - tm-gnus : tm-MUA for GNUS
60 - tm-rmail : tm-MUA for RMAIL
61 - tm-vm : tm-MUA for vm
62 - tm-mail : tm-MUA library module for mail-mode
63 - mime-setup: set up module for MIME
64 - tm-setup: set up only reading
69 4.1 edit tm/TM-CFG (optional)
71 You can edit tm/TM-CFG file.
73 By default, tm is installed into /usr/local/. If you want to change this,
74 please modify the variables `PREFIX' and `EXEC_PREFIX'.
77 4.2 tm-gnus (optional)
79 If you use optional GNUS or Gnus, which is not included in the Emacs
80 distribution, you must edit the following files before running make.
82 If you use Emacs 18.* and GNUS 3.*, please edit tm/gnus/g3-path.
84 If you use Emacs 18.* and GNUS 4.*, please edit tm/gnus/g4-path.
86 If you use Gnus 5.[01].*, please edit tm/gnus/g5-path.
88 If you use Gnus 5.2.*, please edit tm/gnus/s-path.
91 4.3 edit external methods (optional)
93 You can edit external methods in `tm/methods/' directory for your
96 tm/methods/tm-au for audio
97 tm/methods/tm-file for file extraction
98 tm/methods/tm-image for image
99 tm/methods/tm-mpeg for MPEG
100 tm/methods/tm-plain for plain text
101 tm/methods/tm-html for HTML
102 tm/methods/tmdecode decoder
104 By default, tmdecode uses the `mmencode' command, which is part of
105 the metamail package (available by anonymous ftp from
106 ftp://thumper.bellcore.com/pub/nsb). If you don't have the metamail
107 package, please modify tmdecode to use decode-b instead of mmencode.
114 You can specify the Emacs command name, for example if you want to use
115 `mule' as the Emacs command:
117 % make all EMACS=mule
124 You can specify the Emacs command name, for example if you want to use
125 `xemacs' as the Emacs command:
127 % make install EMACS=xemacs
132 Please insert `(load "mime-setup")' in ~/.emacs.
135 6.1 automatic MIME preview support
137 tm-gnus provides automatic MIME preview feature for GNUS 3.15 or
138 later, Gnus 5.0.*, Gnus 5.1, and Gnus 5.2.
140 If you don't want to use automatic MIME preview feature, please
143 (setq tm-gnus/automatic-mime-preview nil)
145 In addition, Gnus 5.2 has automatic MIME preview supporting feature.
146 Of course, tm-gnus provides this feature for other GNUS and Gnus, but
149 When automatic MIME preview mode, GNUS and Gnus do MIME processing
150 if a message has a Mime-Version field. If it does not have one, GNUS
151 and Gnus does not do MIME processing, in default.
153 Gnus 5.0.*, 5.1 and Gnus 5.2 have a variable `gnus-strict-mime'. If
156 (setq gnus-strict-mime nil)
158 Gnus does MIME processing even if a message does not have a
161 In Gnus 5.2, if `gnus-strict-mime' is not nil, variable
162 `gnus-decode-encoded-word-method' is called. tm-gnus uses it to decode
163 RFC 1522 encoded-words. So it is not necessary to reset
169 If you use vm, please insert `(require 'tm-vm)' in ~/.vm.
171 tm works well with BBDB: If you use VM, please insert
172 (require 'tm-vm) *after* (bbdb-insinuate-vm).
177 If you have the PGP and Mailcrypt packages, you can use PGP with
178 MIME. Currently, PGP/MIME (RFC 2015) and draft-kazu-pgp-mime-00.txt
179 are proposed, so tm provides both ways.
181 For decoding, please insert the following into ~/.emacs:
183 ======================================================================
190 ======================================================================
192 tm-pgp.el is an internal method module to support PGP.
194 For encoding, tm-edit provides 2 mechanisms. One is for signing or
195 encrypting for message as application/pgp. There are two commands,
196 `mime-editor/set-sign' and `mime-editor/set-encrypt'. They set a
197 message as signed, encrypted or not.
199 Another one is for content. There are 2 kinds of enclosures for PGP:
200 ``signed'' and ``encrypted''. Their enclosure are bound to key and
201 menu. If you use this mechanism, please specify 2 variables:
202 `mime-editor/signing-type' and `mime-editor/encrypting-type'. They
203 requires following values:
205 pgp-elkins processed as PGP/MIME (RFC 2015)
206 pgp-kazu processed as draft-kazu-pgp-mime-00.txt
209 If you use ``signed'' and ``encrypted'' as PGP/MIME, please insert
212 ======================================================================
213 (setq mime-editor/signing-type 'pgp-elkins)
214 (setq mime-editor/encrypting-type 'pgp-elkins)
215 ======================================================================
217 If you use ``signed'' and ``encrypted'' as draft-kazu-pgp-mime-00.txt,
218 please insert into ~/.emacs:
220 ======================================================================
221 (setq mime-editor/signing-type 'pgp-kazu)
222 (setq mime-editor/encrypting-type 'pgp-kazu)
223 ======================================================================
226 6.4 code sample for hilit19
228 ======================================================================
231 (let* ((csubject-patterns '(("^\\[.+\\]$" nil msg-subject)))
232 (header-patterns '(("^Subject:.*$" nil msg-subject)
233 ("^From:.*$" nil msg-from)
234 ("^--text follows this line--$"
236 ("^[A-Za-z][A-Za-z0-9-]+:" nil msg-header)
238 (body-patterns '(("^\\(In article\\|[ \t]*\\w*[]<>}|]\\).*$"
240 (message-patterns (append ;;csubject-patterns
244 (hilit-set-mode-patterns 'msg-header header-patterns)
245 (hilit-set-mode-patterns 'msg-body body-patterns)
246 (hilit-set-mode-patterns 'mime/viewer-mode
248 'hilit-rehighlight-message)
250 (add-hook 'mime-viewer/content-header-filter-hook
252 (if (not (eq mime::preview/original-major-mode
253 'gnus-original-article-mode))
254 (hilit-rehighlight-buffer-quietly)
256 (add-hook 'mime-viewer/plain-text-preview-hook
258 (if (not (eq mime::preview/original-major-mode
259 'gnus-original-article-mode))
260 (hilit-rehighlight-buffer-quietly)
263 ======================================================================
266 6.5 code sample for browse-url
268 If you have browse-url.el (included in Gnus 5.*, September Gnus and
269 Emacs 19.30 or later), you can use URL button in
270 mime/viewer-mode. Sample code follows:
272 ======================================================================
273 (setq browse-url-browser-function
274 (if (eq window-system 'x)
277 (autoload browse-url-browser-function "browse-url"
278 "Ask a WWW browser to show a URL." t)
279 ======================================================================
282 7 How to use mime/viewer-mode
284 In tm-MUAs, you can use mime/viewer-mode if you press the `v' key (in
285 VM, `Z' key) in Summary mode. Or automatic MIME previewed buffer's
286 major-mode is mime/viewer-mode. mime/viewer-mode has following
289 q quit from mime/viewer-mode
290 u move to upper content
291 p move to previous content
292 n move to next content
293 SPC scroll up or move to next content
294 M-SPC scroll down or move to previous content
295 DEL scroll down or move to previous content
296 RET move to next line
297 M-RET move to previous line
298 < move to beginning of message
299 > move to end of message
300 v play current content
301 e extract as file current content
302 C-c C-p print current content
303 f display X-Face in current message
304 button-2 move to point under the mouse cursor and play
305 current content or browse URL
310 If you write bug-reports and/or propositions for improvement, please
313 bug-tm-en@chamonix.jaist.ac.jp (English)
314 bug-tm-ja@chamonix.jaist.ac.jp (Japanese)
316 Via tm ML, You can report bugs of tm, obtain the latest release of tm
317 package, and discuss the future enhancements to tm. To join tm ML,
320 tm-ja-admin@chamonix.jaist.ac.jp (Japanese)
321 tm-en-admin@chamonix.jaist.ac.jp (English)
323 Since the user registration is manually done, please write the mail
324 body in human-recognizable language (^_^).
327 9 How to get the latest version
329 tm is available from following anonymous ftp site:
331 ftp://ftp.jaist.ac.jp/pub/GNU/elisp/mime/ (Japan)
335 ftp://ftp.nis.co.jp/pub/gnu/emacs-lisp/tm/ (Japan)
336 ftp://ftp.nisiq.net/pub/gnu/emacs-lisp/tm/ (US)
341 - MUA specific key binding system for mime/viewer-mode
342 - better identification calculus system as successor of atype system
343 - development of internal method for message/external-body based on
345 - better automatic MIME preview support