* lisp/uniquify.el (uniquify-rationalize-file-buffer-names):
Protect against exponential `uniquify-managed' growth when
reverting several (more than two) buffers that have the same file
name (bug#36877).
* test/lisp/emacs-lisp/subr-x-tests.el (subr-string-limit-coding):
Fix the expected results of string-limit when encoding with
UTF-16. Add tests for UTF-8 with BOM. (Bug#48324)
* lisp/emacs-lisp/subr-x.el (string-limit): Add FIXME comment
about the current implementation, which is faulty by design.
* lisp/progmodes/grep.el (grep-mode-font-lock-keywords):
Adapt regexp to match MS Windows-style shell-quoting.
* test/lisp/progmodes/grep-tests.el: New file.
Since tiling window managers may react allergically to resize
requests immediately following MapNotify events on X, make sure
that such requests are issued only when a new frame should not
become visible and a size has been explicitly requested for it.
* lisp/faces.el (x-create-frame-with-faces): Mark frame as
'was-invisible' if it should be initially invisible or iconified
and has its size specified explicitly.
* src/frame.c (make_frame): Initialize new frame's was_invisible
flag.
(Fframe__set_was_invisible): New internal function.
* src/frame.h (struct frame): Specify size of new_size_p slot.
New flag was_invisible.
* src/w32fns.c (Fx_create_frame)
* src/nsfns.m (Fx_create_frame)
* src/xfns.c (Fx_create_frame): Set new frame's was_invisible
flag.
* src/xterm.c (handle_one_xevent): Call xg_frame_set_char_size
after a PropertyNotify or MapNotify event only if F's
was_invisible flag was set.
* lisp/mail/rmail.el (rmail-simplified-subject): Delete `[External] :'.
(rmail-reply): In encrypted message, search for other header fields
inside the encrypted part, and use them instead of the real header.
(rmail-epa-decrypt): Don't set MIME unless it's Rmail mode.
* lisp/epa-mail.el (epa-mail-sign)
(epa-mail-default-recipients, epa-mail-encrypt):
Use rfc822-goto-eoh, not mail-header-separator.
(epa-mail-default-recipients): Assume epa-mail-aliases
elements are lower case, search case-independently.
* lisp/textmodes/enriched.el (enriched-mode): Don't add "Text
Properties" sub-menu to Text mode menu.
* lisp/facemenu.el (menu-bar-edit-menu): Add "Text Properties"
sub-menu back to the Edit menu.
* lisp/dired.el (dired-clean-up-after-deletion): Fix dired
confirmation message asking to kill buffers of deleted dir in the case
where `dired-listing-switches' contain -p (bug#48301).
(font-lock-fontify-syntactically-region): Use `comment-end-skip` as
fallback for `font-lock-comment-end-skip`, as is done for
`font-lock-comment-start-skip` (and as the name suggests).
* lisp/progmodes/opascal.el (opascal-mode): Revert last change,
made unnecessary.
* lisp/international/mule-cmds.el (encode-coding-char): If
CODING-SYSTEM produces BOM, remove the BOM bytes from the produced
byte sequence. (Bug#48324)
* lisp/hexl.el (hexl-mode): Use bufferpos-to-filepos to convert
point to offset into the original file.
(hexl-mode-exit, hexl-maybe-dehexlify-buffer): Use
filepos-to-bufferpos to restore point in the original buffer.
(hexl-mode, hexl-insert-multibyte-char)
(hexl-self-insert-command, hexl-insert-hex-char)
(hexl-insert-decimal-char, hexl-insert-octal-char)
(hexl-find-file): Enhance the doc strings, mainly explaining the
complications of inserting multibyte characters.
(hexl-insert-multibyte-char): Don't treat CH as unibyte if the
coding-system isn't ASCII-compatible. Don't treat null bytes as
multibyte.
* doc/misc/erc.texi (Connecting): Add a reference to the auth manual.
* etc/NEWS: Remove the verbose, detailed example of client certificate
specification and refer to the ERC manual instead.
* lisp/erc/erc.el (erc-tls): Fix leftover path example in docstring.
In hindsight, it's hard to see why not including it was ever an option.
* make-dist: Always include the test/ directory.
(with_tests): Remove.
(--tests, --no-tests): Make these options no-ops.
* Makefile.in (mostlyclean_dirs, maintainer_clean_dirs): Add "test".
(mostlyclean, clean, distclean, maintainer-clean):
Remove special-casing for "test".
($(CHECK_TARGETS)): Simplify.
* doc/lispref/backups.texi (Auto-Saving): Explain UNIQUIFY being a
secure hash in auto-save-file-name-transforms.
* etc/NEWS: Mention change in `auto-save-file-name-transforms'.
* lisp/files.el (auto-save-file-name-transforms): Adapt docstring.
(make-auto-save-file-name): Care, if UNIQ is a secure hash symbol.
* lisp/custom.el (custom-theme-recalc-variable): Only stash theme
settings for void variables.
(custom-declare-variable): After initializing a variable, unstash a
theme setting, if present.
(disable-theme): When disabling a theme, maybe unstash a theme
setting.
* test/lisp/custom-resources/custom--test-theme.el: Add two settings
for testing the fix.
* doc/lispref/variables.texi (File Local Variables): Document
`permanently-enabled-local-variables'.
* lisp/files.el (enable-local-variables): Mention the new variable.
(set-auto-mode): Always call `hack-local-variables'.
(hack-local-variables): Factor out the variable gathering into its
own function, and respect the new variable (bug#47843).
(hack-local-variables--find-variables): Factored out from
`hack-local-variables'.
(permanently-enabled-local-variables): New variable.
This reverts commit 3d276324ed
2021-05-09 "; Fix decoded-time-set-defaults typo in NEWS.27."
which was mistakenly applied to etc/NEWS.27 on the master branch.
It is replaced by commit c233f4eccd
2021-05-09 "; * etc/NEWS: Fix decoded-time-set-defaults typo."
on the emacs-27 branch (bug#48298).
* doc/misc/tramp.texi (Frequently Asked Questions):
tramp-use-ssh-controlmaster-options is nil on MS Windows.
* lisp/net/tramp.el (tramp-unquote-shell-quote-argument): Revert previous
change, it worked (not as expected but) properly.
* test/lisp/net/tramp-tests.el (tramp-test17-dired-with-wildcards):
Don't skip on MS Windows.
(tramp--test-windows-nt-and-scp-p): Remove.
(tramp--test-special-characters): Skip for out-of-band methods on
MS Windows, sometimes.
* lisp/calendar/time-date.el (decoded-time-set-defaults): Set an
unspecified year field to 1970, as promised in the docstring, and to
ensure it's representable on all systems (bug#48298).
* lisp/emacs-lisp/edebug.el (edebug-all-defs, edebug-all-forms):
Reintroduce ;;;###autoload of these user options that were removed
in bae2cfe63c, because this leads to errors in a common (and
recommended) use case (bug#47516).