Initial Commit
[packages] / xemacs-packages / tm / 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 1.4 2000-12-01 21:50:56 youngs 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 ;;Only load the Gnus parts of TM if Gnus version is < 5.8.0
129
130 (if (featurep 'gnus) 
131     (progn
132       (eval-when-compile
133         (require 'gnus))
134       (if (< (gnus-continuum-version gnus-version) 5.08)
135           (progn
136             (if (boundp 'gnus-load-hook)
137                 (require 'gnus-mime)
138               (require 'tm-gnus))
139             ;; for GNUS
140             (defvar tm-setup/use-gnusutil nil)
141   
142             (defun tm-setup/load-GNUS ()
143               (require 'tm-gnus))
144   
145             (if (and (boundp 'MULE) tm-setup/use-gnusutil)
146                 (progn
147                   (add-hook 'gnus-Group-mode-hook (function gnusutil-initialize))
148                   (add-hook 'gnus-group-mode-hook (function gnusutil-initialize))
149                   (autoload 'gnusutil-initialize "gnusutil")
150                   (autoload 'gnusutil-add-group "gnusutil")
151                   (add-hook 'gnusutil-initialize-hook 'tm-setup/load-GNUS))
152               (add-hook 'gnus-Startup-hook 'tm-setup/load-GNUS 'append)
153               (add-hook 'gnus-startup-hook 'tm-setup/load-GNUS 'append))
154       
155             ;; for Gnus
156             (defun tm-setup/load-gnus ()
157               (let (gnus-load-hook)
158                 (remove-hook 'gnus-startup-hook 'tm-setup/load-GNUS)
159                 (require 'gnus-mime)))
160   
161             (add-hook 'gnus-load-hook 'tm-setup/load-gnus)))))
162
163
164 ;;; @ end
165 ;;;
166
167 (provide 'tm-setup)
168
169 ;;; tm-setup.el ends here