tm 6.63
[elisp/tm.git] / tm-rmail.el
index d1e1d76..e771e0a 100644 (file)
@@ -1,15 +1,46 @@
 ;;;
-;;; $Id: tm-rmail.el,v 5.1 1994/10/17 06:31:29 morioka Exp $
+;;; $Id: tm-rmail.el,v 6.5 1995/06/26 06:58:11 morioka Exp $
 ;;;
 
-(provide 'tm-rmail)
+(require 'tl-header)
+(require 'tl-list)
+(require 'tl-misc)
 
-(if (< (string-to-int emacs-version) 19)
-    (require 'tl-18)
-  )
 (autoload 'mime/viewer-mode "tm-view" "View MIME message." t)
 (autoload 'mime/decode-message-header "tiny-mime" "Decode MIME header." t)
 
+(defun tm-rmail/show-all-header-p ()
+  (save-restriction
+    (narrow-to-region (point-min)
+                     (and (re-search-forward "^$" nil t)
+                          (match-beginning 0)))
+    (goto-char (point-min))
+    (re-search-forward rmail-ignored-headers nil t)
+    ))
+
+(defun tm-rmail/view-message ()
+  (interactive)
+  (let ((ret (rmail-widen-to-current-msgbeg
+             (function
+              (lambda ()
+                (cons (mime/Content-Type (mail-fetch-field "Content-Type"))
+                      (mail-fetch-field "Content-Transfer-Encoding"))
+                )))))
+    (mime/viewer-mode nil (car ret)(cdr ret))
+    ))
+
+(defun tm-rmail/quitting-method-to-summary ()
+  (mime-viewer/kill-buffer)
+  (rmail-summary)
+  (delete-other-windows)
+  )
+
+(defun tm-rmail/quitting-method-to-article ()
+  (mime-viewer/kill-buffer)
+  )
+
+(defalias 'tm-rmail/quitting-method 'tm-rmail/quitting-method-to-article)
+
 (add-hook 'rmail-show-message-hook
          (function
           (lambda ()
@@ -22,7 +53,7 @@
 (add-hook 'rmail-mode-hook
          (function
           (lambda ()
-            (local-set-key "v" 'mime/viewer-mode)
+            (local-set-key "v" (function tm-rmail/view-message))
             )))
 
 (add-hook 'rmail-summary-mode-hook
                             (lambda ()
                               (interactive)
                               (pop-to-buffer rmail-buffer)
-                              (mime/viewer-mode)
+                              (tm-rmail/view-message)
                               )))
             )))
+
+(call-after-loaded 'tm-view
+                  (function
+                   (lambda ()
+                     (set-alist 'mime-viewer/quitting-method
+                                'rmail-mode
+                                (function tm-rmail/quitting-method))
+                     )))
+
+(provide 'tm-rmail)
+
+(run-hooks 'tm-rmail-load-hook)