* lisp/files.el (directory-files-recursively): Take an optional
PREDICATE parameter (bug#28567).
* doc/lispref/files.texi (Contents of Directories): Document it.
* lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band):
Special handling for "rsync".
(tramp-find-inline-compress): Make check more robust on MS Windows.
* lisp/ffap.el (ffap-prompter, ffap-other-window)
(ffap-other-frame, ffap-read-only)
(ffap-read-only-other-window, ffap-read-only-other-frame)
(ffap-alternate-file, ffap-alternate-file-other-window)
(ffap-literally): Rework to be able to specify different prompts
for different actions (bug#30284) and don't use
`call-interactively' all over the place.
* lisp/help-fns.el (describe-variable-custom-version-info): Allow
taking a type as an optional input, so this can be used for faces,
too (bug#30527).
* lisp/faces.el (describe-face): Use this to output the version
information.
* lisp/help-fns.el (describe-variable-custom-version-info): Allow
taking a type as an optional input, so this can be used for faces,
too (bug#30527).
* lisp/faces.el (describe-face): Use this to output the version
information.
* doc/emacs/maintaining.texi (VC Directory Commands): Adjust
command name.
* lisp/vc/vc-dir.el (vc-dir-clean-files): Rename from
vc-dir-delete-files-no-vc, and work on unregistered files only
(bug#31732).
(vc-dir-menu-map): Adjust command name.
There are two entry points to bookmark-edit-annotation-mode: the first
when we add a bookmark and bookmark-use-annotations is non-nil; the
second when bookmark-bmenu-edit-annotation is run from the bookmark
list. When editing is concluded, in the first case, we should just
quit window. In the second case, we should instead return to the
bookmark list.
* lisp/bookmark.el (text-property-search): Require.
(bookmark-annotation-name): Make buffer-local and improve doc string.
(bookmark--annotation-from-bookmark-list): New buffer-local variable.
(bookmark-edit-annotation): New argument from-bookmark-list sets
bookmark--annotation-from-bookmark-list.
(bookmark-bmenu-edit-annotation): Call bookmark-edit-annotation with
argument from-bookmark-list set to t.
(bookmark-send-edited-annotation): When editing originated in the
bookmark list, restore focus to bookmark list and move point back to
edited bookmark. (Bug#20150)
(bookmark-edit-annotation-mode): Fix typo.
(bookmark-bmenu-buffer): New variable.
(bookmark-bmenu-surreptitiously-rebuild-list)
(bookmark-bmenu-list): Use it.
* test/lisp/bookmark-tests.el (with-bookmark-bmenu-test): New macro.
(bookmark-tests-set/bookmark-use-annotations-t)
(bookmark-bmenu-edit-annotation/show-annotation)
(bookmark-bmenu-send-edited-annotation)
(bookmark-bmenu-send-edited-annotation/restore-focus): New test cases.
* lisp/scroll-lock.el (scroll-lock-next-line-always-scroll): New
function. Opposed to scroll-lock-next-line it does not switch to
forward-line at eob. S-down is the default key binding for this
function. (Bug#36494)
* test/lisp/scroll-lock-tests.el: A few tests for
scroll-lock-next-line-always-scroll.
* etc/NEWS: Announce the new command.
* lisp/emacs-lisp/nadvice.el (advice--make-docstring): Make the
bit about the function/macro having an advice into a complete
sentence (bug#31063) and make it less dramatic.
* 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.
Set 'bidi-paragraph-direction' to 'left-to-right', rather than setting
'bidi-display-reordering' to nil, as the latter is only intended for
use when debugging the display code.
* lisp/net/tramp-sh.el (tramp-inline-compress-start-size):
Revert change of init value. We fix this differently.
(tramp-find-inline-compress): Check also the output of the
processes, not only the return code.
* lisp/menu-bar.el (menu-bar-open): Accept a numerical
argument interactively, and drop down menu at that X
coordinate.
(popup-menu): Detect when MENU is not a list. (Bug#36613)
* lisp/international/mule-util.el (char-displayable-p): Move
from here...
* lisp/international/mule.el (char-displayable-p): ...to
here. This avoids always loading mule-util at startup due
to a call to 'char-displayable-p' in
'startup--setup-quote-display'.
* etc/NEWS: Fix formatting and punctuation of last change.
* lisp/isearch.el (isearch-highlight-regexp)
(isearch-highlight-lines-matching-regexp): Doc fix.
* lisp/isearch.el: Implement the new functionality.
(isearch-highlight-lines-matching-regexp): New function bound
to 'M-s h l' in isearch.
(isearch--highlight-regexp-or-lines): New internal function.
* etc/NEWS (Search and Replace): Mention this change.
* doc/emacs/search.texi (Special Isearch): Document 'M-s h l'.
(Bug#18241)
* lisp/so-long.el: New library.
* doc/emacs/trouble.texi (Long Lines): New node covering so-long.el.
* doc/emacs/emacs.texi (Top): Add menu entry for the Long Lines node.
* etc/NEWS: Include under "New Modes and Packages in Emacs 27.1"