tm 7.23.
[elisp/tm.git] / tm-mail.el
1 ;;;
2 ;;; $Id: tm-mail.el,v 1.1 1995/11/04 08:22:24 morioka Exp $
3 ;;;
4
5 (require 'tm-view)
6
7 (autoload 'mime-editor/caesar-region "tm-edit" nil t)
8
9 (defun mime-viewer/quitting-method-for-mime/show-message-mode ()
10   (set-window-configuration mime/show-mode-old-window-configuration)
11   (let ((mother mime::preview/mother-buffer))
12     (kill-buffer
13      (mime::preview-content-info/buffer (car mime::preview/content-list)))
14     (mime-viewer/kill-buffer)
15     (pop-to-buffer mother)
16     ;;(goto-char (point-min))
17     ;;(mime-viewer/up-content)
18     ))
19
20 (defun mime-article/view-message/rfc822 (beg end cal)
21   (let* ((cnum (mime-article/point-content-number beg))
22          (cur-buf (current-buffer))
23          (new-name (format "%s-%s" (buffer-name) cnum))
24          (mother mime::article/preview-buffer)
25          str)
26     (setq str (buffer-substring beg end))
27     (switch-to-buffer new-name)
28     (erase-buffer)
29     (insert str)
30     (goto-char (point-min))
31     (if (re-search-forward "^\n" nil t)
32         (delete-region (point-min) (match-end 0))
33       )
34     (setq major-mode 'mime/show-message-mode)
35     (mime/viewer-mode mother)
36     ))
37
38 (defun mime-article/decode-caesar (beg end cal)
39   (let* ((cnum (mime-article/point-content-number beg))
40          (cur-buf (current-buffer))
41          (new-name (format "%s-%s" (buffer-name) cnum))
42          (mother mime::article/preview-buffer)
43          (charset (cdr (assoc "charset" params)))
44          (mode major-mode)
45          str)
46     (setq str (buffer-substring beg end))
47     (switch-to-buffer new-name)
48     (erase-buffer)
49     (insert str)
50     (goto-char (point-min))
51     (if (re-search-forward "^\n" nil t)
52         (delete-region (point-min) (match-end 0))
53       )
54     (let ((m (assq mode mime-viewer/code-converter-alist)))
55       (if (and m (fboundp (setq m (cdr m))))
56           (funcall m (point-min) (point-max) charset encoding)
57         (mime-viewer/default-code-convert-region (point-min) (point-max)
58                                                  charset encoding)
59         ))
60     (save-excursion
61       (set-mark (point-min))
62       (goto-char (point-max))
63       (mime-editor/caesar-region)
64       )
65     (view-mode)
66     ))
67
68 (set-atype 'mime/content-decoding-condition
69            '((type . "message/rfc822")
70              (method . mime-article/view-message/rfc822)
71              ))
72
73 (set-atype 'mime/content-decoding-condition
74            '((type . "text/x-rot13-47")
75              (method . mime-article/decode-caesar)
76              ))
77
78 (provide 'tm-mail)