tm 7.39.
[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.11 1995/12/25 10:43:59 morioka Exp $
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-gnus_en.texi: tm-gnus Reference Manual (TeXinfo)
24 - tm/doc/tm-mh-e_en.texi: tm-mh-e Reference Manual (TeXinfo)
25
26 (2) Japanese edition
27
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)
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 provides 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-02.txt and
218 draft-kazu-pgp-mime-00.txt) are proposed, so tm provides 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.
232
233   For encoding, tm-edit provides 2 mechanism. One is for signing or
234 encrypting for message as application/pgp. There are two command
235 `mime-editor/set-sign' and `mime-editor/set-encrypt'. They set a
236 message is signed, encrypted or not.
237
238   Another one is for content. There are 2 kinds of enclosure for PGP:
239 ``signed'' and ``encrypted''. Their enclosure are bound to key and
240 menu. If you use this mechanism, please specify 2 variables:
241 `mime-editor/signing-type' and `mime-editor/encrypting-type'. They
242 requires following values:
243
244         pgp-elkins      processed as draft-elkins-pem-pgp-02.txt
245         pgp-kazu        processed as draft-kazu-pgp-mime-00.txt
246         nil             not processed
247
248 If you use ``signed'' and ``encrypted'' as draft-elkins-pem-pgp-02.txt,
249 please insert following into ~/.emacs:
250
251 ======================================================================
252 (setq mime-editor/signing-type    'pgp-elkins)
253 (setq mime-editor/encrypting-type 'pgp-elkins)
254 ======================================================================
255
256 If you use ``signed'' and ``encrypted'' as draft-kazu-pgp-mime-00.txt,
257 please insert following into ~/.emacs:
258
259 ======================================================================
260 (setq mime-editor/signing-type    'pgp-kazu)
261 (setq mime-editor/encrypting-type 'pgp-kazu)
262 ======================================================================
263
264
265 6.3 setting sample for hilit19
266
267 ======================================================================
268 (cond (window-system
269        (require 'hilit19)
270        (let* ((csubject-patterns '(("^\\[.+\\]$" nil msg-subject)))
271               (header-patterns '(("^Subject:.*$" nil msg-subject)
272                                  ("^From:.*$" nil msg-from)
273                                  ("^--text follows this line--$"
274                                   nil msg-separator)
275                                  ("^[A-Za-z][A-Za-z0-9-]+:" nil msg-header)
276                                  ))
277               (body-patterns '(("^\\(In article\\|[ \t]*\\w*[]<>}|]\\).*$"
278                                 nil msg-quote)))
279               (message-patterns (append ;;csubject-patterns
280                                  header-patterns
281                                  body-patterns))
282               )
283          (hilit-set-mode-patterns 'msg-header header-patterns)
284          (hilit-set-mode-patterns 'msg-body body-patterns)
285          (hilit-set-mode-patterns 'mime/viewer-mode
286                                   message-patterns
287                                   'hilit-rehighlight-message)
288          )
289        (add-hook 'mime-viewer/content-header-filter-hook
290                  (lambda ()
291                    (if (not (eq mime::preview/original-major-mode
292                                 'gnus-original-article-mode))
293                        (hilit-rehighlight-buffer-quietly)
294                      )))
295        (add-hook 'mime-viewer/plain-text-preview-hook
296                  (lambda ()
297                    (if (not (eq mime::preview/original-major-mode
298                                 'gnus-original-article-mode))
299                        (hilit-rehighlight-buffer-quietly)
300                      )))
301        ))
302 ======================================================================
303
304 6.4 setting sample for browse
305
306   If you have browse-url.el (included in Gnus 5.*, September Gnus and
307 Emacs 19.30 or later), you can use URL button in
308 mime/viewer-mode. Following is setting sample:
309
310 ======================================================================
311 (setq browse-url-browser-function
312       (if (eq window-system 'x)
313           'browse-url-netscape
314         'browse-url-w3))
315 (autoload browse-url-browser-function "browse-url"
316   "Ask a WWW browser to show a URL." t)
317 ======================================================================
318
319
320 7 How to use mime/viewer-mode
321
322 In tm-MUAs, you can use mime/viewer-mode if you press `v' key (in VM,
323 `Z' key) in Summary mode. Or automatic MIME previewed buffer's
324 major-mode is mime/viewer-mode. mime/viewer-mode has following
325 functions:
326
327         q         quit from mime/viewer-mode
328         u         move to upper content
329         p         move to previous content
330         n         move to next content
331         SPC       scroll up or move to next content
332         M-SPC     scroll down or move to previous content
333         DEL       scroll down or move to previous content
334         RET       move to next line
335         M-RET     move to previous line
336         <         move to beginning of message
337         >         move to end of message
338         v         play current content
339         e         extract as file current content
340         C-c C-p   print current content
341         f         display X-Face in current message
342         button-2  move to point under the mouse cursor and play
343                   current content or browse URL
344
345
346 8 Bug report
347
348 If you write bug-reports and/or propositions for improvement, please
349 post them to following news groups:
350
351         fj.editor.emacs         (Japanese or English)
352         fj.editor.mule          (Japanese or English; if you use Mule)
353         gnu.emacs.help          (English)
354
355         fj.news.reader.gnus     (Japanese or English; about GNUS and Gnus)
356         gnu.emacs.gnus          (English; about GNUS and Gnus)
357
358         gnu.emacs.vm.info       (English; about tm-vm)
359
360 or send to tm ML:
361
362         bug-tm-en@chamonix.jaist.ac.jp  (English)
363         bug-tm-ja@chamonix.jaist.ac.jp  (Japanese)
364
365 Via tm ML, You can report bugs of tm, obtain the latest release of tm
366 package, and discuss the future enhancements to tm. To join tm ML,
367 send a mail to
368
369         tm-admin@chamonix.jaist.ac.jp           (Japanese or English)
370         tm-eng-admin@chamonix.jaist.ac.jp       (English)
371
372 Since the user registration is manually done, please write the mail
373 body in human-recognizable language (^_^).
374
375
376 9 How to get new version
377
378 tm is available from following anonymous ftp site:
379
380         ftp://ftp.jaist.ac.jp/pub/GNU/elisp/mime/       (Japan)
381
382 and its mirrors:
383
384         ftp://ftp.nis.co.jp/pub/gnu/emacs-lisp/tm/      (Japan)
385         ftp://ftp.nisiq.net/pub/gnu/emacs-lisp/tm/      (US)
386
387
388 10 TODO
389
390 - MUA specific key bind system for mime/viewer-mode
391 - better identification calculus system as successor of atype system
392 - development of internal method for message/external-body based on
393   tm-ftp
394 - better automatic MIME preview support
395 - etc.