* mail/rmail.el (rmail-enable-mime-composing): New. A lightweight
version of rmail-enable-mime.
(rmail-forward): Use it.
* message.el (message-forward-rmail-make-body):
save-window-excursion.
(message-encode-message-body): no error.
(message-setup-1): compose-mail send-actions are different from
message-send-actions.
* message.el (message-forward-subject-author-subject): Don't use
message-news-p, which widens the buffer.
(message-forward-make-body): New function.
(message-forward): Use it.
(message-insinuate-rmail): New.
(message-forward-rmail-make-body): New.
(rmail-decode-babyl-format): Use detect-coding-with-priority
instead of detect-coding-region, to favor detection of emacs-mule
encoded Babyl files written by rmailout.el etc. Suggested by
Kenichi Handa <handa@etl.go.jp>.
(rmail-msg-restore-non-pruned-header): Likewise.
If point was in the old pruned header, put it at the top.
(rmail-msg-prune-header): If point was at the top, keep it there.
(rmail-narrow-to-non-pruned-header): New function.
(rmail-retry-failure): Use rmail-narrow-to-non-pruned-header.
rmail-view-buffer.
(rmail-insert-mime-resent-message-function): New
variable.
(rmail-resend): Modify to work in `rmail-view-buffer'; call
`rmail-insert-mime-resent-message-function' if `rmail-enable-mime'
is non-nil.
(rmail-search-mime-message-function)
(rmail-search-mime-header-function): New variables.
(rmail-expunge-and-save): Be sure to set-buffer to the Rmail
buffer.
(rmail-quit): Bury `rmail-buffer' after `rmail-view-buffer' is
hidden.
(rmail-get-new-mail): Likewise.
(rmail-toggle-header): Likewise. If rmail-enable-mime is non-nil,
call rmai-show-mime-function.
(rmail-display-labels): If rmail-enable-mime is non-nil, update
mode-line-process of rmail-view-buffer.
(rmail-set-attribute): Be sure to set-buffer to the Rmail buffer.
(rmail-show-message): Be sure to call rmail-auto-file in the Rmail
buffer.
(rmail-next-message): Be sure to set-buffer to the Rmail buffer.
(rmail-next-undeleted-message): Likewise.
(rmail-message-regexp-p): If rmail-enable-mime is non-nil, call
rmail-search-mime-header-function.
(rmail-search-message): New function.
(rmail-search): Call rmail-search-message to check if a message
matches REGEXP, lastly update point after calling
rmail-show-message.
(rmail-undelete-previous-message): Be sure to set-buffer to the
Rmail buffer.
(rmail-expunge-confirmed): Likewise.
(rmail-only-expunge): Likewise.
(rmail-reply): If rmail-enable-mime is non-nil, don't narrow to
header region, refer to rmail-msgref-vector while setting the
current buffer to rmail-buffer temporarily.
(rmail-forward): Be sure to bind forward-buffer to the Rmail
buffer. If rmail-enable-mime is non-nil, call
rmail-insert-mime-forwarded-message-function instead of inserting
forwarded message by itself.