Fix documentation for Emacs 30
authorEli Zaretskii <eliz@gnu.org>
Sun, 30 Jun 2024 14:42:38 +0000 (17:42 +0300)
committerEli Zaretskii <eliz@gnu.org>
Sun, 30 Jun 2024 14:42:38 +0000 (17:42 +0300)
* etc/NEWS: Mark entries and improve wording.

* doc/emacs/dired.texi (Operating on Files): Document
'dired-do-open'.  Fix indexing.
* doc/emacs/files.texi (Diff Mode): Document 'diff-apply-buffer'.
Fix indexing.
* doc/emacs/maintaining.texi (Project File Commands)
(Project Buffer Commands): Document 'project-any-command'.
* doc/emacs/building.texi (Other GDB Buffers): Document the user
option 'gdb-display-io-buffer'.
(Grep Searching): Document 'grep-use-headings'.
* doc/emacs/text.texi (Outline Visibility): Document Outline
commands that hide/show by heading regexp.
* doc/emacs/killing.texi (Kill Options): Document
'kill-ring-deindent-mode'.
* doc/emacs/basic.texi (Continuation Lines): Improve wording.

doc/emacs/basic.texi
doc/emacs/building.texi
doc/emacs/dired.texi
doc/emacs/files.texi
doc/emacs/killing.texi
doc/emacs/maintaining.texi
doc/emacs/text.texi
etc/NEWS

index a2a934ff24329e4e461ca9918b97ab41b2fc52ec..42f5c971e2f00d6e618eabb3823b3f841b2affdc 100644 (file)
@@ -643,14 +643,11 @@ long, by using Auto Fill mode.  @xref{Filling}.
   Normally, the first character of each continuation line is
 positioned at the beginning of the screen line where it is displayed.
 The minor mode @code{visual-wrap-prefix-mode} and its global
-(@pxref{Minor Modes}) counterpart
-@code{global-visual-wrap-prefix-mode} arranges that continuation lines
-be prefixed by slightly adjusted versions of the fill prefixes
-(@pxref{Fill Prefix}) of their respective logical lines, so that
-indentation characters or the prefixes of source code comments are
-replicated across every continuation line, and the appearance of such
-comments or indentation is not broken.  These prefixes are only shown
-on display, and does not change the buffer text in any way.
+counterpart (@pxref{Minor Modes}) @code{global-visual-wrap-prefix-mode}
+arranges for continuation lines to be indented on display using a fill
+prefix (@pxref{Fill Prefix}) automatically computed from each line's
+surrounding context.  These prefixes are display-only feature, and do
+not change the buffer text in any way.
 
   Sometimes, you may need to edit files containing many long logical
 lines, and it may not be practical to break them all up by adding
index 38cc0bb67af2762c6cebec057fa2b9b1ebd2664e..1b079c2cef9547def870b2482d557b1cdf5e0854 100644 (file)
@@ -477,6 +477,14 @@ non-@code{nil} if the buffer is to be saved).  Any other
 non-@code{nil} value means that all buffers should be saved without
 asking.  The default is @code{ask}.
 
