* lisp/gnus/gnus-dbus.el (gnus-dbus-register-sleep-signal): Apparently
this needs to be :system -- perhaps because PrepareForSleep is a
system-level event?
* lisp/gnus/gnus-dbus.el: New library, registering a signal that
closes all Gnus servers when the system is going to sleep.
* lisp/gnus/gnus-start.el: Check new option
`gnus-dbus-close-on-sleep', and register the appropriate D-Bus signal
if it is non-nil.
* lisp/gnus/gnus.el: New gnus-dbus customization group.
* doc/misc/gnus.texi: Document.
* lisp/gnus/gnus-icalendar.el
(gnus-icalendar-event:recurring-days): New function (bug#39782).
(gnus-icalendar-event:org-timestamp): New function.
(gnus-icalendar--find-day): Use them.
(gnus-icalendar-event--org-timestamp): Ditto.
* lisp/gnus/nndoc.el (nndoc-possibly-change-buffer): If we're
reading an mbox file, it may contain messages that use
content-transfer-encoding 8bit, which means that we have to treat
the file as a sequence of byte (bug#42951). This avoids
double-decoding -- once by Emacs when inserting the mbox into the
buffer, and once by Gnus when displaying the articles.
* lisp/gnus/gnus-icalendar.el
(gnus-icalendar-with-decoded-handle): Check whether there is a
charset before using it (bug#40290).
Copyright-paperwork-exempt: yes
* lisp/gnus/mm-util.el (mm-mime-mule-charset-alist): For
compatibility with XEmacs, mm-mime-mule-charset-alist was first
set to a list of hard-coded entries, and then overwritten on Emacs
from `coding-system-list'. Remove the hard-coded values and
simplify the code.
Buffers `*Shell Command Output*' and `*Async Shell Command*'
have been around since a long time; used across several libraries,
they are de facto output buffers for shell commands.
* lisp/simple.el (shell-command-buffer-name)
(shell-command-buffer-name-async): New variables.
* lisp/dired-aux.el
* lisp/gnus/gnus-sum.el
* lisp/gnus/gnus-win.el
* lisp/ibuf-ext.el
* lisp/net/tramp.el: Use them.
* etc/NEWS (Changes in Emacs 28.1): Announce this change.
* doc/emacs/misc.texi (Single Shell)
* doc/misc/tramp.texi (Remote processes):
Update manual (bug#39138).
* lisp/gnus/mml.el (mml-parse-1): Use `data-encoding' to be
slightly less confusing than `content-transfer-encoding'.
* doc/misc/emacs-mime.texi (MML Definition): Document it.
* lisp/gnus/message.el (message-insert-screenshot): Adjust usage.
* lisp/gnus/message.el (message-get-reply-headers): Change how
Mail-Copies-To: never is handled (bug#37591). When that header is
present, put all the remaining recipients in the To header,
instead of picking an arbitrary recipient to have in the To
header, and the rest in the Cc header.
* doc/misc/message.texi (System Mailer Setup): Document the usage.
* lisp/gnus/gnus-art.el (gnus-url-mailto): Move most of the code
here to 'message-mailto-1' (bug#38314).
* lisp/gnus/message.el (message-parse-mailto-url): Mark as obsolete.
(message-parse-mailto-url): Rewritten slightly from the above.
(message-mailto): New command.
(message-mailto-1): New function.
* lisp/gnus/gnus-icalendar.el
(gnus-icalendar-event--build-reply-event-body): Display a warning
instead of barfing when user is missing from attendee list.
When the user identity is not present in the attendee list, an error
is triggered making replying to such an event impossible (the reply
message not being even composed). This replaces it with a warning.
This is necessary because one may receive events that the organizer
did not set up well and it is up to the user to decide whether or not
to reply to them (bug#41723).
Copyright-paperwork-exempt: yes
* lisp/gnus/message.el (message-insert-screenshot): Force scaling
to 1, since the screenshot image will already be suitable for
displaying directly (it's the same resolution).
* doc/misc/message.texi (MIME): Document it.
* lisp/gnus/message.el (message-screenshot-command): New variable.
(message-mode-map): New keystroke and menu item. Also add
mml-attach-file to the menu.
(message-insert-screenshot): New command.
* lisp/gnus/mml.el (mml-parse-1): Allow having
content-transfer-encoding already in the part, so that we can have
inline base64-encoded binaries in the Message buffers.
* lisp/gnus/mml-sec.el
(mml-secure-allow-signing-with-unknown-recipient): New variable
(bug#18393) (but this should probably be fixed in a different way).
(mml-secure-epg-sign): Use it.
(mml-secure-check-user-id): Protect against recipients that aren't
email addresses, like "No recipient".