* doc/misc/gnus.texi (Article Commands): Document new behaviour.
* lisp/gnus/gnus-sum.el (gnus-shorten-url): New function.
(gnus-summary-browse-url): Change function to make `C-u' use the
external browser (as Gnus does when you hit URLs manually). Don't
use an initial input.
* lisp/gnus/gnus-sum.el (gnus-collect-urls-primary-text): Add defcustom.
(gnus-collect-urls): Use it.
(gnus-summary-browse-url): Mention it in the docstring.
* lisp/gnus/gnus-art.el (article-make-date-combine-with-lapsed) factor
code out into new function, used for providing both combined-lapsed
and combined-local-lapsed.
* lisp/gnus/gnus-sum.el (gnus-collect-urls): Make sure that
the URL labeled "Link" is the first in the return list.
(gnus-summary-browse-url): Use the 1st URL as the default.
* lisp/wid-edit.el (widget-text): New function.
(nntp-server-action-alist): Expose the code to the compiler.
(nntp-with-open-group-function): No need to obfuscate identifiers any more.
(nntp-authinfo-rejected): Use `define-error`.
* doc/misc/gnus.texi (Fancy Mail Splitting): Mention it.
* lisp/gnus/nnmail.el (nnmail-debug-splitting): New variable.
* lisp/gnus/nnmail.el (nnmail-log-split): New function.
(nnmail-split-it): Use it.
* lisp/epg.el (epg-start-encrypt)
* lisp/gnus/mml-sec.el (mml-secure-epg-encrypt): When
'mml-secure-openpgp-sign-with-sender' is non-nil message sender's
email address (in addition to its old behaviour) will also be used
to set gpg's "--sender email@domain" option.
* lisp/gnus/nnimap.el (nnimap-login): When base64-ing
credentials, don't let bsae64-encode-string split the result into
several lines, because servers do not understand that (bug#34458).
* lisp/gnus/message.el (message--fold-long-headers): Header lines
should be no longer than 79 characters before folding
(bug#33313). Previous comment about 998 octets is about maximum
allowed header field length.
* lisp/gnus/message.el (message-use-alternative-email-as-from):
Don't add a "," at the start of the address if the To header
doesn't exist (bug#34293).
* lisp/gnus/gnus-group.el (gnus-group-set-info): Apparently this
method of updating the group info will only apply to the
gnus-newsrc-hashtb, not gnus-newsrc-alist. Do the alist explicitly.
* doc/misc/gnus.texi (Foreign Groups): Update description of
gnus-read-ephemeral-emacs-bug-group for multiple bug
IDs (bug#11961).
* lisp/gnus/gnus-group.el (gnus-bug-group-download-format-alist):
Use HTTPS for Debian's bug tracker.
(gnus-group--read-bug-ids): New function for reading multiple bug
IDs in the minibuffer. Improves on previous brittle approach of
word-at-point -> read-string -> string-to-number by a) defaulting to
the more accurate bug-reference-bug-regexp or number-at-point
without using the intrusive INITIAL-INPUT argument, and b) not
attempting to parse bug IDs.
(gnus-read-ephemeral-bug-group): Use it. Extend docstring and
commentary. Fix handling of multiple bug IDs as either numbers or
strings. Hoist some string consing out of inner loop. Delete
temporary file even on error. Throw more informative error when
url-insert-file-contents successfully returns an error (bug#36433).
(gnus-read-ephemeral-debian-bug-group): Use gnus-group--read-bug-ids
and fix docstring for multiple bug IDs. Accept optional WINDOW-CONF
like other ephemeral bug group commands.
(gnus-read-ephemeral-emacs-bug-group): Use gnus-group--read-bug-ids
and fix string/numeric ID conversions. Try loading debbugs-gnu
before testing for debbugs-gnu-summary-mode (bug#36433).
* lisp/gnus/gnus-start.el (gnus-group-change-level): PREVIOUS needs to
still be a string when the dribble entry is written, so don't
convert it to an entry until after that's done. Also, we're not
meant to write PREVIOUS itself, we're meant to write the group that
comes _after_ it in the sort-order of gnus-group-list, so do that
instead.
* lisp/gnus/gnus-sum.el (gnus-collect-urls): Extract from ...
(gnus-summary-browse-url): Use it here.
Extracting URLs from an article will be useful in BBDB interaction.
* gnus-cite.el (gnus-message-citation-mode): Fontify if the major
mode is derived from message-mode (not necessarily equal to
message-mode) (bug#25124).
* lisp/gnus/gnus-sum.el (gnus-summary-browse-url): New command for
browsing URLs from the article buffer from the summary buffer.
(gnus-summary-mode-map): Bind to "w".
(gnus-summary-article-map): And to "A w".
* doc/misc/gnus.texi (Article Commands): Document.
* lisp/gnus/gnus-registry.el (gnus-registry-load): Check if the
registry is already loaded, and don't load again unless new optional
FORCE argument is non-nil.
(gnus-registry-clear): New function to clear the registry, added as
a Gnus shutdown. Now that loading doesn't unilaterally reset the
registry, we need to make sure it is reloaded when Gnus is.
do not merge (fix unnecessary in Emacs 27)
* lisp/gnus/nnir.el (nnir-run-imap): Ensure that non-ascii group names
have been fully decoded before passing them to imap search.