+@vindex grep-use-headings
+@vindex grep-heading@r{ face}
+  By default, grep matches are shown with the file names prefixed to
+each line.  But if the variable @code{grep-use-headings} is customized
+to a non-@code{nil} value, the matches are split into sections, one
+section for each file with matches, and the file names are shown in the
+section headings using a special face @code{grep-heading}.
+
 @findex grep-find
 @findex find-grep
   The command @kbd{M-x grep-find} (also available as @kbd{M-x
@@ -1313,6 +1321,10 @@ of output to its standard output, you may wish to separate its I/O
 from interaction with GDB.  Use the command @w{@kbd{M-x
 gdb-display-io-buffer}} to show a window with a buffer to which Emacs
 redirects the input and output from the program you are debugging.
+However, if the variable @code{gdb-display-io-buffer} is @code{nil},
+Emacs will not create nor display a separate I/O buffer, but will
+instead redirect the program's interaction to the GUD interaction
+buffer.
 
 @findex gdb-display-registers-buffer
 @item Registers Buffer
index c251a6dc2be450500e3b485cdeca03eb8fd7215a..cf57350743f7421ba9850d868828b2b6e8ca557c 100644 (file)
@@ -803,9 +803,9 @@ The @code{dired-keep-marker-copy} user option controls how this
 command handles file marking.  The default is to mark all new copies
 of files with a @samp{C} mark.
 
-@item D
 @findex dired-do-delete
 @kindex D @r{(Dired)}
+@item D
 Delete the specified files (@code{dired-do-delete}).  This is like the
 shell command @code{rm}.
 
@@ -813,6 +813,13 @@ Like the other commands in this section, this command operates on the
 @emph{marked} files, or the next @var{n} files.  By contrast, @kbd{x}
 (@code{dired-do-flagged-delete}) deletes all @dfn{flagged} files.
 
+@findex dired-do-open
+@kindex E @r{(Dired)}
+@item E
+``Open'' the specified files using an external program.  The program is
+selected according to the system conventions, as determined by the
+variable @code{shell-command-guess-open}.
+
 @findex dired-do-rename
 @kindex R @r{(Dired)}
 @cindex renaming files (in Dired)
index dfacf5016507a6a55d8d6c5292146e5610ff8b11..709cb0910e6146d1e687329e75cdc4e7a3b1579b 100644 (file)
@@ -1633,8 +1633,8 @@ commands to visit the corresponding source locations.
 manipulate and apply parts of patches:
 
 @table @kbd
-@item M-n
 @findex diff-hunk-next
+@item M-n
 Move to the next hunk-start (@code{diff-hunk-next}).  With prefix
 argument @var{n}, move forward to the @var{n}th next hunk.
 
@@ -1645,45 +1645,50 @@ you set @code{diff-refine} to the symbol @code{navigation}, Diff mode
 only refines the hunk you move to with this command or with
 @code{diff-hunk-prev}.
 
-@item M-p
 @findex diff-hunk-prev
+@item M-p
 Move to the previous hunk-start (@code{diff-hunk-prev}).  With prefix
 argument @var{n}, move back to the @var{n}th previous hunk.  Like
 @kbd{M-n}, this command refines the hunk you move to if you set
 @code{diff-refine} to the symbol @code{navigation}.
 
-@item M-@}
 @findex diff-file-next
+@item M-@}
 Move to the next file-start, in a multi-file patch
 (@code{diff-file-next}).  With prefix argument @var{n}, move forward
 to the start of the @var{n}th next file.
 
