* doc/misc/tramp.texi (Auto-save File Lock and Backup): Adapt example.
* doc/misc/trampver.texi:
* lisp/net/trampver.el: Change version to "2.8.3-pre".
* lisp/net/tramp-cmds.el (tramp-file-name-with-sudo): Expand the
result for consistency. (Bug#81622)
* lisp/net/tramp.el (with-tramp-progress-reporter):
Let-bind `inhibit-message'.
(tramp-file-name-for-operation): Fix the case, that the first
argument is a process name.
(tramp-handle-find-backup-file-name): Use connection-local value
of `make-backup-files'.
* test/lisp/net/tramp-tests.el (tramp-test38-find-backup-file-name):
Extend test.
* doc/misc/url.texi: Synchronize function signatures with code. Fix
formatting for variable. Remove superfluous space. Link directly to
referenced CL manual node. (Bug#81505)
* etc/NEWS:
* doc/emacs/custom.texi (Changing a Variable):
Use more user-friendly representation of the
key sequence 'C-c TAB' as it's displayed in
the Help buffer for 'Custom-goto-first-choice'.
Fix typos in keybindings.
* lisp/window-x.el (transpose-dedicated-windows): New option.
(window-layout-rotate-clockwise)
(window-layout-rotate-anticlockwise)
(window-layout-flip-leftright, window-layout-flip-topdown)
(window-layout-transpose, rotate-windows-back): Say that these
functions may signal an error when they encounter dedicated,
fixed-size or atomic windows.
(rotate-windows): Handle dedicated windows like the other
transpose functions.
(window--transpose): Handle 'transpose-dedicated-windows'.
* doc/lispref/windows.texi (Changing Window Layouts): Describe new
option 'transpose-dedicated-windows'.
* etc/NEWS: Announce new option 'transpose-dedicated-windows'.
* etc/NEWS:
* doc/emacs/files.texi (Diff Mode):
* lisp/vc/diff-mode.el (diff-refine): Improve the documentation of
the "shadow cursor" shown by Diff mode.
* src/window.c (Vwindow_combination_resize): In doc-string say
that binding this to nil may be necessary to produce specific,
predefined frame layouts (Bug#81406).
* lisp/window-x.el (window-layout-rotate-clockwise)
(window-layout-rotate-anticlockwise)
(window-layout-flip-leftright, window-layout-flip-topdown)
(window-layout-transpose, rotate-windows-change-selected)
(rotate-windows, rotate-windows-back): Rewrite doc-strings.
Make sure that non-interactive calls with nil or absent WINDOW
argument work on the frame's main window. Fix infinite loop
when 'rotate-windows' is called for a non-selected frame.
* doc/lispref/windows.texi (Recombining Windows): Say that
binding 'window-combination-resize' to nil may be necessary to
produce specific, predefined frame layouts (Bug#81406).
(Changing Window Layouts): Minor rewrite.
* etc/NEWS: Announce names of new commands to change window
layout (Bug#81406).
* doc/lispref/text.texi (Buffer Contents): Clarify that the order
of buffer positions in arguments of 'filter-buffer-substring'
should not matter.
* lisp/simple.el (filter-buffer-substring-function):
(filter-buffer-substring): Doc fix.
* src/window.c (Fwindow_prev_buffers): In doc-string mention
that the return value may reference killed buffers.
* doc/lispref/windows.texi (Window History): Mention that the
return value of 'window-prev-buffers' may reference buffers that
have been killed.
* doc/lispref/frames.texi (Deleting Frames): Document new option
'delete-frame-choose-selected'.
* etc/NEWS: Mark 'delete-frame-choose-selected', 'split-frame'
and 'merge-frames' as documented.
* doc/lispref/frames.texi (Splitting and Merging Frames): New
section.
* doc/lispref/elisp.texi (Top): Add new section.
* doc/lispref/windows.texi (Basic Windows): Explain terms
'layout' and 'identity' of windows.
(Window Configurations): Explain that window identities are
preserved by window configurations and get lost with window
states.
* lisp/subr.el (progress-reporter-update-functions): Update
docstring.
(progress-reporter-update): New UPDATE-TEXT argument replacing
previously deleted SUFFIX.
(make-progress-reporter): Document suffix slot available for
reuse.
(progress-reporter-force-update): Update function signature.
(progress-reporter-echo-area): Restore the text argument and
echo it.
(progress-reporter-do-update): Update function signature. Treat
UPDATE-TEXT as ephemeral and do not persist it in the reporter
instance. Update the hook.
(progress-reporter-done): Update the hook.
* lisp/system-taskbar.el
(system-taskbar--progress-reporter-update): Update function
signature.
* lisp/net/tramp.el (tramp-progress-reporter-update): Update
function signature.
* doc/lispref/display.texi (Progress): Update documentation.
* src/xdisp.c (Fformat_mode_line): Resurrect support for FACE = t.
Doc fix. (Bug#81271)
* doc/lispref/modes.texi (Emulating Mode Line): Fix documentation
of 'format-mode-line' when 2nd argument is t.
* test/src/xdisp-tests.el (xdisp-test-format-mode-line): New test.
* doc/misc/tramp.texi (New operations): Extend.
* lisp/net/tramp.el (tramp-file-name-for-operation-external):
Extend docstring.
(tramp-file-name-for-operation): Make more use of
`tramp-file-name-for-operation-external'.
(tramp-add-external-operation): Support ARG-TYPE `tramp-file-name'.
* test/lisp/net/tramp-tests.el (tramp-test49-external-backend-function):
Extend test.
This is necessary to correctly read keys like 'M-~'
used by 'save-some-buffers' that is two keys 'ESC ~'
on a tty.
* doc/lispref/minibuf.texi (Multiple Queries):
Index 'y-or-n-p-use-read-key' for 'map-y-or-n-p'.
Mention using a key sequence instead of single keys.
* lisp/emacs-lisp/map-ynp.el (map-y-or-n-p):
In the 'y-or-n-p-use-read-key' cond-branch,
use 'read-key-sequence-vector' instead of 'read-key'.
In the default cond-branch, use 'this-command-keys-vector'
instead of 'last-command-event'. In both cond-branches
use 'key-description' instead of 'single-key-description'
(bug#81168).
Instead of '(eq def nil)' check if chars are either nil
or an empty vector in noninteractive mode (bug#67836).
* test/lisp/emacs-lisp/map-ynp-tests.el (test-map-ynp-kmacro):
Test separately nil/non-nil 'y-or-n-p-use-read-key'.
(test-map-ynp-keys): New test for complete coverage of
'map-y-or-n-p'.
* etc/NEWS:
* doc/lispref/frames.texi (Font and Color Parameters):
* doc/lispref/display.texi (Displaying Faces, Basic Faces):
Improve indexing of faces and wording of the description of the
'margin' face and its implications.
* doc/lispref/display.texi (Displaying Faces): Note that the
underlying-text rule does not apply to strings displayed in the
display margins, and reword the margin-face bullet to describe
'margin' as the base.
(Basic Faces): Note that the 'margin' face also provides the base
attributes for strings displayed in the margins.
(Display Margins): Drop a sentence that restated the preceding one
about unspecified attributes inheriting from 'margin'.
* etc/NEWS: Document the change for margin strings.
Suggested by F. Jason Park <jp@neverwas.me>.