(insert-buffer-substring original-buffer start end)
(mime-decode-header-in-buffer rmail-enable-mime))
-(defun rmail-decode-mime-message (decoded-buffer original-buffer start end)
+(defun rmail-decode-mime-message (decoded-buffer original-buffer msg)
(save-excursion
(set-buffer original-buffer)
(save-restriction
- (narrow-to-region start end)
- (mime-view-buffer nil decoded-buffer)))
+ (narrow-to-region (rmail-msgbeg msg)
+ (rmail-msgend msg))
+ (setq mime-message-structure
+ (mime-open-entity 'babyl original-buffer))
+ (mime-display-message mime-message-structure decoded-buffer)))
(set-buffer decoded-buffer))
(defun rmail-view-kill-rmail-buffer ()
(let ((abuf (current-buffer))
(buf-name (concat (buffer-name) "-view"))
buf win)
+ (narrow-to-region (rmail-msgbeg rmail-current-message)
+ (rmail-msgend rmail-current-message))
(setq mime-message-structure
(mime-open-entity 'babyl abuf))
(set-buffer (mime-display-message mime-message-structure
rmail-current-message))
(make-local-variable 'kill-buffer-hook)
(add-hook 'kill-buffer-hook 'rmail-view-kill-rmail-buffer)
+ (make-local-variable 'revert-buffer-function)
+ (setq revert-buffer-function 'rmail-revert)
(let ((mode-line
(with-current-buffer abuf
(setq rmail-view-buffer buf)
(mime-insert-entity (with-current-buffer forward-buffer
mime-message-structure)))
+(defun rmail-insert-mime-resent-message (forward-buffer)
+ (mime-insert-entity (with-current-buffer forward-buffer
+ mime-message-structure)))
+
(defun rmail-enable-mime ()
(interactive)
(setq rmail-enable-mime t)
"Search the message of number MSG for REGEXP.
If the search succeeds, return non-nil. Otherwise, return nil."
(save-excursion
- (rmail-decode-mime-message " *RMAIL-temp-VIEW*"
- (current-buffer)
- (if (search-forward "\n*** EOOH ***\n"
- (rmail-msgend msg) t)
- (match-end 0)
- (point))
- (rmail-msgend msg))
+ (rmail-decode-mime-message " *RMAIL-temp-VIEW*" (current-buffer) msg)
(goto-char (point-min))
(prog1 (re-search-forward regexp nil t)
(kill-buffer " *RMAIL-temp-VIEW*"))))
-(defun rmail-search-mime-header (msg beg end regexp)
+(defun rmail-search-mime-header (msg regexp limit)
"Search the message header of number MSG for REGEXP.
+The current point is the beginninf of header,
+and LIMIT is the end position of header.
If the search succeeds, return non-nil. Otherwise, return nil."
(save-excursion
- (rmail-decode-header " *RMAIL-temp-VIEW*"
- (current-buffer)
- beg end)
+ (rmail-decode-header " *RMAIL-temp-VIEW*" (current-buffer) (point) limit)
(goto-char (point-min))
(prog1 (re-search-forward regexp nil t)
(kill-buffer " *RMAIL-temp-VIEW*"))))
(eval-after-load "rmail"
'(progn
(define-key rmail-mode-map "v" 'rmail-enable-mime)
- (setq rmail-show-mime-function (function rmail-show-mime-message))
+ (setq rmail-show-mime-function
+ (function rmail-show-mime-message)
+ rmail-insert-mime-forwarded-message-function
+ (function rmail-insert-mime-forwarded-message)
+ rmail-insert-mime-resent-message-function
+ (function rmail-insert-mime-resent-message)
+ rmail-search-mime-message-function
+ (function rmail-search-mime-message)
+ rmail-search-mime-header-function
+ (function rmail-search-mime-header))
(unless rmail-view-mode-map
(setq rmail-view-mode-map (mime-view-define-keymap rmail-mode-map))
(define-key rmail-view-mode-map