-@item M-@{
 @findex diff-file-prev
+@item M-@{
 Move to the previous file-start, in a multi-file patch
 (@code{diff-file-prev}).  With prefix argument @var{n}, move back to
 the start of the @var{n}th previous file.
 
-@item M-k
 @findex diff-hunk-kill
+@item M-k
 Kill the hunk at point (@code{diff-hunk-kill}).
 
-@item M-K
 @findex diff-file-kill
+@item M-K
 In a multi-file patch, kill the current file part.
 (@code{diff-file-kill}).
 
-@item C-c C-a
 @findex diff-apply-hunk
 @cindex patches, applying
+@item C-c C-a
 Apply this hunk to its target file (@code{diff-apply-hunk}).  With a
 prefix argument of @kbd{C-u}, revert this hunk, i.e.@: apply the
 reverse of the hunk, which changes the ``new'' version into the ``old''
 version.  If @code{diff-jump-to-old-file} is non-@code{nil}, apply the
 hunk to the ``old'' version of the file instead.
 
-@item C-c C-b
+@findex diff-apply-buffer
+@item C-c @key{RET} a
+Apply all the hunks in the buffer (@code{diff-apply-buffer}).  If the
+diffs were applied successfully, save the changed buffers.
+
 @findex diff-refine-hunk
+@item C-c C-b
 Highlight the changes of the hunk at point with a finer granularity
 (@code{diff-refine-hunk}).  This allows you to see exactly which parts
 of each changed line were actually changed.
@@ -1693,9 +1698,9 @@ By default, Diff mode refines hunks as Emacs displays them, so you may
 find this command useful if you customize @code{diff-refine} to a
 non-default value.
 
-@item C-c C-c
 @findex diff-goto-source
 @vindex diff-jump-to-old-file
+@item C-c C-c
 Go to the source file and line corresponding to this hunk
 (@code{diff-goto-source}).  By default, this jumps to the ``new''
 version of the file, the one shown first on the file header.
@@ -1710,20 +1715,20 @@ this jumps to the work file by default.  With a prefix argument, jump
 to the ``old'' revision of the file (@pxref{Old Revisions}), when
 point is on the old line, or otherwise jump to the ``new'' revision.
 
-@item C-c C-e
 @findex diff-ediff-patch
+@item C-c C-e
 Start an Ediff session with the patch (@code{diff-ediff-patch}).
 @xref{Top, Ediff, Ediff, ediff, The Ediff Manual}.
 
-@item C-c C-n
 @findex diff-restrict-view
+@item C-c C-n
 Restrict the view to the current hunk (@code{diff-restrict-view}).
 @xref{Narrowing}.  With a prefix argument, restrict the
 view to the current file of a multiple-file patch.  To widen again,
 use @kbd{C-x n w} (@code{widen}).
 
-@item C-c C-r
 @findex diff-reverse-direction
+@item C-c C-r
 Reverse the direction of comparison for the entire buffer
 (@code{diff-reverse-direction}).  With a prefix argument, reverse the
 direction only inside the current region (@pxref{Mark}).  Reversing
@@ -1731,8 +1736,8 @@ the direction means changing the hunks and the file-start headers to
 produce a patch that would change the ``new'' version into the ``old''
 one.
 
-@item C-c C-s
 @findex diff-split-hunk
+@item C-c C-s
 Split the hunk at point (@code{diff-split-hunk}) into two separate
 hunks.  This inserts a hunk header and modifies the header of the
 current hunk.  This command is useful for manually editing patches,
@@ -1743,35 +1748,35 @@ produced by the @option{-c} or @option{--context} options to
 @command{diff}, first convert the buffer to the unified diff format
 with @kbd{C-c C-u}.
 
-@item C-c C-d
 @findex diff-unified->context
+@item C-c C-d
 Convert the entire buffer to the @dfn{context diff format}
 (@code{diff-unified->context}).  With a prefix argument, convert only
 the hunks within the region.
 
-@item C-c C-u
 @findex diff-context->unified
+@item C-c C-u
 Convert the entire buffer to unified diff format
 (@code{diff-context->unified}).  With a prefix argument, convert
 unified format to context format.  When the mark is active, convert
 only the hunks within the region.
 
-@item C-c C-l
 @findex diff-refresh-hunk
+@item C-c C-l
 Re-generate the current hunk (@code{diff-refresh-hunk}).
 
-@item C-c C-w
 @vindex diff-ignore-whitespace-switches
 @findex diff-ignore-whitespace-hunk
+@item C-c C-w
 Re-generate the current hunk, disregarding changes in whitespace.
 With a non-@code{nil} prefix arg, re-generate all the hunks
 (@code{diff-ignore-whitespace-hunk}).  This calls @code{diff-command}
 with @code{diff-ignore-whitespace-switches}, which defaults to
 @samp{-b}, meaning ignore changes in whitespace only.
 
-@item C-x 4 A
 @findex diff-add-change-log-entries-other-window
 @findex add-change-log-entry-other-window@r{, in Diff mode}
+@item C-x 4 A
 Generate a ChangeLog entry, like @kbd{C-x 4 a} does (@pxref{Change
 Log}), for each one of the hunks
 (@code{diff-add-change-log-entries-other-window}).  This creates a
index 57adc037cb754ef0eb3c0119e3c31d5235dfaa95..62f72763ac650b70f7b1b8d3251af6a0006e595c 100644 (file)
@@ -302,6 +302,13 @@ a pure white space string to the kill ring, you can say:
 non-@code{nil} value, identical subsequent kills yield a single
 kill-ring entry, without duplication.
 
+@findex kill-ring-deindent-mode
+  If you enable the minor mode @code{kill-ring-deindent-mode}, text
+saved to the kill-ring will have its indentation decreased by the amount
+of indentation of the first saved line.  That is, if the first line of
+the saved text was indented @var{n} columns, this mode will remove that
+number of columns from the indentation of each saved line.
+
 @node Yanking
 @section Yanking
 @cindex moving text
index 64d77fb88a55c43d4997c72092e812748bc62788..f4752fa2b294a93c39bda9d9a2c11d749e57ab97 100644 (file)
@@ -1850,6 +1850,9 @@ Run shell command in the current project's root directory
 @item C-x p &
 Run shell command asynchronously in the current project's root
 directory (@code{project-async-shell-command}).
+@item C-x p o
+Run the next command in the current project
+(@code{project-any-command}).
 @end table
 
   Emacs provides commands for handling project files conveniently.
@@ -1946,6 +1949,11 @@ directory.  @xref{Top,Eshell,Eshell, eshell, Eshell: The Emacs Shell}.
   The command @kbd{C-x p &} (@code{project-async-shell-command}) runs
 @code{async-shell-command} in the current project's root directory.
 
+@findex project-any-command
+  Finally, the command @kbd{C-x p o} (@code{project-any-command}) will
+run the next command you type, whether related to files or not, in the
+current project.
+
 @node Project Buffer Commands
 @subsection Project Commands That Operate on Buffers
 
@@ -1958,6 +1966,9 @@ List the project buffers (@code{project-list-buffers}).
 @item C-x p k
 Kill all live buffers that belong to the current project
 (@code{project-kill-buffers}).
+@item C-x p o
+Run the next command in the current project
+(@code{project-any-command}).
 @end table
 
 @findex project-switch-to-buffer
@@ -1986,6 +1997,10 @@ project that satisfy any of @code{project-kill-buffer-conditions}.  If
 @code{project-kill-buffers-display-buffer-list} is non-@code{nil}, the
 buffers to be killed will be displayed first.
 
+  Finally, the command @kbd{C-x p o} (@code{project-any-command}) will
+run the next command you type, whether related to buffers or not, in the
+current project.
+
 @node Switching Projects
 @subsection Switching Projects
 
index 1d1065c45c214fde8a75b86bb2b5aa31d7bdaca6..8abaeafcf33bae75dfdc6cd81dd3ccd4567f399d 100644 (file)
@@ -1208,6 +1208,12 @@ Hide everything except the top @var{n} levels of heading lines
 Hide everything except for the heading or body that point is in, plus
 the headings leading up from there to the top level of the outline
 (@code{outline-hide-other}).
+@item C-c / h @var{regexp} @key{RET}
+Hide bodies of headings that match @var{regexp}
+(@code{outline-hide-by-heading-regexp}).
+@item C-c / s @var{regexp} @key{RET}
+Show bodies of headings that match @var{regexp}
+(@code{outline-show-by-heading-regexp}).
 @end table
 
 @findex outline-hide-entry
@@ -1253,6 +1259,16 @@ headers leading up from there to top level in the outline) and the top
 level headings.  It also reveals body lines preceding the first
 heading in the buffer.
 
+@findex outline-hide-by-heading-regexp
+@findex outline-show-by-heading-regexp
+@kindex C-c / h @r{(Outline mode)}
+@kindex C-c / s @r{(Outline mode)}
+  The command @kbd{C-c / h} (@code{outline-hide-by-heading-regexp})
+prompts for a regular expression, and hides all the body lines of
+headings which match the regular expression.  The command @kbd{C-c / s}
+likewise prompts for a regular expression, and reveals the bodies of
+matching headings.
+
 @findex outline-hide-body
 @findex outline-show-all
 @kindex C-c C-t @r{(Outline mode)}
index 78dfa00aafeefbf31dbaff20fed1ab5a94cb464c..a6eda6afdddee763fb6b0dd074cf29d2f9976c65 100644 (file)
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -635,11 +635,11 @@ buffers.
 (This minor mode is the 'adaptive-wrap' ELPA package renamed and
 lightly edited for inclusion in Emacs.)
 
----
++++
 ** New global minor mode 'kill-ring-deindent-mode'.
 When enabled, text being saved to the kill ring will be de-indented by
 the column number at its start.  For example, saving the entire
-function call within:
+function call within an indented block:
 
 foo ()
 {
@@ -648,16 +648,16 @@ foo ()
                                        argument_3_compute ());
 }
 
