;;;
-;;; $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 ()
(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)