lisp/mail/rmailmm.el (rmail-mime-insert-html): Decode HTML payload
when the charset is only given by the HTML <head>, and allow to
specify the encoding with "C-x RET c".
lisp/mail/rmailmm.el (rmail-mime-insert-html): Decode the HTML part
using the specified transfer-encoding, if any, or 'undecided'.
(rmail-mime-render-html-shr): Bind shr-width to nil, so lines are
broken at the window margin.
Fixes: debbugs:4258
lisp/mail/rmailmm.el (rmail-mime-process): Handle text/html
separately from other text/ types. Suppress tagline for
multipart body.
(rmail-mime-parse): Don't change visibility of tagline here.
(rmail-mime-set-bulk-data, rmail-mime-insert-bulk):
Handle text/html specially.
(rmail-mime-render-html-function,rmail-mime-prefer-html): New variables.
(rmail-mime-insert-html, rmail-mime-render-html-shr)
(rmail-mime-render-html-lynx): New functions.
(rmail-mime-fix-inserted-faces): New function.
(rmail-mime-process-multipart): Find the best part to show
following rmail-mime-prefer-html if set.
(rmail-mime-searching): New variable.
(rmail-search-mime-message): Bind rmail-mime-searching to
suppress rendering while searching.
* mail/rmail.el (rmail-get-coding-function): Variable.
(rmail-get-coding-system): Use it.
* mail/rmail.el (rmail-make-in-reply-to-field):
Add parens in message-id.
* mail/rmailmm.el (rmail-mime-message-p): Moved to rmail.el.
* mail/rmail.el (rmail-mime-message-p): Moved from rmailmm.el.
(rmail-epa-decrypt): Turn off mime processing.
* lisp/mail/rmailmm.el (rmail-mime-process-multipart):
Do not confuse a multipart message with an epilogue
with a "truncated" one; fixes 2011-06-27 change.
Fixes: debbugs:10101
lisp/mail/rmailmm.el (rmail-mime-display-header)
(rmail-mime-display-tagline, rmail-mime-display-body): New defsubsts.
(rmail-mime-entity-segment, rmail-mime-toggle-raw)
(rmail-mime-toggle-hidden, rmail-mime-insert-text)
(rmail-mime-insert-bulk, rmail-mime-insert-multipart)
(rmail-mime-insert, rmail-mime-insert-tagline): Use them instead
of a raw aref.
(rmail-mime-entity-segment): To get past the tagline, move forward
2 more lines, to account for the 2 empty lines that precede and
follow the line with the buttons.
(rmail-mime-update-tagline): Move one more line, to get past the
empty line that follows the buttons in the tagline.
* lisp/mail/rmailmm.el (rmail-mime-toggle-raw): Remove entity arg,
which wasn't being used. Add optional arg to force given state.
(rmail-mime): Add optional arg to force given state.
* lisp/mail/rmail.el (rmail-file-coding-system): It's only ever used
in a boolean sense, so just make it a boolean, and fix the doc.
(rmail-show-mime-function, rmail-mime-feature)
(rmail-require-mime-maybe): Doc fixes.
(rmail-show-message-1): Check rmail-show-mime-function is non-nil.
* lisp/mail/rmailmm.el (rmail-show-mime): Doc fix.
lisp/mail/rmailmm.el (rmail-mime-insert-tagline): Insert an extra
newline before and after the tag line, so it doesn't interfere
with determining the paragraph direction of bidirectional text.