-will save:
+will save this to the kill ring:
 
 long_function_with_several_arguments (argument_1_compute (),
                                      argument_2_compute (),
                                      argument_3_compute ())
 
-to the kill ring, omitting the two columns of extra indentation that
-would otherwise be present in the second and third lines of the
-function call.
+This omits the two columns of extra indentation that would otherwise be
+copied from the second and third lines and saved to the kill ring.
 
+---
 ** New command 'replace-regexp-as-diff'.
 It reads a regexp to search for and a string to replace with, then
 displays a buffer with replacements as diffs.  After reviewing the
@@ -728,6 +728,7 @@ whereas if the mouse pointer is in the left half of a glyph, point
 will be put in front the buffer position corresponding to that glyph.
 By default this is disabled.
 
+---
 ** New pre-defined values for 'electric-quote-chars'.
 The available customization options for 'electric-quote-chars' have been
 updated with common pairs of quotation characters, including "‘", "’",
@@ -735,7 +736,7 @@ updated with common pairs of quotation characters, including "‘", "’",
 The default is unchanged.
 
 +++
-** 'M-TAB' now invokes 'completion-at-point' also in Text mode.
+** 'M-TAB' now invokes 'completion-at-point' in Text mode.
 By default, Text mode no longer binds 'M-TAB' to 'ispell-complete-word'.
 Instead, this mode arranges for 'completion-at-point', globally bound to
 'M-TAB', to perform word completion as well.  You can have Text mode
