tm 6.76.
[elisp/tm.git] / tm-rmail.el
index b995236..45c4718 100644 (file)
@@ -1,28 +1,60 @@
 ;;;
-;;; $Id: tm-rmail.el,v 3.1 1994/08/31 05:37:24 morioka Exp $
+;;; $Id: tm-rmail.el,v 6.6 1995/06/26 22:52:13 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/view-mode "tm-view" "View MIME message." t)
+(autoload 'mime/viewer-mode "tm-view" "View MIME message." t)
+(autoload 'mime/Content-Type "tm-view" "parse Content-Type field.")
 (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-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 ()
-            (let ((buffer-read-only nil))
+            (let ((mf (buffer-modified-p))
+                  (buffer-read-only nil))
               (mime/decode-message-header)
-              )
-            (set-buffer-modified-p nil)
-            )))
+              (set-buffer-modified-p mf)
+              ))))
 
 (add-hook 'rmail-mode-hook
          (function
           (lambda ()
-            (local-set-key "v" 'mime/view-mode)
+            (local-set-key "v" (function tm-rmail/view-message))
             )))
 
 (add-hook 'rmail-summary-mode-hook
                            (function
                             (lambda ()
                               (interactive)
-                              (pop-to-buffer "RMAIL")
-                              (mime/view-mode)
+                              (pop-to-buffer rmail-buffer)
+                              (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)