tm 6.76.
[elisp/tm.git] / mime-setup.el
1 ;;;
2 ;;; $Id: mime-setup.el,v 6.1 1995/08/26 20:21:12 morioka Exp $
3 ;;;
4
5 (provide 'mime-setup)
6
7 (require 'tm-setup)
8
9
10 ;;; @ variables
11 ;;;
12 (defvar mime-setup-use-sc nil)
13
14
15 ;;; @ for Edit MIME mode
16 ;;;
17 (autoload 'mime-mode "mime" "Edit MIME message." t)
18 (autoload 'mime-convert-buffer "mime" "convert to MIME." t)
19
20 (autoload 'mime/encode-message-header "tiny-mime"
21           "convert message header to MIME style." t)
22
23 (autoload 'insert-signature "signature" "Insert signature" t)
24
25 (add-hook 'mime-mode-hook
26           (function
27            (lambda ()
28              (define-key (current-local-map)
29                "\C-c\C-s" (function insert-signature))
30              )))
31 (setq mime-translate-hook (function mime/encode-message-header))
32
33 (if (boundp 'MULE)
34     (progn
35       (defun mime-header-charset-chooser-for-mule-no-encode-ISO-2022-JP (begin end)
36         (let ((lclist (find-charset-region begin end)))
37           (cond ((null lclist) nil)             ;US-ASCII requres no encoding.
38                 ((memq lc-ltn1 lclist)
39                  '("ISO-8859-1" . "Q"))
40                 ((memq lc-ltn2 lclist)
41                  '("ISO-8859-2" . "Q"))
42                 ((memq lc-ltn3 lclist)
43                  '("ISO-8859-3" . "Q"))
44                 ((memq lc-ltn4 lclist)
45                  '("ISO-8859-4" . "Q"))
46                 ((memq lc-crl lclist)
47                  '("ISO-8859-5" . "Q"))
48                 ;;((memq lc-arb lclist)
49                 ;; '("ISO-8859-6" . "Q"))
50                 ((memq lc-grk lclist)
51                  '("ISO-8859-7" . "Q"))
52                 ((memq lc-hbw lclist)
53                  '("ISO-8859-8" . "Q"))
54                 ((memq lc-ltn5 lclist)
55                  '("ISO-8859-9" . "Q"))
56                 ((memq lc-jp lclist) nil)
57                 (t                              ;Unknown charset.  It must be Mule!
58                  '("ISO-2022-JP-2" . "B"))
59                 )))
60       (setq mime-header-charset-chooser
61             'mime-header-charset-chooser-for-mule-no-encode-ISO-2022-JP)
62       )
63   (progn
64     (defun mime-header-charset-chooser-for-nemacs-no-encode-ISO-2022-JP (begin end))
65     (setq mime-header-charset-chooser
66           'mime-header-charset-chooser-for-nemacs-no-encode-ISO-2022-JP)
67     ))
68
69 (setq mime-content-types
70       '(("text"
71          ;; Charset parameter need not to be specified, since it is
72          ;; defined automatically while translation.
73          ("plain"
74           ;;("charset" "" "ISO-2022-JP" "US-ASCII" "ISO-8859-1" "ISO-8859-8")
75           )
76          ("richtext"
77           ;;("charset" "" "ISO-2022-JP" "US-ASCII" "ISO-8859-1" "ISO-8859-8")
78           )
79          ("enriched"
80           ;;("charset" "" "ISO-2022-JP" "US-ASCII" "ISO-8859-1" "ISO-8859-8")
81           )
82          ("x-latex"
83           ("x-name")
84           ;;("charset" "" "ISO-2022-JP" "US-ASCII" "ISO-8859-1" "ISO-8859-8")
85           )
86          ("html"
87           ("x-name")
88           ;;("charset" "" "ISO-2022-JP" "US-ASCII" "ISO-8859-1" "ISO-8859-8")
89           ))
90         ("message"
91          ("external-body"
92           ("access-type"
93            ("anon-ftp"
94             ("site" "wnoc-fuk.wide.ad.jp" "nic.karrn.ad.jp")
95             ("directory")
96             ("name")
97             ("mode" "binary" "ascii"))
98            ("ftp"
99             ("site")
100             ("directory")
101             ("name")
102             ("mode" "binary" "ascii"))
103            ("tftp"
104             ("site")
105             ("name"))
106            ("afs"
107             ("site")
108             ("name"))
109            ("local-file"
110             ("site")
111             ("name"))
112            ("mail-server"
113             ("server"))))
114          ("rfc822"))
115         ("application"
116          ("octet-stream"
117           ("name")
118           ("type" "" "tar" "shar")
119           ("conversions"))
120          ("postscript")
121          ("x-kiss"
122           ("x-name")
123           ("x-cnf")))
124         ("image"
125          ("gif"  ("x-name"))
126          ("jpeg" ("x-name"))
127          ("x-pic"  ("x-name"))
128          ("x-xwd")
129          ("x-xbm"))
130         ("audio"
131          ("basic"))
132         ("video"
133          ("mpeg")))
134       )
135
136 (setq mime-file-types
137       '(("\\.rtf$"      "text"  "richtext"      nil     nil)
138         ("\\.html$"     "text"  "html"  nil     nil)
139         ("\\.ps$"       "application"   "postscript"    nil     "quoted-printable")
140         ("\\.gif$"      "image"         "gif"   nil     "base64")
141         ("\\.jpg$"      "image"         "jpeg"  nil     "base64")
142         ("\\.xwd$"      "image"         "x-xwd" nil     "base64")
143         ("\\.xbm$"      "image"         "x-xbm" nil     "base64")
144         ("\\.PIC$"      "image"         "x-pic" nil     "base64")
145         ("\\.pic$"      "image"         "x-pic" nil     "base64")
146         ("\\.tiff$"     "image"         "tiff"  nil     "base64")
147         ("\\.au$"       "audio"         "basic" nil     "base64")
148         ("\\.mpg$"      "video"         "mpeg"  nil     "base64")
149         ("\\.el$"       "application"   "octet-stream"  nil     "7bit")
150         ("\\.signature" "text"  "plain" nil     nil)
151         (".*"   nil             nil     nil     nil))
152       )
153
154
155 ;;; @ about SuperCite
156 ;;;
157 (if mime-setup-use-sc
158     (require 'sc-setup)
159   )
160
161
162 ;;; @ for mh-e
163 ;;;
164 (add-hook 'mh-letter-mode-hook
165           (function
166            (lambda ()
167              (mime/decode-message-header)
168              (mime-mode)
169              (make-local-variable 'mail-header-separator)
170              (setq mail-header-separator "--------"))
171            ))
172
173
174 ;;; @ for GNUS
175 ;;;
176 (add-hook 'news-reply-mode-hook
177           (function
178            (lambda ()
179              (mime/decode-message-header)
180              (set-buffer-modified-p nil)
181              (mime-mode)
182              )))
183 (setq gnus-signature-file nil)
184
185
186 ;;; @ for Mail mode (includes VM mode)
187 ;;;
188 (add-hook 'mail-mode-hook (function mime-mode))
189 (add-hook 'mail-setup-hook (function mime/decode-message-header))
190
191 ;;; @@ In VM, the following definitions may be requried:
192 ;;; 
193 (if (boundp 'vm-visible-headers)
194     (progn
195       (setq vm-preview-lines nil)
196       (setq vm-invisible-header-regexp nil)
197       (setq vm-visible-headers
198             (append vm-visible-headers
199                     '("Mime-Version:"
200                       "Content-Type:"
201                       "Content-Transfer-Encoding:")))
202       ))
203
204 ;;; Local Variables:
205 ;;; mode: emacs-lisp
206 ;;; mode: outline-minor
207 ;;; outline-regexp: ";;; @+\\|(......"
208 ;;; End: