tm 7.33.
[elisp/tm.git] / README.en
1 [README for tm (English Version)]
2 by MORIOKA Tomohiko <morioka@jaist.ac.jp>
3 and KOBAYASHI Shuhei <shuhei@cmpt01.phys.tohoku.ac.jp>
4 $Id: README.en,v 7.5 1995/12/07 11:24:57 morioka Exp morioka $
5
6 1 What's tm?
7
8   tm is a MIME package for GNU Emacs. tm has following functions:
9
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, RMAIL and VM
14
15
16 2 Documents
17
18   This package includes following documents.
19
20 (1) English edition
21
22 - tm/doc/tm_en.texi     : tm Reference Manual (TeXinfo)
23 - tm/doc/tm-view_en.texi: tm-view Reference Manual (TeXinfo)
24 - tm/doc/tm-gnus_en.texi: tm-gnus Reference Manual (TeXinfo)
25
26 (2) Japanese edition
27
28 - tm/doc/tm_ja.tex       : tm Reference Manual (TeXinfo)
29 - tm/doc/tm-view_ja.texi : tm-view Reference Manual (TeXinfo)
30 - tm/doc/tm-gnus_ja.texi : tm-gnus 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)
33
34
35 3 Modules
36
37   tm has following modules:
38
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-rich    : for text/enriched and text/richtext
45         - internal methods for tm-view
46                 - tm-partial : automatic assembler for message/partial
47                 - tm-ftp     : for anonymous ftp
48                 - tm-file    : for file extraction
49                 - tm-tar     : for tar content
50                 - tm-latex   : for LaTeX
51                 - tm-html    : for text/html
52                 - tm-pgp     : for PGP
53         - tm-edit : MIME composer (mime.el and tm-comp.el were merged)
54                 - tm-ew-e.el : MIME encoded-word encoder
55         - tm-def  : definition module for tm
56                 - tm-nemacs.el : NEmacs depended part of tm
57                 - tm-orig.el   : FSF original Emacs and XEmacs
58                                  depended part of tm
59                 - tm-mule.el   : Mule depended part of tm
60         - tm-MUAs : MIME extender for MUAs
61                 - tm-mh-e  : tm-MUA for mh-e
62                 - tm-gnus  : tm-MUA for GNUS
63                 - tm-rmail : tm-MUA for RMAIL
64                 - tm-vm    : tm-MUA for vm
65                 - tm-mail  : tm-MUA library module for mail-mode
66         - mime-setup: set up module for MIME
67                 - tm-setup: set up only reading
68
69
70 4 Install
71
72 4.1 tm/config.tm
73
74   Please edit tm/config.tm file.
75
76
77 4.2 External methods
78
79   Please edit external methods in `tm/methods/' directory for your
80 environment.
81
82         tm/methods/tm-au        for audio
83         tm/methods/tm-file      for file extraction
84         tm/methods/tm-image     for image
85         tm/methods/tm-mpeg      for MPEG
86         tm/methods/tm-plain     for plain text
87         tm/methods/tm-html      for HTML
88         tm/methods/tmdecode     decoder
89
90
91 4.3 make
92
93   Run `make all'.
94
95
96 4.4 install
97
98   Run `make install'.
99
100
101 4.5 Emacs Lisp modules
102
103   Run `make install-18', if you use Emacs 18 (NEmacs, Mule 1.*).
104
105   Run `make install-xemacs', if you use Emacs .. 19.28 (Mule 2.* based
106 on), or XEmacs.
107
108   Run `make install-19_29', if you use Emacs 19.29 or later (Mule 2.*
109 based on).
110
111   Or copy *.el to your emacs lisp directory.
112
113
114 5 tm-MUA
115
116 5.1 tm-gnus
117
118   If you use optional GNUS or Gnus, you must edit and make manually.
119
120 (1) Please edit tm/gnus/Makefile.
121
122     If you use Emacs 18.* and GNUS 3.*, please edit tm/gnus/g3-path.
123
124     If you use Emacs 18.* and GNUS 4.*, please edit tm/gnus/g4-path.
125
126     If you use Gnus 5.0.*, please edit tm/gnus/g5-path.
127
128     If you use September Gnus, please edit tm/gnus/s-path.
129
130 (2) make
131
132   Run `make gnus3', if you use GNUS 3.*.
133
134   Run `make gnus4', if you use GNUS 4.*.
135
136   Run `make gnus5', if you use Gnus 5.0.*.
137
138   Run `make sgnus', if you use September Gnus.
139
140 (3) install
141
142   Run `make install-18', if you use Emacs 18.*.
143
144   Run `make install-19', if you use Emacs .. 19.28 or XEmacs.
145
146   Run `make install-19_29', if you use Emacs 19.29 or later.
147
148
149 5.1.1 automatic MIME preview support
150
151   tm-gnus provides automatic MIME preview feature for GNUS 3.15 or
152 later, Gnus 5.0.*, Gnus 5.1, and September Gnus.
153
154   If you don't want to use automatic MIME preview feature, please
155 insert following to ~/.emacs.
156
157         (setq tm-gnus/automatic-mime-preview nil)
158
159   In addition, September Gnus has automatic MIME preview supporting
160 feature. Of course, tm-gnus provide this feature for other GNUS and
161 Gnus, but it is unnatural.
162
163   When automatic MIME preview mode, GNUS and Gnus do MIME processing
164 if a message has a Mime-Version field. If it does not have, GNUS and
165 Gnus does not do MIME processing, in default.
166
167   Gnus 5.0.*, 5.1 and September Gnus have a variable
168 `gnus-strict-mime'. If you insert
169
170         (setq gnus-strict-mime nil)
171
172 Gnus do MIME processing even if a message does not have Mime-Version
173 field.
174
175   In September Gnus, if `gnus-strict-mime' is not nil, variable
176 `gnus-decode-encoded-word-method' is called. tm-gnus uses it to decode 
177 RFC 1522 encoded-word. So it is not necessary to reset
178 `gnus-strict-mime'.
179
180
181 5.2 tm-mh-e
182
183   If you use optional mh-e, you must edit and make manually.
184
185 (1) Please edit mh-e/Makefile
186
187 (2) make
188
189   Run `make elc'.
190
191 (3) install
192
193   Run `make install-18', if you use Emacs 18.*.
194
195   Run `make install-19', if you use Emacs 19.*.
196
197 5.3 VM
198
199   If you use VM, please edit `mk-tm'.
200
201
202 6 .emacs
203
204   Please insert (load "mime-setup") in ~/.emacs.
205
206 6.1 VM
207
208   If you use vm, please insert (require 'tm-vm) in ~/.vm.
209
210   tm works well with BBDB: If you use VM, please insert
211 (require 'tm-vm) *after* (bbdb-insinuate-vm).
212
213
214 6.2 PGP
215
216   If you have PGP and Mailcrypt package, you can use PGP on
217 MIME. Currently, 2 drafts (draft-elkins-pem-pgp-01.txt and
218 draft-kazu-pgp-mime-00.txt) are proposed, so tm provide both way.
219
220   For decoding, please insert following into ~/.emacs:
221
222 ======================================================================
223 (call-after-loaded
224  'tm-view
225  (function
226   (lambda ()
227     (require 'tm-pgp)
228     )))
229 ======================================================================
230
231 tm-pgp.el is a internal method modules to support PGP. It currently
232 supports application/pgp of draft-kazu-pgp-mime-00.txt and
233 application/pgp-signature of
234 draft-elkins-pem-pgp-01.txt. application/pgp-encrypted and
235 application/pgp-keys will be supported.
236
237   For encoding, tm-edit provides 2 mechanism. One is for signing or
238 encrypting for message as application/pgp. There are two command
239 `mime-editor/set-sign' and `mime-editor/set-encrypt'. They set a
240 message is signed, encrypted or not.
241
242   Another one is for content. There are 2 kinds of enclosure for PGP:
243 ``signed'' and ``encrypted''. Their enclosure are bound to key and
244 menu. If you use this mechanism, please specify 2 variables:
245 `mime-editor/signing-type' and `mime-editor/encrypting-type'. They
246 requires following values:
247
248         pgp-elkins      processed as draft-elkins-pem-pgp-01.txt
249         pgp-kazu        processed as draft-kazu-pgp-mime-00.txt
250         nil             not processed
251
252 Sorry, pgp-elkins is not supported yet. It will be supported. If you
253 use ``signed'' and ``encrypted'' as draft-kazu-pgp-mime-00.txt, please 
254 insert following into ~/.emacs:
255
256 ======================================================================
257 (setq mime-editor/signing-type    'pgp-kazu)
258 (setq mime-editor/encrypting-type 'pgp-kazu)
259 ======================================================================
260
261
262 6.3 setting sample for hilit19
263
264 ======================================================================
265 (cond (window-system
266        (let* ((header-patterns '(("^Subject:.*$" nil msg-subject)
267                                  ("^From:.*$" nil msg-from)
268                                  ("^--text follows this line--$"
269                                   nil msg-separator)
270                                  ("^[A-Za-z][A-Za-z0-9-]+:" nil msg-header)
271                                  ))
272               (body-patterns '(("^\\(In article\\|[ \t]*\\w*[]<>}|]\\).*$"
273                                 nil msg-quote)))
274               (message-patterns (append header-patterns body-patterns))
275               )
276          (hilit-set-mode-patterns 'msg-header header-patterns)
277          (hilit-set-mode-patterns 'msg-body body-patterns)
278          (hilit-set-mode-patterns 'mime/viewer-mode
279                                   message-patterns
280                                   'hilit-rehighlight-message)
281          )
282        (add-hook 'mime-viewer/content-header-filter-hook
283                  (function hilit-rehighlight-buffer-quietly))
284        (add-hook 'mime-viewer/plain-text-preview-hook
285                  (function hilit-rehighlight-buffer-quietly))
286        ))
287 ======================================================================
288
289 6.4 setting sample for browse
290
291   If you have browse-url.el (included in Gnus 5.*, September Gnus and
292 Emacs 19.30 or later), you can use URL button in
293 mime/viewer-mode. Following is setting sample:
294
295 ======================================================================
296 (setq browse-url-browser-function
297       (if (eq window-system 'x)
298           'browse-url-netscape
299         'browse-url-w3))
300 (autoload browse-url-browser-function "browse-url"
301   "Ask a WWW browser to show a URL." t)
302 ======================================================================
303
304
305 7 How to use mime/viewer-mode
306
307 In tm-MUAs, you can use mime/viewer-mode if you press `v' key (in VM,
308 `Z' key) in Summary mode. Or automatic MIME previewed buffer's
309 major-mode is mime/viewer-mode. mime/viewer-mode has following
310 functions:
311
312         q         quit from mime/viewer-mode
313         u         move to upper content
314         p         move to previous content
315         n         move to next content
316         SPC       scroll up or move to next content
317         M-SPC     scroll down or move to previous content
318         DEL       scroll down or move to previous content
319         RET       move to next line
320         M-RET     move to previous line
321         <         move to beginning of message
322         >         move to end of message
323         v         play current content
324         e         extract as file current content
325         C-c C-p   print current content
326         f         display X-Face in current message
327         button-2  move to point under the mouse cursor and play
328                   current content or browse URL
329
330
331 8 Bug report
332
333 If you write bug-reports and/or propositions for improvement, please
334 post them to following news groups:
335
336         fj.editor.emacs         (Japanese or English)
337         fj.editor.mule          (Japanese or English; if you use Mule)
338         gnu.emacs.help          (English)
339
340         fj.news.reader.gnus     (Japanese or English; about GNUS and Gnus)
341         gnu.emacs.gnus          (English; about GNUS and Gnus)
342
343         gnu.emacs.vm.info       (English; about tm-vm)
344
345 or send to tm ML:
346
347         bug-tm-en@chamonix.jaist.ac.jp  (English)
348         bug-tm-ja@chamonix.jaist.ac.jp  (Japanese)
349
350 Via tm ML, You can report bugs of tm, obtain the latest release of tm
351 package, and discuss the future enhancements to tm. To join tm ML,
352 send a mail to
353
354         tm-admin@chamonix.jaist.ac.jp           (Japanese or English)
355         tm-eng-admin@chamonix.jaist.ac.jp       (English)
356
357 Since the user registration is manually done, please write the mail
358 body in human-recognizable language (^_^).
359
360
361 9 How to get new version
362
363 tm is available from following anonymous ftp site:
364
365         ftp://ftp.jaist.ac.jp/pub/GNU/elisp/mime/       (Japan)
366
367 and its mirrors:
368
369         ftp://ftp.nis.co.jp/pub/gnu/emacs-lisp/tm/      (Japan)
370         ftp://ftp.nisiq.net/pub/gnu/emacs-lisp/tm/      (US)
371
372
373 10 TODO
374
375 - automatic MIME preview support for another MUA
376 - better XEmacs support (e.g. inline image)
377 - development of internal method for message/external-body based on
378   tm-ftp
379 - development good MIME composer
380 - etc.