2 ;;; $Id: mime-setup.el,v 1.14 1994/08/01 05:12:01 morioka Exp $
10 (if (< (string-to-int emacs-version) 19)
13 (defvar buffer-undo-list nil)
19 (defvar mime-setup-use-sc t)
22 ;;; @ for Edit MIME mode
24 (autoload 'mime-mode "mime" "Edit MIME message." t)
25 (autoload 'mime-convert-buffer "mime" "convert to MIME." t)
27 (autoload 'mime/encode-message-header "tiny-mime"
28 "convert message header to MIME style." t)
30 (autoload 'insert-signature "signature" "Insert signature" t)
32 (add-hook 'mime-mode-hook
35 (define-key (current-local-map)
36 "\C-c\C-s" (function insert-signature))
38 (setq mime-translate-hook (function mime/encode-message-header))
42 (defun mime-header-charset-chooser-for-mule-no-encode-ISO-2022-JP (begin end)
43 (let ((lclist (find-charset-region begin end)))
44 (cond ((null lclist) nil) ;US-ASCII requres no encoding.
45 ((memq lc-ltn1 lclist)
46 '("ISO-8859-1" . "Q"))
47 ((memq lc-ltn2 lclist)
48 '("ISO-8859-2" . "Q"))
49 ((memq lc-ltn3 lclist)
50 '("ISO-8859-3" . "Q"))
51 ((memq lc-ltn4 lclist)
52 '("ISO-8859-4" . "Q"))
54 '("ISO-8859-5" . "Q"))
55 ;;((memq lc-arb lclist)
56 ;; '("ISO-8859-6" . "Q"))
58 '("ISO-8859-7" . "Q"))
60 '("ISO-8859-8" . "Q"))
61 ((memq lc-ltn5 lclist)
62 '("ISO-8859-9" . "Q"))
63 ((memq lc-jp lclist) nil)
64 (t ;Unknown charset. It must be Mule!
65 '("X-ISO-2022-JP-2" . "B"))
67 (setq mime-header-charset-chooser
68 'mime-header-charset-chooser-for-mule-no-encode-ISO-2022-JP)
71 (defun mime-header-charset-chooser-for-nemacs-no-encode-ISO-2022-JP (begin end))
72 (setq mime-header-charset-chooser
73 'mime-header-charset-chooser-for-nemacs-no-encode-ISO-2022-JP)
76 (setq mime-content-types
78 ;; Charset parameter need not to be specified, since it is
79 ;; defined automatically while translation.
81 ;;("charset" "" "ISO-2022-JP" "US-ASCII" "ISO-8859-1" "ISO-8859-8")
84 ;;("charset" "" "ISO-2022-JP" "US-ASCII" "ISO-8859-1" "ISO-8859-8")
88 ;;("charset" "" "ISO-2022-JP" "US-ASCII" "ISO-8859-1" "ISO-8859-8")
94 ("site" "wnoc-fuk.wide.ad.jp" "nic.karrn.ad.jp")
97 ("mode" "binary" "ascii"))
102 ("mode" "binary" "ascii"))
118 ("type" "" "tar" "shar")
136 (setq mime-file-types
137 '(("\\.rtf$" "text" "richtext" nil nil)
138 ("\\.ps$" "application" "postscript" nil "quoted-printable")
139 ("\\.gif$" "image" "gif" nil "base64")
140 ("\\.jpg$" "image" "jpeg" nil "base64")
141 ("\\.xwd$" "image" "x-xwd" nil "base64")
142 ("\\.xbm$" "image" "x-xbm" nil "base64")
143 ("\\.PIC$" "image" "x-pic" nil "base64")
144 ("\\.pic$" "image" "x-pic" nil "base64")
145 ("\\.tiff$" "image" "x-tiff" nil "base64")
146 ("\\.au$" "audio" "basic" nil "base64")
147 ("\\.mpg$" "video" "mpeg" nil "base64")
148 ("\\.el$" "application" "octet-stream" nil "7bit")
149 ("\\.signature" "text" "plain" nil nil)
150 (".*" nil nil nil nil))
153 (add-hook 'news-reply-mode-hook (function mime/decode-message-header))
156 ;;; @ about SuperCite
158 (if mime-setup-use-sc
163 (autoload 'sc-cite-original "sc" nil t)
164 (setq sc-citation-leader "")
165 (if (and (boundp 'MULE) MULE)
168 "\\s *\\([a-zA-Z0-9]\\|\\cj\\)*>+\\s *")
171 "\\s *\\([a-zA-Z0-9]\\|\\cc\\|\\cC\\|\\ch\\|\\cH\\|\\ck\\|\\cK\\)*>+\\s *")
174 (defun my-sc-overload-hook ()
176 (sc-overload-functions)
180 (setq mail-yank-hooks 'sc-cite-original)
182 ;; for RMAIL, PCMAIL, GNUS
183 (add-hook 'mail-setup-hook (function my-sc-overload-hook))
186 (add-hook 'news-reply-mode-hook (function my-sc-overload-hook))
187 (add-hook 'gnews-ready-hook (function my-sc-overload-hook))
190 (add-hook 'mh-letter-mode-hook (function my-sc-overload-hook))
191 (setq mh-yank-hooks 'sc-cite-original) ; for MH-E only
196 ;; (setq sc-load-hook
198 ;; (require 'sc-register)
199 ;; (setq sc-rewrite-header-list
200 ;; (append sc-rewrite-header-list
201 ;; (list (list 'sc-header-in-Japanese))
203 ;; (setq sc-preferred-header-style
204 ;; (- (length sc-rewrite-header-list) 1))
206 (setq sc-preferred-attribution 'registeredname)
212 (add-hook 'mh-folder-mode-hook
218 (add-hook 'mh-letter-mode-hook
221 (setq kanji-fileio-code 2)
224 (add-hook 'mh-letter-mode-hook (function mime/decode-message-header))
225 (add-hook 'mh-letter-mode-hook
229 (make-local-variable 'mail-header-separator)
230 (setq mail-header-separator "--------"))
243 (add-hook 'gnus-Group-mode-hook (function gnusutil-initialize))
244 (add-hook 'gnus-group-mode-hook (function gnusutil-initialize))
245 (autoload 'gnusutil-initialize "gnusutil")
246 (autoload 'gnusutil-add-group "gnusutil")
247 (add-hook 'gnusutil-initialize-hook le)
250 (add-hook 'gnus-Startup-hook le)
251 (add-hook 'gnus-startup-hook le)
254 (add-hook 'news-reply-mode-hook (function mime-mode))
255 (setq gnus-signature-file nil)
260 (autoload 'rmail-show-mime "rmailmime" "Show MIME messages." t)
261 (autoload 'rmail-convert-mime-header "rmailmime" "Convert MIME header." nil)
262 (setq rmail-message-filter 'mime/decode-message-header)
263 (add-hook 'rmail-mode-hook
266 ;; Forward mail using MIME.
268 (substitute-key-definition 'rmail-forward
269 'mime-forward-from-rmail-using-mail
271 (local-set-key "v" 'rmail-show-mime)
275 ;;; @ for Mail mode (includes VM mode)
277 (add-hook 'mail-mode-hook (function mime-mode))
278 (add-hook 'mail-setup-hook (function mime/decode-message-header))
280 ;;; @@ In VM, the following definitions may be requried:
282 (if (boundp 'vm-visible-headers)
284 (setq vm-preview-lines nil)
285 (setq vm-invisible-header-regexp nil)
286 (setq vm-visible-headers
287 (append vm-visible-headers
290 "Content-Transfer-Encoding:")))
295 ;;; mode: outline-minor
296 ;;; outline-regexp: ";;; @+\\|(......"