* lisp/gnus/gnus-registry.el (gnus-registry-clear): Clearing the
registry should also run the unload hooks.
(gnus-registry-article-marks-to-names,
gnus-registry-article-marks-to-chars): Now we can use a more general
test here.
* lisp/vc/ediff-help.el (ediff-set-help-overlays): Only put the
mouse-face overlay on the actual commands (bug#5079). This avoids
a problem when you have very wide frames: The leading blank
portion of the buffer would get the mouse highlights.
* lisp/help-fns.el (help-fns--customize-variable): Factor out into
own function for reuse.
(help-fns--globalized-minor-mode): Use it to mention the
equivalent variable.
* lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode):
Mark globalized minor modes as such (bug#7177).
* lisp/emacs-lisp/bytecomp.el (emacs-lisp-compilation-recompile):
New command (bug#4516).
(emacs-lisp-compilation--current-file)
(emacs-lisp-compilation-mode-map): New variables with new `g'
binding.
(byte-compile-log-file): Set variable so that `g' can recompile it.
* doc/lispref/minibuf.texi (Completion Commands)
(Text from Minibuffer): Document it.
* lisp/minibuffer.el (minibuffer-beginning-of-buffer): New command
(bug#3447).
(map): Bind it.
* time-stamp.el (time-stamp-string-preprocess): Update some undocumented
formatting characters of time-stamp format for closer (still incomplete)
alignment with format-time-string. They have displayed a warning since
Emacs 20 (released in 1997), so it is unlikely anyone is using them.
* time-stamp-tests.el: Update tests to match new expectations.
* time-stamp.el (time-stamp-format, time-stamp-pattern): Update
recommended (documented) formats. No code changes, just documentation.
All recommended formats are compatible at least as far back as Emacs
22.1 (released in 2007) and are now closer to compatibility with
format-time-string.
* time-stamp-tests.el: Update test comments to match.
(mm-uu-type-alist): Make functions visible to byte-compiler.
(mm-uu-entry): New defstruct.
(mm-uu-configure): Use mapconcat.
(mm-uu-dissect): Avoid setq on `func`.
* lisp/gnus/mml.el (mml-insert-tag): Quote non-ASCII parameters.
(mml-insert-mime-headers): Make it possible to have non-ASCII
descriptions (bug#37555).
* lisp/menu-bar.el (elisp-index-search): Default to the thing
under point interactively (bug#1119).
(emacs-index-search): Ditto.
(emacs-index--prompt): New helper function.
* lisp/gnus/mm-decode.el (mm-sec-status):
(mm-sec-error): New functions to handle decryption problems more
explicitly (bug#18393).
(mm-possibly-verify-or-decrypt): Use the `sec-error' data to
determine whether the operation failed or not.
* lisp/gnus/mml-smime.el: Ditto.
* lisp/gnus/mml2015.el: Used throughout.
* lisp/image/image-converter.el (image-converter--converters):
Change format of the commands to lists.
(image-converter--probe, image-converter--convert): Adjust usages.
Remove redundant `:group`s.
(rng-validate-mode): Use define-minor-mode.
(rng-validate-clear): Let-bind rng-current-schema instead of passing
a `no-change-schema` argument.
* lisp/progmodes/perl-mode.el (perl-calculate-indent): Skip
doc-comments as well as comments and skip the entire comment, not just
the line. (Bug#21647)
At the same time, remove the 2-character left margin.
* lisp/progmodes/compile.el (compilation-set-up-arrow-spec-in-margin): put
compilation-tear-down-arrow-spec-in-margin onto change-major-mode-hook.
It was an internal symbol in the old `rx' implementation, used in old
versions of the `flycheck' package.
* lisp/emacs-lisp/rx.el (rx-submatch-n): Alias of `rx-to-string'.
* test/lisp/emacs-lisp/rx-tests.el (rx-compat): Test it.