* lisp/mail/rmailedit.el: Require rmailmm when compiling.
(rmail-old-mime-state): New declaration.
(rmail-edit-current-message): If editing a mime message,
edit the "raw" message from the mbox buffer.
(rmail-cease-edit): Handle mime messages.
* 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/rmailsum.el (rmail-summary): Remove movement to beginning
of message - not necessary, and causes problems.
I believe the call to rmail-summary-beginning-of-message was only
thought to be necessary due to a couple of bugs in rmail-new-summary
that are hopefully fixed now (`mesg' not being set,
rmail-summary-buffer's buffer locality not being considered).
Fixes: debbugs:9831
lisp/mail/sendmail.el (sendmail-query-once): Improve the wording of
the explanation of the possible choices. Make the options passed
to completing-read shorter.
* mail/sendmail.el (send-mail-function): Don't use sendmail-query-once
if not needed.
(sendmail-query-once): Remove OS dependencies. Make it a 3-way choice
using completion. Protect against "slow" callers.
Remove the "message hack".
to avoid using special-display-* and same-window-* variables.
* lisp/buff-menu.el (Buffer-menu-switch-other-window): Use second arg
of display-buffer.
(Buffer-menu-2-window): Use switch-to-buffer-other-window.
* lisp/replace.el (occur-mode-goto-occurrence)
(occur-mode-display-occurrence) Use second arg of pop-to-buffer
and display-buffer.
* lisp/window.el (display-buffer-alist): Add *Python*.
* lisp/mail/reporter.el (reporter-submit-bug-report): Use second arg of
display-buffer.
* lisp/mail/sendmail.el (sendmail-user-agent-compose): Don't bind the
special-display and same-window variables.
(mail-other-window): Use switch-to-buffer-other-window.
(mail-other-frame): USe switch-to-buffer-other-frame.
* lisp/progmodes/gdb-mi.el (gdb-frame-gdb-buffer): Use
display-buffer-other-frame.
(gdb-display-gdb-buffer): Use pop-to-buffer.
* lisp/progmodes/gud.el (gud-goto-info): Use info-other-window.
* lisp/progmodes/python.el: Don't set same-window-buffer-names.
* lisp/textmodes/bibtex.el (bibtex-search-entry): Use switch-to-buffer.
* lisp/window.el (display-buffer-alist): Add entry for buffers
previously handled same-window-*.
(display-buffer-alist, display-buffer-default-action)
(display-buffer-overriding-action): Mark as risky.
(display-buffer-alist): Document action function changes.
(display-buffer--same-window-action)
(display-buffer--other-frame-action): New variables.
(switch-to-buffer, display-buffer-other-frame): Use them.
(display-buffer): Rename reuse-frame entry to reusable-frames.
(display-buffer-reuse-selected-window): Function deleted.
(display-buffer-reuse-window): Handle reusable-frames alist entry.
If it's omitted, check pop-up-frames/display-buffer-reuse-frames.
(display-buffer-special): New function.
(display-buffer--maybe-pop-up-frame-or-window): Rename from
display-buffer-reuse-or-pop-window. Split off special-display
part into display-buffer-special.
(display-buffer-use-some-window): Don't perform any special
pop-up-frames handling.
(pop-to-buffer): Use window-normalize-buffer-to-switch-to.
* lisp/cmuscheme.el:
* lisp/ielm.el:
* lisp/shell.el:
* lisp/mail/sendmail.el:
* lisp/progmodes/inf-lisp.el: Don't set same-window-buffer-names.
* lisp/cus-edit.el:
* lisp/info.el:
* lisp/net/rlogin.el:
* lisp/net/telnet.el:
* lisp/progmodes/gud.el: Don't set same-window-regexps.
etc/NEWS: Document the new command and the alias for mail-insert-file.
lisp/mail/sendmail.el (mml-to-mime, mml-attach-file)
(mm-default-file-encoding): Remove autoload forms, they are
replaced with autoload cookies in mml.el and mm-encode.el.
(mail-add-attachment): New command.
(mail-mode-map): Add a menu-bar item for mail-add-attachment.
(mail-mode): Mention mail-insert-file and mail-add-attachment in
the doc string.
(mml-to-mime, mml-attach-file, mm-default-file-encoding): Declare.
lisp/gnus/mm-encode.el (mm-default-file-encoding): Add autoload cookie.
lisp/gnus/mml.el (mml-to-mime, mml-attach-file): Add autoload cookies.
doc/emacs/sending.texi (Mail Misc): Document mail-add-attachment.
lisp/simple.el (mail-encode-mml): New defvar.
lisp/mail/rmail.el (mail-encode-mml): Add a defvar.
(rmail-enable-mime-composing): Default to t.
(rmail-forward): Use MIME method of forwarding only if both
rmail-enable-mime-composing and rmail-enable-mime are non-nil.
Set mail-encode-mml non-nil if the MIME method was used.
lisp/mail/sendmail.el (mml-to-mime): Add autoload form.
(mail-encode-mml): Add a defvar.
(mail-mode): Make mail-encode-mml buffer-local and initialize it
to nil.
(mail-send): If mail-encode-mml is non-nil, run the outgoing
message through mml-to-mime, and reset mail-encode-mml to nil.
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.