This commit was generated by cvs2svn to compensate for changes in r533,
[elisp/tm.git] / tm-setup.el
1 ;;; tm-setup.el --- setup file for tm viewer.
2
3 ;; Copyright (C) 1994,1995,1996,1997 Free Software Foundation, Inc.
4
5 ;; Author: MORIOKA Tomohiko <morioka@jaist.ac.jp>
6 ;; Version: $Id: tm-setup.el,v 7.11 1997/02/10 06:11:06 morioka Exp $
7 ;; Keywords: mail, news, MIME, multimedia, multilingual, encoded-word
8
9 ;; This file is part of tm (Tools for MIME).
10
11 ;; This program is free software; you can redistribute it and/or
12 ;; modify it under the terms of the GNU General Public License as
13 ;; published by the Free Software Foundation; either version 2, or (at
14 ;; your option) any later version.
15
16 ;; This program is distributed in the hope that it will be useful, but
17 ;; WITHOUT ANY WARRANTY; without even the implied warranty of
18 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
19 ;; General Public License for more details.
20
21 ;; You should have received a copy of the GNU General Public License
22 ;; along with GNU Emacs; see the file COPYING.  If not, write to the
23 ;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
24 ;; Boston, MA 02111-1307, USA.
25
26 ;;; Code:
27
28 (require 'tl-misc)
29
30
31 ;;; @ for tm-view
32 ;;;
33
34 (call-after-loaded
35  'tm-view
36  (function
37   (lambda ()
38     ;; for message/partial
39     (require 'tm-partial)
40     
41     ;; for anonymous ftp
42     (set-atype 'mime/content-decoding-condition
43                '((type . "message/external-body")
44                  ("access-type" . "anon-ftp")
45                  (method . mime-article/decode-message/external-ftp)
46                  ))
47     (autoload 'mime-article/decode-message/external-ftp "tm-ftp")
48     
49     ;; for LaTeX
50     (set-atype 'mime/content-decoding-condition
51                '((type . "text/x-latex")
52                  (method . mime/decode-text/latex)
53                  ))
54     (set-atype 'mime/content-decoding-condition
55                '((type . "application/x-latex")
56                  (method . mime/decode-text/latex)
57                  ))
58     ;;(set-atype 'mime/content-decoding-condition
59     ;;  '((type . "application/octet-stream")
60     ;;            ("type" . "latex")
61     ;;            (method . mime/decode-text/latex)
62     ;;            ))
63     (autoload 'mime/decode-text/latex "tm-latex")
64     )))
65
66
67 ;; for image/* and X-Face
68 (defvar mime-setup-enable-inline-image
69   (and window-system
70        (or running-xemacs
71            (and (featurep 'mule)(module-installed-p 'bitmap))
72            ))
73   "*If it is non-nil, tm-setup sets up to use tm-image.")
74
75 (if mime-setup-enable-inline-image
76     (call-after-loaded 'tm-view
77                        (function
78                         (lambda ()
79                           (require 'tm-image)
80                           )))
81   )
82
83
84 (defvar mime-setup-enable-pgp
85   (module-installed-p 'mailcrypt)
86   "*If it is non-nil, tm-setup sets uf to use tm-pgp.")
87
88 ;; for PGP
89 (if mime-setup-enable-pgp
90     (call-after-loaded 'tm-view
91                        (function
92                         (lambda ()
93                           (require 'tm-pgp)
94                           )))
95   )
96
97
98 ;;; @ for RMAIL
99 ;;;
100
101 (defun tm-setup/load-rmail ()
102   (or (and (boundp 'rmail-support-mime)
103            rmail-support-mime)
104       (require 'tm-rmail)
105       )
106   (remove-hook 'rmail-mode-hook 'tm-setup/load-rmail)
107   )
108
109 (call-after-loaded 'rmail 'tm-setup/load-rmail 'rmail-mode-hook)
110
111
112 ;;; @ for mh-e
113 ;;;
114
115 (let ((le (function
116            (lambda ()
117              (require 'tm-mh-e)
118              ))
119           ))
120   (call-after-loaded 'mh-e le 'mh-folder-mode-hook)
121   (if (not (featurep 'mh-e))
122       (add-hook 'mh-letter-mode-hook le)
123     ))
124
125
126 ;;; @ for GNUS and Gnus
127 ;;;
128
129 (if (featurep 'gnus)
130     (if (boundp 'gnus-load-hook)
131         (require 'gnus-mime)
132       (require 'tm-gnus)
133       )
134   ;; for GNUS
135   (defvar tm-setup/use-gnusutil nil)
136   
137   (defun tm-setup/load-GNUS ()
138     (require 'tm-gnus)
139     )
140   
141   (if (and (boundp 'MULE) tm-setup/use-gnusutil)
142       (progn
143         (add-hook 'gnus-Group-mode-hook (function gnusutil-initialize))
144         (add-hook 'gnus-group-mode-hook (function gnusutil-initialize))
145         (autoload 'gnusutil-initialize "gnusutil")
146         (autoload 'gnusutil-add-group "gnusutil")
147         (add-hook 'gnusutil-initialize-hook 'tm-setup/load-GNUS)
148         )
149     (add-hook 'gnus-Startup-hook 'tm-setup/load-GNUS 'append)
150     (add-hook 'gnus-startup-hook 'tm-setup/load-GNUS 'append)
151     )
152   
153   ;; for Gnus
154   (defun tm-setup/load-gnus ()
155     (let (gnus-load-hook)
156       (remove-hook 'gnus-startup-hook 'tm-setup/load-GNUS)
157       (require 'gnus-mime)
158       ))
159   
160   (add-hook 'gnus-load-hook 'tm-setup/load-gnus)
161   )
162
163
164 ;;; @ end
165 ;;;
166
167 (provide 'tm-setup)
168
169 ;;; tm-setup.el ends here