@@ -786,14 +787,17 @@ These languages are spoken in Pakistan and Afghanistan.
 *** New input method "english-colemak".
 This input method supports the Colemak keyboard layout.
 
+---
 *** Additional 'C-x 8' key translations for "æ" and "Æ".
 These characters can now be input with 'C-x 8 a e' and 'C-x 8 A E',
 respectively, in addition to the existing translations 'C-x 8 / e' and
 'C-x 8 / E'.
 
+---
 *** New 'C-x 8' key translations for "low" quotes "„", and "‚".
 These can now be entered with 'C-x , "' and 'C-x , ''.
 
+---
 *** New German language 'C-x 8' key translations for quotation marks.
 The characters "„", "“", and "”" can now be entered with 'C-x 8 v',
 'C-x 8 b' and 'C-x 8 n'.  The single versions "‚", "‘", and "’" can now
@@ -801,6 +805,7 @@ be entered with 'C-x 8 V', 'C-x 8 B' and 'C-x 8 N'.  These characters
 are used for the official German quoting style.  Using them requires
 activating German language support via 'iso-transl-set-language'.
 
+---
 *** "latin-prefix" and "latin-postfix" quotation marks additions.
 These input methods can now produce single, double and "low" left and
 right quotation marks:
@@ -810,17 +815,20 @@ right quotation marks:
 by using "[", "]", and "," for "left", "right", and "low" respectively
 to modify "'" and """.
 
+---
 *** "latin-prefix" and "latin-postfix" guillemets support.
 These input methods can now produce single guillemets "‹" and "›".  For
 "latin-prefix" use "~~<" and "~~>", for "latin-postfix" use "<~" and
 ">~".  Double guillemets ("«" and "»") were already supported.
 
+---
 *** New French language 'C-x 8' key translations for "‹" and "›".
 These characters can now be entered using 'C-x 8 ~ <' and 'C-x 8 ~ >'
 respectively, after activating French language support via
 'iso-transl-set-language'.  Double guillemets were already supported via
 'C-x 8 <' and 'C-x 8 >'
 
+---
 *** Additional 'C-x 8' key translation for Euro "€" currency symbol.
 This can now be entered using 'C-x 8 E' in addition to the existing
 'C-x 8 * E' translation.
@@ -830,11 +838,12 @@ This can now be entered using 'C-x 8 E' in addition to the existing
 
 ** Outline mode
 
++++
 *** New commands to show/hide outlines by regexp.
-'/ h' ('outline-hide-by-heading-regexp') asks for a regexp and then
+'C-c / h' ('outline-hide-by-heading-regexp') asks for a regexp and then
 hides the body lines of all outlines whose heading lines match the
-regexp.  '/ s' ('outline-show-by-heading-regexp') does the same but
-shows the matched outlines.
+regexp.  'C-c / s' ('outline-show-by-heading-regexp') does the inverse:
+it shows the bodies of outlines that matched a regexp.
 
 +++
 *** 'outline-minor-mode' is supported in tree-sitter major modes.
@@ -850,6 +859,7 @@ This user option associates manual names with URLs.  It affects the
 Emacs-included manuals are set.  Further associations can be added for
 arbitrary Info manuals.
 
+---
 *** Emacs can now display Info manuals compressed with 'lzip'.
 This requires the 'lzip' program to be installed on your system.
 
@@ -881,7 +891,7 @@ If you want to get back the old behavior, set the user option to the value
     (setopt gdb-locals-table-row-config
             `((type . 0) (name . 0) (value . ,gdb-locals-value-limit)))
 
----
++++
 *** New user option 'gdb-display-io-buffer'.
 If this is nil, 'M-x gdb' will neither create nor display a separate
 buffer for the I/O of the program being debugged, but will instead
@@ -890,11 +900,13 @@ default is t, to preserve previous behavior.
 
 ** Grep
 
++++
 *** New user option 'grep-use-headings'.
 When non-nil, the output of Grep is split into sections, one for each
 file, instead of having file names prefixed to each line.  It is
 equivalent to the "--heading" option of some tools such as 'git grep'
 and 'rg'.  The headings are displayed using the new 'grep-heading' face.
+The default is nil.
 
 ** Compilation mode
 
@@ -904,6 +916,7 @@ This is because it partly acts by modifying other rules which may
 occasionally be surprising.  It can be re-enabled by adding 'omake' to
 'compilation-error-regexp-alist'.
 
+---
 *** Lua errors and stack traces are now recognized.
 Compilation mode now recognizes Lua language errors and stack traces.
 Every Lua error is recognized as a compilation error, and every Lua
@@ -917,22 +930,26 @@ When non-nil, display the name of the current project on the mode
 line.  Clicking 'mouse-1' on the project name pops up the project
 menu.  The default value is nil.
 
+---
 *** New user option 'project-file-history-behavior'.
 Customizing it to 'relativize' makes commands like 'project-find-file'
 and 'project-find-dir' display previous history entries relative to
 the current project.
 
+--
 *** New user option 'project-key-prompt-style'.
 The look of the key prompt in the project switcher has been changed
 slightly.  To get the previous one, set this option to 'brackets'.
 
+---
 *** 'project-try-vc' tries harder to find the responsible VCS.
 When 'project-vc-extra-root-markers' is non-nil, and causes a
-subdirectory project to be detected which is not a VCS root, we now
-additionally traverse the parent directories until a VCS root is found
+subdirectory project to be detected which is not a VCS root, Project now
+additionally traverses the parent directories until a VCS root is found
 (if any), so that the ignore rules for that repository are used, and
 the file listing's performance is still optimized.
 
++++
 *** New commands 'project-any-command' and 'project-prefix-or-any-command'.
 The former is now bound to 'C-x p o' by default.
 The latter is designed primarily for use as a value of
@@ -970,15 +987,16 @@ With this value only the revision number is displayed on the mode-line.
 *** Obsolete command 'vc-switch-backend' re-added as 'vc-change-backend'.
 The command was previously obsoleted and unbound in Emacs 28.
 
+---
 *** Support for viewing VC change history across renames.
-When a fileset's VC change history ('C-x v l') ends at a rename, we
-now print the old name(s) and a button which jumps to their history.
-Git and Hg are supported.  Naturally, 'vc-git-print-log-follow' should
-be nil for this to work (or '--follow' should not be in
-'vc-hg-print-log-switches', in Hg's case).  Unlike when the '--follow'
-switch is used, commands to see the diff of the old revision ('d'),
-check out an old file version ('f') or annotate it right away ('a'),
-also work on revisions which precede renames.
+When a fileset's VC change history ends at a rename, ('C-x v l') now
+prints the old name(s) and shows a button which jumps to the history of
+the files under the old names.  This feature is supported for Git and
+Hg.  Naturally, 'vc-git-print-log-follow' should be nil for this to work
+(or '--follow' should not be in 'vc-hg-print-log-switches', in Hg's
+case).  Unlike when the '--follow' switch is used, commands to see the
+diff of the old revision ('d'), to check out an old file version ('f')
+or to annotate it ('a'), also work on revisions which precede renames.
 
 ---
 *** 'vc-annotate' now abbreviates the Git revision in the buffer name.
@@ -986,6 +1004,7 @@ When using the Git backend, 'vc-annotate' will use an abbreviated
 revision identifier in its buffer name.  To restore the previous
 behavior, set 'vc-annotate-use-short-revision' to nil.
 
+---
 *** New option 'vc-git-file-name-changes-switches'.
 It allows tweaking the thresholds for rename and copy detection.
 
@@ -1011,6 +1030,7 @@ This allows changing which type of whitespace changes are ignored when
 regenerating hunks with 'diff-ignore-whitespace-hunk'.  Defaults to
 the previously hard-coded "-b".
 
++++
 *** New command 'diff-apply-buffer' bound to 'C-c RET a'.
 It applies the diff in the entire diff buffer and
 saves all modified file buffers.
@@ -1025,6 +1045,7 @@ It also controls how to move point when encountering a boundary
 (e.g., if every line is visible, invoking 'dired-next-line' at
 the last line will move to the first line).  The default is nil.
 
+---
 *** New user option 'dired-filename-display-length'.
 It is an integer representing the maximum display length of filenames.
 The middle part of a filename whose length exceeds the restriction is
@@ -1032,6 +1053,7 @@ hidden and an ellipsis is displayed instead.  A value of 'window'
 means using the right edge of window as the display restriction.  The
 default is nil.
 
+---
 *** New user option 'shell-command-guess-functions'.
 It defines how to populate a list of commands available
 for 'M-!', 'M-&', '!', '&' and the context menu "Open With"
@@ -1040,16 +1062,19 @@ based on marked files in Dired.  Possible backends are
 and a universal command such as "open" or "start"
 that delegates to the OS.
 
++++
 *** New command 'dired-do-open'.
 This command is bound to 'E' (mnemonics "External").  Also it can be
 used by clicking "Open" in the context menu; it "opens" the marked or
 clicked on files according to the OS conventions.  For example, on
 systems supporting XDG, this runs 'xdg-open' on the files.
 
++++
 *** New variable 'dired-guess-shell-alist-optional'.
 It contains commands for external viewers and players for various media
 formats, moved to this list from 'dired-guess-shell-alist-default'.
 
+---
 *** The default value of 'dired-omit-size-limit' was increased.
 After performance improvements to omitting in large directories, the new
 default value is 300k, up from 100k.  This means 'dired-omit-mode' will