emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master 6d22bd4d3a0 1/4: Merge from savannah/emacs-30


From: Po Lu
Subject: master 6d22bd4d3a0 1/4: Merge from savannah/emacs-30
Date: Tue, 23 Jul 2024 23:58:58 -0400 (EDT)

branch: master
commit 6d22bd4d3a0a9cb55bbfffb29ed3e3190c63b565
Merge: 19a18e487b8 c66bda1a19a
Author: Po Lu <luangruo@yahoo.com>
Commit: Po Lu <luangruo@yahoo.com>

    Merge from savannah/emacs-30
    
    c66bda1a19a Improve treesit-node-child-by-field-name docstring
    85773ab9771 Minor copyedits in tree-sitter starting guide
    2dacec1609a Update tag for prebuilt tree-sitter grammars
    68615a38669 Fix punctuation and doc style in treesit.c
    00adee897ac ; Fix punctuation in docs
    ab29b28d4ba Fix DocView with PostScript files
---
 admin/notes/tree-sitter/starter-guide | 58 +++++++++++-------------
 doc/emacs/custom.texi                 |  2 +-
 doc/emacs/display.texi                |  2 +-
 doc/emacs/fortran-xtra.texi           |  2 +-
 doc/emacs/frames.texi                 |  2 +-
 doc/emacs/trouble.texi                |  2 +-
 doc/emacs/vc1-xtra.texi               |  2 +-
 doc/lispintro/emacs-lisp-intro.texi   |  8 ++--
 doc/lispref/commands.texi             |  2 +-
 doc/lispref/display.texi              |  2 +-
 doc/lispref/files.texi                |  4 +-
 doc/lispref/modes.texi                |  2 +-
 doc/lispref/package.texi              |  4 +-
 doc/lispref/positions.texi            |  2 +-
 doc/lispref/processes.texi            |  2 +-
 doc/lispref/searching.texi            |  4 +-
 doc/lispref/sequences.texi            |  2 +-
 doc/lispref/streams.texi              |  2 +-
 doc/lispref/variables.texi            |  2 +-
 doc/man/etags.1                       |  2 +-
 doc/misc/auth.texi                    | 12 ++---
 doc/misc/autotype.texi                |  2 +-
 doc/misc/bovine.texi                  |  2 +-
 doc/misc/calc.texi                    | 84 +++++++++++++++++------------------
 doc/misc/cc-mode.texi                 |  8 ++--
 doc/misc/cl.texi                      |  4 +-
 doc/misc/dbus.texi                    |  4 +-
 doc/misc/ebrowse.texi                 |  6 +--
 doc/misc/ede.texi                     |  2 +-
 doc/misc/ediff.texi                   | 76 +++++++++++++++----------------
 doc/misc/efaq-w32.texi                | 36 +++++++--------
 doc/misc/efaq.texi                    |  8 ++--
 doc/misc/eglot.texi                   |  4 +-
 doc/misc/emacs-mime.texi              |  2 +-
 doc/misc/ert.texi                     | 10 ++---
 doc/misc/eshell.texi                  | 12 ++---
 doc/misc/eudc.texi                    | 40 ++++++++---------
 doc/misc/flymake.texi                 |  2 +-
 doc/misc/forms.texi                   | 22 ++++-----
 doc/misc/gnus-faq.texi                | 26 +++++------
 doc/misc/gnus.texi                    | 44 +++++++++---------
 doc/misc/htmlfontify.texi             |  2 +-
 doc/misc/idlwave.texi                 | 16 +++----
 doc/misc/info.texi                    |  2 +-
 doc/misc/message.texi                 | 14 +++---
 doc/misc/modus-themes.org             | 50 ++++++++++-----------
 doc/misc/newsticker.texi              | 20 ++++-----
 doc/misc/nxml-mode.texi               | 82 +++++++++++++++++-----------------
 doc/misc/org.org                      | 22 ++++-----
 doc/misc/pcl-cvs.texi                 |  2 +-
 doc/misc/rcirc.texi                   |  2 +-
 doc/misc/reftex.texi                  | 24 +++++-----
 doc/misc/sc.texi                      |  2 +-
 doc/misc/ses.texi                     | 56 +++++++++++------------
 doc/misc/speedbar.texi                |  2 +-
 doc/misc/todo-mode.texi               |  4 +-
 doc/misc/transient.texi               | 10 ++---
 doc/misc/use-package.texi             |  4 +-
 doc/misc/vhdl-mode.texi               | 28 ++++++------
 doc/misc/vip.texi                     | 18 ++++----
 doc/misc/viper.texi                   | 40 ++++++++---------
 doc/misc/widget.texi                  |  4 +-
 doc/misc/wisent.texi                  |  4 +-
 lisp/doc-view.el                      |  2 +
 src/treesit.c                         | 37 ++++++++-------
 65 files changed, 479 insertions(+), 482 deletions(-)

diff --git a/admin/notes/tree-sitter/starter-guide 
b/admin/notes/tree-sitter/starter-guide
index b07c80b203c..72102250bbb 100644
--- a/admin/notes/tree-sitter/starter-guide
+++ b/admin/notes/tree-sitter/starter-guide
@@ -34,10 +34,9 @@ merged) and rebuild Emacs.
 
 * Install language definitions
 
-Tree-sitter by itself doesn’t know how to parse any particular
-language.  We need to install language definitions (or “grammars”) for
-a language to be able to parse it.  There are a couple of ways to get
-them.
+Tree-sitter by itself doesn’t know how to parse any particular language.
+We need to install language definitions (or “grammars”) for a language
+to be able to parse it.  There are a couple of ways to get them.
 
 You can use this script that I put together here:
 
@@ -48,9 +47,9 @@ C++, Rust, JSON, Go, HTML, JavaScript, CSS, Python, 
Typescript,
 C#, etc.  Better yet, I pre-built these language definitions for
 GNU/Linux and macOS, they can be downloaded here:
 
-    https://github.com/casouri/tree-sitter-module/releases/tag/v2.1
+    https://github.com/casouri/tree-sitter-module/releases/tag/v2.4
 
-To build them yourself, run
+To build them yourself, run:
 
     git clone git@github.com:casouri/tree-sitter-module.git
     cd tree-sitter-module
@@ -73,26 +72,25 @@ automatically download and compile the language grammar for 
you.
 
 * Setting up for adding major mode features
 
-Start Emacs and load tree-sitter with
+Start Emacs and load tree-sitter with:
 
     (require 'treesit)
 
-Now check if Emacs is built with tree-sitter library
+Now check if Emacs is built with tree-sitter library:
 
     (treesit-available-p)
 
-Make sure Emacs can find the language grammar you want to use
+Make sure Emacs can find the language grammar you want to use:
 
     (treesit-language-available-p 'lang)
 
 * Tree-sitter major modes
 
 Tree-sitter modes should be separate major modes, so other modes
-inheriting from the original mode don't break if tree-sitter is
-enabled.  For example js2-mode inherits js-mode, we can't enable
-tree-sitter in js-mode, lest js-mode would not setup things that
-js2-mode expects to inherit from.  So it's best to use separate major
-modes.
+inheriting from the original mode don't break if tree-sitter is enabled.
+For example js2-mode inherits js-mode, we can't enable tree-sitter in
+js-mode, lest js-mode would not setup things that js2-mode expects to
+inherit from.  So it's best to use separate major modes.
 
 If the tree-sitter variant and the "native" variant could share some
 setup, you can create a "base mode", which only contains the common
@@ -119,19 +117,18 @@ you.  The query function returns a list of (capture-name 
. node).  For
 font-lock, we use face names as capture names.  And the captured node
 will be fontified in their capture name.
 
-The capture name could also be a function, in which case (NODE
-OVERRIDE START END) is passed to the function for fontification.  START
-and END are the start and end of the region to be fontified.  The
-function should only fontify within that region.  The function should
-also allow more optional arguments with (&rest _), for future
-extensibility.  For OVERRIDE check out the docstring of
-treesit-font-lock-rules.
+The capture name could also be a function, in which case (NODE OVERRIDE
+START END) is passed to the function for fontification.  START and END
+are the start and end of the region to be fontified.  The function
+should only fontify within that region.  The function should also allow
+more optional arguments with (&rest _), for future extensibility.  For
+OVERRIDE check out the docstring of treesit-font-lock-rules.
 
 ** Query syntax
 
 There are two types of nodes, named, like (identifier),
 (function_definition), and anonymous, like "return", "def", "(",
-"}".  Parent-child relationship is expressed as
+"}".  Parent-child relationship is expressed as:
 
    (parent (child) (child) (child (grand_child)))
 
@@ -155,8 +152,7 @@ The query above captures both parent and child.
 
    ["return" "continue" "break"] @keyword
 
-The query above captures all the keywords with capture name
-"keyword".
+The query above captures all the keywords with capture name "keyword".
 
 These are the common syntax, see all of them in the manual
 ("Parsing Program Source" section).
@@ -168,7 +164,7 @@ open any python source file, type M-x treesit-explore-mode 
RET.  Now
 you should see the parse-tree in a separate window, automatically
 updated as you select text or edit the buffer.  Besides this, you can
 consult the grammar of the language definition.  For example, Python’s
-grammar file is at
+grammar file is at:
 
     https://github.com/tree-sitter/tree-sitter-python/blob/master/grammar.js
 
@@ -262,7 +258,7 @@ Concretely, something like this:
 
 * Indent
 
-Indent works like this: We have a bunch of rules that look like
+Indent works like this: We have a bunch of rules that look like:
 
    (MATCHER ANCHOR OFFSET)
 
@@ -354,9 +350,8 @@ Set ‘treesit-simple-imenu-settings’ and call
 
 * Navigation
 
-Set ‘treesit-defun-type-regexp’ and call
-‘treesit-major-mode-setup’.  You can additionally set
-‘treesit-defun-name-function’.
+Set ‘treesit-defun-type-regexp’ and call ‘treesit-major-mode-setup’.
+You can additionally set ‘treesit-defun-name-function’.
 
 * Which-func
 
@@ -404,13 +399,12 @@ BTW ‘treesit-node-string’ does different things.
 * Manual
 
 I suggest you read the manual section for tree-sitter in Info.  The
-section is Parsing Program Source.  Typing
+section is Parsing Program Source.  Typing:
 
     C-h i d m elisp RET g Parsing Program Source RET
 
 will bring you to that section.  You don’t need to read through every
-sentence, just read the text paragraphs and glance over function
-names.
+sentence, just read the text paragraphs and glance over function names.
 
 * Appendix 1
 
diff --git a/doc/emacs/custom.texi b/doc/emacs/custom.texi
index a385d06bb1d..1527e42bbfe 100644
--- a/doc/emacs/custom.texi
+++ b/doc/emacs/custom.texi
@@ -2044,7 +2044,7 @@ sequences.  For example, to bind @kbd{C-c h} to the string
 @end example
 
   Non-@acronym{ASCII} characters can be specified directly in the
-string. To bind to  e.g. @samp{ol@'a}, use:
+string.  To bind to e.g. @samp{ol@'a}, use:
 
 @example
 (keymap-global-set "C-c h" (key-description "ol@'a"))
diff --git a/doc/emacs/display.texi b/doc/emacs/display.texi
index 8f22e3c88da..88520874c8e 100644
--- a/doc/emacs/display.texi
+++ b/doc/emacs/display.texi
@@ -2198,7 +2198,7 @@ The line numbers are displayed in a special face 
@code{line-number}.
 The current line number is displayed in a different face,
 @code{line-number-current-line}, so you can make the current line's
 number have a distinct appearance, which will help locating the line
-showing point. Additional faces @code{line-number-major-tick} and
+showing point.  Additional faces @code{line-number-major-tick} and
 @code{line-number-minor-tick} can be used to highlight the line numbers
 of lines which are a multiple of certain numbers.  Customize
 @code{display-line-numbers-major-tick} and
diff --git a/doc/emacs/fortran-xtra.texi b/doc/emacs/fortran-xtra.texi
index 5225dfccbd0..1884ee76219 100644
--- a/doc/emacs/fortran-xtra.texi
+++ b/doc/emacs/fortran-xtra.texi
@@ -124,7 +124,7 @@ check the outermost block since that may be incomplete.
 @findex f90-beginning-of-block
 @item C-M-p
 Move to the start of the current code block
-(@code{fortran-beginning-of-block}/@code{f90-beginning-of-block}). This
+(@code{fortran-beginning-of-block}/@code{f90-beginning-of-block}).  This
 is like @code{fortran-end-of-block}, but moves backwards.
 @end table
 
diff --git a/doc/emacs/frames.texi b/doc/emacs/frames.texi
index e1fbf9768af..b5f2c5f5e84 100644
--- a/doc/emacs/frames.texi
+++ b/doc/emacs/frames.texi
@@ -1543,7 +1543,7 @@ After customizing the variable 
@code{tab-bar-select-tab-modifiers} to
 specify one or more @var{modifier} keys, you can select a tab by its
 ordinal number using one of the specified modifiers in combination
 with the tab number to select.  The number 9 can be used to select the
-last tab. You can select any modifiers supported by Emacs,
+last tab.  You can select any modifiers supported by Emacs,
 @pxref{Modifier Keys}.  To display the tab number alongside the tab
 name, you can customize another variable @code{tab-bar-tab-hints}.
 This will help you decide which numerical key to press to select the
diff --git a/doc/emacs/trouble.texi b/doc/emacs/trouble.texi
index e4993fb0014..c385d6b0b3d 100644
--- a/doc/emacs/trouble.texi
+++ b/doc/emacs/trouble.texi
@@ -1488,7 +1488,7 @@ the Emacs Lisp Reference Manual
 @cindex coding standards for Emacs submissions
 
 Contributed code should follow the GNU Coding Standards
-@url{https://www.gnu.org/prep/standards/}. This may also be available
+@url{https://www.gnu.org/prep/standards/}.  This may also be available
 in info on your system.
 
 If it doesn't, we'll need to find someone to fix the code before we
diff --git a/doc/emacs/vc1-xtra.texi b/doc/emacs/vc1-xtra.texi
index 303efa05d82..8897129d1b0 100644
--- a/doc/emacs/vc1-xtra.texi
+++ b/doc/emacs/vc1-xtra.texi
@@ -177,7 +177,7 @@ current directory as a tag named @var{name}
 @findex vc-retrieve-tag
 @item C-x v r @var{name} @key{RET}
 For all registered files at or below the current directory level,
-retrieve the tagged revision @var{name}. This command will switch to a
+retrieve the tagged revision @var{name}.  This command will switch to a
 branch if @var{name} is a branch name and your VCS distinguishes
 branches from tags.  (@code{vc-retrieve-tag}).
 
diff --git a/doc/lispintro/emacs-lisp-intro.texi 
b/doc/lispintro/emacs-lisp-intro.texi
index 4649cd59962..bc4dc31bf4c 100644
--- a/doc/lispintro/emacs-lisp-intro.texi
+++ b/doc/lispintro/emacs-lisp-intro.texi
@@ -130,7 +130,7 @@ Boston, MA 02110-1301 USA
 @end iftex
 
 @ifnottex
-Printed copies available from @uref{https://shop.fsf.org/}. Published by:
+Printed copies available from @uref{https://shop.fsf.org/}.  Published by:
 
 @example
 GNU Press,                        https://www.fsf.org/licensing/gnu-press/
@@ -1969,7 +1969,7 @@ argument is the string of characters, the second and 
third arguments
 are numbers that indicate the beginning (inclusive) and end
 (exclusive) of the substring.  The numbers are a count of the number
 of characters (including spaces and punctuation) from the beginning of
-the string. Note that the characters in a string are numbered from
+the string.  Note that the characters in a string are numbered from
 zero, not one.
 
 @need 800
@@ -5314,7 +5314,7 @@ Looking at the @code{let*} expression in 
@code{append-to-buffer}:
 
 @noindent
 we see that @code{append-to} is bound to the value returned by the
-@w{@code{(get-buffer-create buffer)}}. On the next line,
+@w{@code{(get-buffer-create buffer)}}.  On the next line,
 @code{append-to} is used as an argument to
 @code{get-buffer-window-list}; this would not be possible with the
 @code{let} expression.  Note that @code{point} is automatically bound
@@ -16099,7 +16099,7 @@ placing point somewhere in the buffer, typing 
@kbd{M-:}, typing the
 and then typing @key{RET}.  This causes Emacs to evaluate the
 expression in the minibuffer, but to use as the value of point the
 position of point in the @file{*scratch*} buffer.  (@kbd{M-:}  is the
-key binding for @code{eval-expression}. Also, @code{nil} does not
+key binding for @code{eval-expression}.  Also, @code{nil} does not
 appear in the @file{*scratch*} buffer since the expression is
 evaluated in the minibuffer.)
 
diff --git a/doc/lispref/commands.texi b/doc/lispref/commands.texi
index 6ddb70a3b9f..df8266a7157 100644
--- a/doc/lispref/commands.texi
+++ b/doc/lispref/commands.texi
@@ -1741,7 +1741,7 @@ this is @code{nil}.
 @item @var{dx}, @var{dy}
 These are the pixel offsets of the click relative to the top left
 corner of the @var{object}'s glyph that is the nearest one to the
-click. The relevant @var{object}s can be either a buffer, or a string,
+click.  The relevant @var{object}s can be either a buffer, or a string,
 or an image, see above.  If @var{object} is @code{nil} or a string,
 the coordinates are relative to the top left corner of the character
 glyph clicked on.  Note that the offsets are always zero on text-mode
diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi
index 16f60bdebf6..7564a831fd2 100644
--- a/doc/lispref/display.texi
+++ b/doc/lispref/display.texi
@@ -2771,7 +2771,7 @@ width of the vertical and horizontal lines to draw; they 
default to (1
 . 1).  A negative horizontal or vertical width @minus{}@var{n} means
 to draw a line of width @var{n} that occupies the space of the
 underlying text, thus avoiding any increase in the character height or
-width. For simplification the width could be specified with only a
+width.  For simplification the width could be specified with only a
 single number @var{n} instead of a list, such case is equivalent to
 @code{((abs @var{n}) . @var{n})}.
 
diff --git a/doc/lispref/files.texi b/doc/lispref/files.texi
index 1a8f3812f1e..70db8521481 100644
--- a/doc/lispref/files.texi
+++ b/doc/lispref/files.texi
@@ -2708,7 +2708,7 @@ file names (@pxref{Magic File Names}).
 
 @defmac file-name-unquote name
 This macro removes the quotation prefix @samp{/:} from the file
-@var{name}, if any. If @var{name} is a remote file name, the local
+@var{name}, if any.  If @var{name} is a remote file name, the local
 part of @var{name} is unquoted.
 @end defmac
 
@@ -2740,7 +2740,7 @@ This function creates a temporary file and returns its 
name.  Emacs
 creates the temporary file's name by adding to @var{prefix} some
 random characters that are different in each Emacs job.  The result is
 guaranteed to be a newly created file, containing @var{text} if that's
-given as a string and empty otherwise. On MS-DOS, this function can
+given as a string and empty otherwise.  On MS-DOS, this function can
 truncate @var{prefix} to fit into the 8+3 file-name limits.  If
 @var{prefix} is a relative file name, it is expanded against
 @code{temporary-file-directory}.
diff --git a/doc/lispref/modes.texi b/doc/lispref/modes.texi
index f3d4f5347b3..7c7823b5f9b 100644
--- a/doc/lispref/modes.texi
+++ b/doc/lispref/modes.texi
@@ -4530,7 +4530,7 @@ and a few other such modes) has been made more generic 
over the years,
 so if your language seems somewhat similar to one of those languages,
 you might try to use that engine.  @c FIXME: documentation?
 Another one is SMIE which takes an approach in the spirit
-of Lisp sexps and adapts it to non-Lisp languages. Yet another one is
+of Lisp sexps and adapts it to non-Lisp languages.  Yet another one is
 to rely on a full-blown parser, for example, the tree-sitter library.
 
 @menu
diff --git a/doc/lispref/package.texi b/doc/lispref/package.texi
index 60cff9d1891..eb0b4ca213c 100644
--- a/doc/lispref/package.texi
+++ b/doc/lispref/package.texi
@@ -387,7 +387,7 @@ following queries:
 
 @table @asis
 @item archive-contents
-Return a lisp form describing the archive contents. The form is a list
+Return a lisp form describing the archive contents.  The form is a list
 of 'package-desc' structures (see @file{package.el}), except the first
 element of the list is the archive version.
 
@@ -398,7 +398,7 @@ Return the long description of the package.
 Return the signature for the file.
 
 @item <file name>
-Return the file. This will be the tarball for a multi-file
+Return the file.  This will be the tarball for a multi-file
 package, or the single file for a simple package.
 
 @end table
diff --git a/doc/lispref/positions.texi b/doc/lispref/positions.texi
index ead7833af61..37cfe264157 100644
--- a/doc/lispref/positions.texi
+++ b/doc/lispref/positions.texi
@@ -450,7 +450,7 @@ in the buffer, or in the region if the region is active.
 @cindex line number
 This function returns the line number in the current buffer
 corresponding to the buffer position @var{pos}.  If @var{pos} is
-@code{nil} or omitted, the current buffer position is used. If
+@code{nil} or omitted, the current buffer position is used.  If
 @var{absolute} is @code{nil}, the default, counting starts at
 @code{(point-min)}, so the value refers to the contents of the
 accessible portion of the (potentially narrowed) buffer.  If
diff --git a/doc/lispref/processes.texi b/doc/lispref/processes.texi
index c5fbb0fb818..53468e0d252 100644
--- a/doc/lispref/processes.texi
+++ b/doc/lispref/processes.texi
@@ -135,7 +135,7 @@ stream to a different destination.
 
 @cindex program arguments
   All three of the subprocess-creating functions allow specifying
-command-line arguments for the process to run. For @code{call-process}
+command-line arguments for the process to run.  For @code{call-process}
 and @code{call-process-region}, these come in the form of a
 @code{&rest} argument, @var{args}.  For @code{make-process}, both the
 program to run and its command-line arguments are specified as a list
diff --git a/doc/lispref/searching.texi b/doc/lispref/searching.texi
index 6e3680bdb4f..7cefd581afb 100644
--- a/doc/lispref/searching.texi
+++ b/doc/lispref/searching.texi
@@ -1771,7 +1771,7 @@ required for @code{rx-to-string} to work.  Example:
 
 Another difference from @code{rx-let} is that the @var{bindings} are
 dynamically scoped, and thus also available in functions called from
-@var{body}. However, they are not visible inside functions defined in
+@var{body}.  However, they are not visible inside functions defined in
 @var{body}.
 @end defmac
 
@@ -1919,7 +1919,7 @@ symptoms less likely and help alleviate problems that do 
arise.
 @itemize
 @item
 Anchor regexps at the beginning of a line, string or buffer using
-zero-width assertions (@samp{^} and @code{\`}). This takes advantage
+zero-width assertions (@samp{^} and @code{\`}).  This takes advantage
 of fast paths in the implementation and can avoid futile matching
 attempts.  Other zero-width assertions may also bring benefits by
 causing a match to fail early.
diff --git a/doc/lispref/sequences.texi b/doc/lispref/sequences.texi
index d5695e4c83d..9b0a0d74f30 100644
--- a/doc/lispref/sequences.texi
+++ b/doc/lispref/sequences.texi
@@ -937,7 +937,7 @@ use instead of the default @code{equal}.
 
 @defun seq-set-equal-p sequence1 sequence2 &optional testfn
 This function checks whether @var{sequence1} and @var{sequence2}
-contain the same elements, regardless of the order. If the optional
+contain the same elements, regardless of the order.  If the optional
 argument @var{testfn} is non-@code{nil}, it is a function of two
 arguments to use instead of the default @code{equal}.
 
diff --git a/doc/lispref/streams.texi b/doc/lispref/streams.texi
index 86ec82b66a1..a48e6380d32 100644
--- a/doc/lispref/streams.texi
+++ b/doc/lispref/streams.texi
@@ -970,7 +970,7 @@ you can use, see the variable's documentation string.
 @defvar print-integers-as-characters
 When this variable is non-@code{nil}, integers that represent
 graphic base characters will be printed using Lisp character syntax
-(@pxref{Basic Char Syntax}). Other numbers are printed the usual way.
+(@pxref{Basic Char Syntax}).  Other numbers are printed the usual way.
 For example, the list @code{(4 65 -1 10)} would be printed as
 @samp{(4 ?A -1 ?\n)}.
 
diff --git a/doc/lispref/variables.texi b/doc/lispref/variables.texi
index 0ed1936cd84..76f15b2595c 100644
--- a/doc/lispref/variables.texi
+++ b/doc/lispref/variables.texi
@@ -2613,7 +2613,7 @@ compatibility.  You can do this with @code{defvaralias}.
 
 @defun defvaralias new-alias base-variable &optional docstring
 This function defines the symbol @var{new-alias} as a variable alias
-for symbol @var{base-variable}. This means that retrieving the value
+for symbol @var{base-variable}.  This means that retrieving the value
 of @var{new-alias} returns the value of @var{base-variable}, and
 changing the value of @var{new-alias} changes the value of
 @var{base-variable}.  The two aliased variable names always share the
diff --git a/doc/man/etags.1 b/doc/man/etags.1
index c567c51d7ef..9b8df50a6bb 100644
--- a/doc/man/etags.1
+++ b/doc/man/etags.1
@@ -171,7 +171,7 @@ of \- means standard output; overrides default \fBTAGS\fP 
or \fBtags\fP.
 
 Make tags based on regexp matching for the files following this option,
 in addition to the tags made with the standard parsing based on
-language. May be freely intermixed with filenames and the \fB\-R\fP
+language.  May be freely intermixed with filenames and the \fB\-R\fP
 option.  The regexps are cumulative, i.e., each such option will add to
 the previous ones.  The regexps are of one of the forms:
 .br
diff --git a/doc/misc/auth.texi b/doc/misc/auth.texi
index 8d802be535c..bb4beb38837 100644
--- a/doc/misc/auth.texi
+++ b/doc/misc/auth.texi
@@ -136,12 +136,12 @@ You can use spaces inside a password or other token by 
surrounding the
 token with either single or double quotes.
 
 You can use apostrophes inside a password or other token by
-surrounding it with double quotes, e.g., @code{"he'llo"}. Similarly you
+surrounding it with double quotes, e.g., @code{"he'llo"}.  Similarly you
 can use double quotes inside a password or other token by surrounding
-it with apostrophes, e.g., @code{'he"llo'}. You can't mix both (so a
+it with apostrophes, e.g., @code{'he"llo'}.  You can't mix both (so a
 password or other token can't have both apostrophes and double quotes).
 
-All this is optional. You could just say (but we don't recommend it,
+All this is optional.  You could just say (but we don't recommend it,
 we're just showing that it's possible)
 
 @example
@@ -267,7 +267,7 @@ earlier.  Since Tramp has about 88 connection methods, this 
may be
 necessary if you have an unusual (see earlier comment on those) setup.
 
 The netrc format is directly translated into JSON, if you are into
-that sort of thing. Just point to a JSON file with entries like this:
+that sort of thing.  Just point to a JSON file with entries like this:
 
 @example
 [
@@ -501,7 +501,9 @@ The username can also be expressed as a prefix, separated 
from the
 host with an at-sign (@code{@@}).
 
 @item gnu.org:22.gpg
-The port (aka. service) to match can only be expressed after the host and 
separated with a colon (@code{:}).  The separator can be changed through the 
@code{auth-source-pass-port-separator} variable.
+The port (aka. service) to match can only be expressed after the host
+and separated with a colon (@code{:}).  The separator can be changed
+through the @code{auth-source-pass-port-separator} variable.
 
 @item gnu.org:22/rms.gpg
 
diff --git a/doc/misc/autotype.texi b/doc/misc/autotype.texi
index d927816c492..4bd07c8d312 100644
--- a/doc/misc/autotype.texi
+++ b/doc/misc/autotype.texi
@@ -290,7 +290,7 @@ be inserted.
   It can also be a function, which allows doing various things.  The function
 can simply insert some text, indeed, it can be skeleton command (@pxref{Using
 Skeletons}).  It can be a lambda function which will for example conditionally
-call another function.  Or it can even reset the mode for the buffer. If you
+call another function.  Or it can even reset the mode for the buffer.  If you
 want to perform several such actions in order, you use a vector, i.e., several
 of the above elements between square brackets (@samp{[@r{@dots{}}]}).
 
diff --git a/doc/misc/bovine.texi b/doc/misc/bovine.texi
index 5cef9ffbb93..f4eb0784cb2 100644
--- a/doc/misc/bovine.texi
+++ b/doc/misc/bovine.texi
@@ -346,7 +346,7 @@ semantic list.
 @item (EXPANDFULL @var{$1} @var{nonterminal} @var{depth})
 Is like @code{EXPAND}, except that the parser will iterate over
 @var{nonterminal} until there are no more matches.  (The same way the
-parser iterates over the starting rule (@pxref{Starting Rules}). This
+parser iterates over the starting rule (@pxref{Starting Rules}).  This
 lets you have much simpler rules in this specific case, and also lets
 you have positional information in the returned tokens, and error
 skipping.
diff --git a/doc/misc/calc.texi b/doc/misc/calc.texi
index 54909c130c3..384ad889ae1 100644
--- a/doc/misc/calc.texi
+++ b/doc/misc/calc.texi
@@ -355,7 +355,7 @@ To print the Calc manual in one huge tome, you will need the
 Emacs source, which contains the source code to this manual,
 @file{calc.texi}.  Change to the @file{doc/misc} subdirectory of the
 Emacs source distribution, which contains source code for this manual,
-and type @kbd{make calc.pdf}. (Don't worry if you get some ``overfull
+and type @kbd{make calc.pdf}.  (Don't worry if you get some ``overfull
 box'' warnings while @TeX{} runs.)   The result will be this entire
 manual as a pdf file.
 @end ifnottex
@@ -524,7 +524,7 @@ matrix into a
 @infoline 2x3
 matrix.  Type @w{@kbd{v u}} to unpack the rows into two separate
 vectors.  Now type @w{@kbd{V R + @key{TAB} V R +}} to compute the sums
-of the two original columns. (There is also a special
+of the two original columns.  (There is also a special
 grab-and-sum-columns command, @kbd{C-x * :}.)
 
 @strong{Units conversion.}  Units are entered algebraically.
@@ -929,7 +929,7 @@ is
 Calc has added annotations to the file to help it remember the modes
 that were used for this formula.  They are formatted like comments
 in the @TeX{} typesetting language, just in case you are using @TeX{} or
-@LaTeX{}. (In this example @TeX{} is not being used, so you might want
+@LaTeX{}.  (In this example @TeX{} is not being used, so you might want
 to move these comments up to the top of the file or otherwise put them
 out of the way.)
 
@@ -1174,7 +1174,7 @@ that arbitrary-size integers were just as easy as large 
integers.
 Arbitrary floating-point precision was the logical next step.  Also,
 since the large integer arithmetic was there anyway it seemed only
 fair to give the user direct access to it, which in turn made it
-practical to support fractions as well as floats. All these features
+practical to support fractions as well as floats.  All these features
 inspired me to look around for other data types that might be worth
 having.
 
@@ -5762,7 +5762,7 @@ which in algebraic notation is written like 
@samp{ninteg(f(t), t, 0, x)}
 with any integrand @samp{f(t)}.  Define a @kbd{z s} command and
 @code{Si} function that implement this.  You will need to edit the
 default argument list a bit.  As a test, @samp{Si(1)} should return
-0.946083. (If you don't get this answer, you might want to check that
+0.946083.  (If you don't get this answer, you might want to check that
 Calc is in Radians mode.  Also, @code{ninteg} will run a lot faster if
 you reduce the precision to, say, six digits beforehand.)
 @xref{Programming Answer 1, 1}. (@bullet{})
@@ -9758,7 +9758,7 @@ by a zero) resets the Calculator to its initial state.  
This clears
 the stack, resets all the modes to their initial values (the values
 that were saved with @kbd{m m} (@code{calc-save-modes})), clears the
 caches (@pxref{Caches}), and so on.  (It does @emph{not} erase the
-values of any variables.) With an argument of 0, Calc will be reset to
+values of any variables.)  With an argument of 0, Calc will be reset to
 its default state; namely, the modes will be given their default values.
 With a positive prefix argument, @kbd{C-x * 0} preserves the contents of
 the stack but resets everything else to its initial state; with a
@@ -10254,7 +10254,7 @@ specified number of operations.  When the Calculator is 
quit, as with
 the @kbd{q} (@code{calc-quit}) command, the undo history will be
 truncated to the length of the customizable variable
 @code{calc-undo-length} (@pxref{Customizing Calc}), which by default
-is @expr{100}. (Recall that @kbd{C-x * c} is synonymous with
+is @expr{100}.  (Recall that @kbd{C-x * c} is synonymous with
 @code{calc-quit} while inside the Calculator; this also truncates the
 undo history.)
 
@@ -11050,8 +11050,8 @@ calendar.
 
 Some calendars attempt to mimic the historical situation by using the
 Gregorian calendar for recent dates and the Julian calendar for older
-dates. The @code{cal} program in most Unix implementations does this,
-for example. While January 1 wasn't always the beginning of a calendar
+dates.  The @code{cal} program in most Unix implementations does this,
+for example.  While January 1 wasn't always the beginning of a calendar
 year, these hybrid calendars still use January 1 as the beginning of
 the year even for older dates.   The customizable variable
 @code{calc-gregorian-switch} (@pxref{Customizing Calc}) can be set to
@@ -11405,7 +11405,7 @@ means a variable is random, and its value could
 be anything but is ``probably'' within one
 @texline @math{\sigma}
 @infoline @var{sigma}
-of the mean value @expr{x}. An interval
+of the mean value @expr{x}.  An interval
 `@tfn{[}@var{a} @tfn{..@:} @var{b}@tfn{]}' means a
 variable's value is unknown, but guaranteed to lie in the specified
 range.  Error forms are statistical or ``average case'' approximations;
@@ -11862,7 +11862,7 @@ any portion of a vector or formula on the stack.
 @cindex Moving stack entries
 The command @kbd{C-x C-t} (@code{calc-transpose-lines}) will transpose
 the stack object determined by the point with the stack object at the
-next higher level. For example, with @samp{10 20 30 40 50} on the
+next higher level.  For example, with @samp{10 20 30 40 50} on the
 stack and the point on the line containing @samp{30}, @kbd{C-x C-t}
 creates @samp{10 20 40 30 50}.  More generally, @kbd{C-x C-t} acts on
 the stack objects determined by the current point (and mark) similar
@@ -11871,7 +11871,7 @@ lines.  With argument @var{n}, @kbd{C-x C-t} will move 
the stack object
 at the level above the current point and move it past N other objects;
 for example, with @samp{10 20 30 40 50} on the stack and the point on
 the line containing @samp{30}, @kbd{C-u 2 C-x C-t} creates
-@samp{10 40 20 30 50}. With an argument of 0, @kbd{C-x C-t} will switch
+@samp{10 40 20 30 50}.  With an argument of 0, @kbd{C-x C-t} will switch
 the stack objects at the levels determined by the point and the mark.
 
 @node Editing Stack Entries
@@ -12062,14 +12062,14 @@ the stack contains the sole number 5, but after 
@kbd{2 @key{RET} 3 K +},
 the stack contains the arguments and the result: @samp{2 3 5}.
 
 With the exception of keyboard macros, this works for all commands that
-take arguments off the stack. (To avoid potentially unpleasant behavior,
+take arguments off the stack.  (To avoid potentially unpleasant behavior,
 a @kbd{K} prefix before a keyboard macro will be ignored.  A @kbd{K}
 prefix called @emph{within} the keyboard macro will still take effect.)
 As another example, @kbd{K a s} simplifies a formula, pushing the
 simplified version of the formula onto the stack after the original
 formula (rather than replacing the original formula).  Note that you
 could get the same effect by typing @kbd{@key{RET} a s}, copying the
-formula and then simplifying the copy. One difference is that for a very
+formula and then simplifying the copy.  One difference is that for a very
 large formula the time taken to format the intermediate copy in
 @kbd{@key{RET} a s} could be noticeable; @kbd{K a s} would avoid this
 extra work.
@@ -13171,7 +13171,7 @@ Calc can display @expr{w}-bit integers using two's 
complement
 notation, although this is most useful with the binary, octal and
 hexadecimal display modes.  This option is selected by using the
 @kbd{O} option prefix before setting the display radix, and a negative word
-size might be appropriate (@pxref{Binary Functions}). In two's
+size might be appropriate (@pxref{Binary Functions}).  In two's
 complement notation, the integers in the (nearly) symmetric interval
 from
 @texline @math{-2^{w-1}}
@@ -13502,7 +13502,7 @@ date representation, this week goes from 2013-W01-1 
(December 31,
 All three ISO 8601 representations arrange the numbers from most
 significant to least significant; as well as being unambiguous
 representations, they are easy to sort since chronological order in
-this formats corresponds to lexicographical order. The hyphens are
+this formats corresponds to lexicographical order.  The hyphens are
 sometimes omitted.
 
 The ISO 8601 standard uses a 24 hour clock; a particular time is
@@ -13744,7 +13744,7 @@ order), then all other characters are ignored and this 
information
 determines the date.  Otherwise, all words and numbers are isolated
 from the string; other characters are ignored.  All words must be
 either month names or day-of-week names (the latter of which are
-ignored). Names can be written in full or as three-letter
+ignored).  Names can be written in full or as three-letter
 abbreviations.
 
 Large numbers, or numbers with @samp{+} or @samp{-} signs,
@@ -14205,9 +14205,9 @@ quotients are written using @code{\over} in @TeX{} mode 
(as in
 @code{\choose} in @TeX{} mode (as in @code{@{a \choose b@}}) and
 @code{\binom} in @LaTeX{} mode (as in @code{\binom@{a@}@{b@}}).
 Interval forms are written with @code{\ldots}, and error forms are
-written with @code{\pm}. Absolute values are written as in
+written with @code{\pm}.  Absolute values are written as in
 @samp{|x + 1|}, and the floor and ceiling functions are written with
-@code{\lfloor}, @code{\rfloor}, etc. The words @code{\left} and
+@code{\lfloor}, @code{\rfloor}, etc.  The words @code{\left} and
 @code{\right} are ignored when reading formulas in @TeX{} and @LaTeX{}
 modes.  Both @code{inf} and @code{uinf} are written as @code{\infty};
 when read, @code{\infty} always translates to @code{inf}.
@@ -16290,7 +16290,7 @@ interpretations; the expression @samp{a/b*c} should be 
written
 @samp{(a/b)*c} or @samp{a/(b*c)}, as appropriate.  Without the
 parentheses, Calc will interpret @samp{a/b*c} as @samp{a/(b*c)}, since
 in algebraic entry Calc gives division a lower precedence than
-multiplication. (This is not standard across all computer languages, and
+multiplication.  (This is not standard across all computer languages, and
 Calc may change the precedence depending on the language mode being used.
 @xref{Language Modes}.)  This default ordering can be changed by setting
 the customizable variable @code{calc-multiplication-has-precedence} to
@@ -17456,7 +17456,7 @@ converting into a generalized time zone (see below).
 The Lisp function @code{math-prev-weekday-in-month} is useful for
 daylight saving computations.  This is an internal version of
 the user-level @code{pwday} function described in the previous
-section. It takes four arguments:  The floating-point date value,
+section.  It takes four arguments:  The floating-point date value,
 the corresponding six-element date list, the day-of-month number,
 and the weekday number (0--6).
 
@@ -20150,7 +20150,7 @@ that the counts in the result vector don't add up to 
the length of the
 input vector.)
 
 If no prefix is given, then you will be prompted for a vector which
-will be used to determine the bins. (If a positive integer is given at
+will be used to determine the bins.  (If a positive integer is given at
 this prompt, it will be still treated as if it were given as a
 prefix.)  Each bin will consist of the interval of numbers closest to
 the corresponding number of this new vector; if the vector
@@ -21636,7 +21636,7 @@ to
 
 @noindent
 Every character not part of the sub-formula @samp{b} has been changed
-to a dot. (If the customizable variable
+to a dot.  (If the customizable variable
 @code{calc-highlight-selections-with-faces} is non-@code{nil}, then the 
characters
 not part of the sub-formula are de-emphasized by using a less
 noticeable face instead of using dots. @pxref{Displaying Selections}.)
@@ -22837,12 +22837,12 @@ suitable numbers.
 This section describes all simplifications that are performed by
 the algebraic simplification mode, which is the default simplification
 mode.  If you have switched to a different simplification mode, you can
-switch back with the @kbd{m A} command. Even in other simplification
+switch back with the @kbd{m A} command.  Even in other simplification
 modes, the @kbd{a s} command will use these algebraic simplifications to
 simplify the formula.
 
 There is a variable, @code{AlgSimpRules}, in which you can put rewrites
-to be applied. Its use is analogous to @code{EvalRules},
+to be applied.  Its use is analogous to @code{EvalRules},
 but without the special restrictions.  Basically, the simplifier does
 @samp{@w{a r} AlgSimpRules} with an infinite repeat count on the whole
 expression being simplified, then it traverses the expression applying
@@ -22991,7 +22991,7 @@ function; for example, @expr{1/@tfn{sec}(x)} is 
simplified to
 hyperbolic functions are also handled.
 
 Trigonometric functions of their inverse functions are
-simplified. The expression @expr{@tfn{sin}(@tfn{arcsin}(x))} is
+simplified.  The expression @expr{@tfn{sin}(@tfn{arcsin}(x))} is
 simplified to @expr{x}, and similarly for @code{cos} and @code{tan}.
 Trigonometric functions of inverses of different trigonometric
 functions can also be simplified, as in @expr{@tfn{sin}(@tfn{arccos}(x))}
@@ -27646,7 +27646,7 @@ simplifications.
 Most of the special limitations for @code{EvalRules} don't apply to
 @code{AlgSimpRules}.  Calc simply does an @kbd{a r AlgSimpRules}
 command with an infinite repeat count as the first step of algebraic
-simplifications. It then applies its own built-in simplifications
+simplifications.  It then applies its own built-in simplifications
 throughout the formula, and then repeats these two steps (along with
 applying the default simplifications) until no further changes are
 possible.
@@ -27883,7 +27883,7 @@ while typing @kbd{u c au/yr @key{RET}} produces
 If the units you request are inconsistent with the original units, the
 number will be converted into your units times whatever ``remainder''
 units are left over.  For example, converting @samp{55 mph} into acres
-produces @samp{6.08e-3 acre / (m s)}. Remainder units are expressed in terms of
+produces @samp{6.08e-3 acre / (m s)}.  Remainder units are expressed in terms 
of
 ``fundamental'' units like @samp{m} and @samp{s}, regardless of the
 input units.
 
@@ -28257,7 +28257,7 @@ is defined to be
 @infoline @math{10 log10(P1/P0) dB}.
 @texline @math{10 \log_{10}(P_{1}/P_{0}) {\rm dB}}.
 (The factor of 10 is because a decibel, as its name implies, is
-one-tenth of a bel. The bel, named after Alexander Graham Bell, was
+one-tenth of a bel.  The bel, named after Alexander Graham Bell, was
 considered to be too large of a unit and was effectively replaced by
 the decibel.)  If @math{F} is a field quantity with power
 @math{P=k F^2}, then a reference quantity of
@@ -28353,10 +28353,10 @@ capital @kbd{O} prefix is used.
 @tindex lufquant
 The @kbd{l q} (@code{calc-lu-quant}) [@code{lupquant}]
 command computes the power quantity corresponding to a given number of
-logarithmic units. With the capital @kbd{O} prefix, @kbd{O l q}, the
-reference level will be read from the top of the stack. (In an
+logarithmic units.  With the capital @kbd{O} prefix, @kbd{O l q}, the
+reference level will be read from the top of the stack.  (In an
 algebraic formula, @code{lupquant} can be given an optional second
-argument which will be used for the reference level.) For example,
+argument which will be used for the reference level.)  For example,
 @code{20 dB @key{RET} l q} will return @code{100 mW};
 @code{20 dB @key{RET} 4 W @key{RET} O l q} will return @code{400 W}.
 The @kbd{H l q} [@code{lufquant}] command behaves like @kbd{l q} but
@@ -28469,7 +28469,7 @@ The @kbd{l *} (@code{calc-lu-times}) [@code{lupmul}] 
and @kbd{H l *}
 [@code{lufmul}] commands will ``multiply'' a logarithmic unit by a
 number; the @kbd{l /} (@code{calc-lu-divide}) [@code{lupdiv}] and
 @kbd{H l /} [@code{lufdiv}] commands will ``divide'' a logarithmic
-unit by a number. Note that the reference quantities don't play a role
+unit by a number.  Note that the reference quantities don't play a role
 in this arithmetic.
 
 @node Musical Notes
@@ -28528,7 +28528,7 @@ example, @code{500 Hz} gets converted to
 @tindex midi
 The @kbd{l m} (@code{calc-midi}) [@code{midi}] command converts either
 a frequency or a note given in scientific pitch notation to the
-corresponding midi number. For example, @code{C_6} gets converted to 84
+corresponding midi number.  For example, @code{C_6} gets converted to 84
 and @code{440 Hz} to 69.
 
 @kindex l f
@@ -28536,7 +28536,7 @@ and @code{440 Hz} to 69.
 @tindex freq
 The @kbd{l f} (@code{calc-freq}) [@code{freq}] command converts either
 either a midi number or a note given in scientific pitch notation to
-the corresponding frequency. For example, @code{Asharp_2 + 30 cents}
+the corresponding frequency.  For example, @code{Asharp_2 + 30 cents}
 gets converted to @code{118.578040134 Hz} and @code{55} to
 @code{195.99771799 Hz}.
 
@@ -29530,7 +29530,7 @@ will be computed for the surface.
 
 Data values in the graph of a function are normally computed to a
 precision of five digits, regardless of the current precision at the
-time. This is usually more than adequate, but there are cases where
+time.  This is usually more than adequate, but there are cases where
 it will not be.  For example, plotting @expr{1 + x} with @expr{x} in the
 interval @samp{[0 ..@: 1e-6]} will round all the data points down
 to 1.0!  Putting the command @samp{set precision @var{n}} in the
@@ -29975,7 +29975,7 @@ register will be deleted from the Calc buffer.
 It is possible to add additional stack entries to a register.  The
 command @kbd{M-x calc-append-to-register} will prompt for a register,
 then add the stack entries in the region to the end of the register
-contents. The command @kbd{M-x calc-prepend-to-register} will
+contents.  The command @kbd{M-x calc-prepend-to-register} will
 similarly prompt for a register and add  the stack entries in the
 region to the beginning of the register contents.  Both commands take
 @kbd{C-u} arguments, which will cause the region to be deleted after being
@@ -30620,7 +30620,7 @@ like most Calc commands, but rather in regular editing 
buffers that
 are visiting your own files.
 
 Calc will try to guess an appropriate language based on the major mode
-of the editing buffer. (@xref{Language Modes}.) If the current buffer is
+of the editing buffer.  (@xref{Language Modes}.)  If the current buffer is
 in @code{latex-mode}, for example, Calc will set its language to @LaTeX{}.
 Similarly, Calc will use @TeX{} language for @code{tex-mode},
 @code{plain-tex-mode} and @code{context-mode}, C language for
@@ -30657,7 +30657,7 @@ on their own separate lines or in-line with the formula.
 If you give a positive or negative numeric prefix argument, Calc
 instead uses the current point as one end of the formula, and includes
 that many lines forward or backward (respectively, including the current
-line). Explicit delimiters are not necessary in this case.
+line).  Explicit delimiters are not necessary in this case.
 
 With a prefix argument of zero, Calc uses the current region (delimited
 by point and mark) instead of formula delimiters.  With a prefix
@@ -31189,7 +31189,7 @@ use @kbd{C-x * u} to update the buffer by hand.
 @noindent
 The mode settings can be changed while Calc is in embedded mode, but
 by default they will revert to their original values when embedded mode
-is ended. However, the modes saved when the mode-recording mode is
+is ended.  However, the modes saved when the mode-recording mode is
 @code{Save} (see below) and the modes in effect when the @kbd{m e}
 (@code{calc-embedded-preserve-modes}) command is given
 will be preserved when embedded mode is ended.
@@ -31315,7 +31315,7 @@ on it in order to get it to notice the new annotation.
 
 Two more mode-recording modes selectable by @kbd{m R} are available
 which are also available outside of Embedded mode.
-(@pxref{General Mode Commands}.) They are @code{Save},  in which mode
+(@pxref{General Mode Commands}.)  They are @code{Save}, in which mode
 settings are recorded permanently in your Calc init file (the file given
 by the variable @code{calc-settings-file}, typically @file{~/.emacs.d/calc.el})
 rather than by annotating the current document, and no-recording
@@ -35645,7 +35645,7 @@ formulas in normal language modes.  If
 @code{calc-multiplication-has-precedence} is non-@code{nil}, then
 multiplication has precedence (and, for certain obscure reasons, is
 right associative), and so for example @samp{a/b*c} will be interpreted
-as @samp{a/(b*c)}. If @code{calc-multiplication-has-precedence} is
+as @samp{a/(b*c)}.  If @code{calc-multiplication-has-precedence} is
 @code{nil}, then multiplication has the same precedence as division
 (and, like division, is left associative), and so for example
 @samp{a/b*c} will be interpreted as @samp{(a/b)*c}.  The default value
diff --git a/doc/misc/cc-mode.texi b/doc/misc/cc-mode.texi
index ced59c0eee6..c0819b232a4 100644
--- a/doc/misc/cc-mode.texi
+++ b/doc/misc/cc-mode.texi
@@ -182,7 +182,7 @@ modify this GNU manual.''
 @end quotation
 @end copying
 
-@comment Info directory entry for use by install-info. The indentation
+@comment Info directory entry for use by install-info.  The indentation
 @comment here is by request from the FSF folks.
 @dircategory Emacs editing modes
 @direntry
@@ -1429,7 +1429,7 @@ continuation of the preceding @code{if}.
 @findex abbrev-mode
 @cindex Abbrev mode
 @ccmode{} uses Abbrev mode (@pxref{Abbrevs,,,@emacsman{}, @emacsmantitle{}})
-to accomplish this. It's therefore turned on by default in all language
+to accomplish this.  It's therefore turned on by default in all language
 modes except IDL mode, since CORBA IDL doesn't have any statements.
 @end deffn
 
@@ -2704,7 +2704,7 @@ for C code in GNU programs.
 
 @item k&r
 @cindex K&R style
-The classic Kernighan and Ritchie style for C code. If you're looking
+The classic Kernighan and Ritchie style for C code.  If you're looking
 for the style used in the 2nd edition of their book ``The C
 Programming Language'', then check out the @code{stroustrup} style.
 
@@ -7591,7 +7591,7 @@ Started}.
 @kindex C-M-\
 @emph{How do I reindent the whole file?}
 
-Visit the file and hit @kbd{C-x h} to mark the whole buffer. Then hit
+Visit the file and hit @kbd{C-x h} to mark the whole buffer.  Then hit
 @kbd{C-M-\}.  @xref{Indentation Commands}.
 
 @item
diff --git a/doc/misc/cl.texi b/doc/misc/cl.texi
index c3a91f7dab1..113029700ec 100644
--- a/doc/misc/cl.texi
+++ b/doc/misc/cl.texi
@@ -860,7 +860,7 @@ Thus @code{(cl-typep @var{object} 'null)} is equivalent to
 
 @item
 The type symbol @code{atom} represents all objects that are not cons
-cells. Thus @code{(cl-typep @var{object} 'atom)} is equivalent to
+cells.  Thus @code{(cl-typep @var{object} 'atom)} is equivalent to
 @code{(atom @var{object})}.
 
 @item
@@ -2191,7 +2191,7 @@ term restricts the search to just the specified property. 
 The
 Properties,,,elisp}.
 
 @item for @var{var} being the frames
-This clause iterates over all Emacs frames. The clause @code{screens} is
+This clause iterates over all Emacs frames.  The clause @code{screens} is
 a synonym for @code{frames}.  The frames are visited in
 @code{next-frame} order starting from @code{selected-frame}.
 
diff --git a/doc/misc/dbus.texi b/doc/misc/dbus.texi
index 104cde01227..b81c862c80f 100644
--- a/doc/misc/dbus.texi
+++ b/doc/misc/dbus.texi
@@ -1259,7 +1259,7 @@ object.  Example:
 @end lisp
 
 With the @code{dbus-introspect} function it is possible to explore the
-interfaces of @samp{org.freedesktop.Hal} service. It offers the
+interfaces of @samp{org.freedesktop.Hal} service.  It offers the
 interfaces @samp{org.freedesktop.Hal.Manager} for the object at the
 path @samp{/org/freedesktop/Hal/Manager} as well as the interface
 @samp{org.freedesktop.Hal.Device} for all objects prefixed with the
@@ -1978,7 +1978,7 @@ If this variable is non-@code{nil}, D-Bus specific debug 
messages are raised.
 Input parameters of @code{dbus-call-method},
 @code{dbus-call-method-asynchronously}, @code{dbus-send-signal},
 @code{dbus-register-method}, @code{dbus-register-property} and
-@code{dbus-register-signal} are checked for correct D-Bus types. If
+@code{dbus-register-signal} are checked for correct D-Bus types.  If
 there is a type mismatch, the Lisp error @code{wrong-type-argument}
 @code{D-Bus @var{arg}} is raised.
 
diff --git a/doc/misc/ebrowse.texi b/doc/misc/ebrowse.texi
index dca6266d8ae..27a5deb86d9 100644
--- a/doc/misc/ebrowse.texi
+++ b/doc/misc/ebrowse.texi
@@ -513,8 +513,8 @@ practical than to clutter up the buffer list with dozens of 
member
 buffers.
 
 If you want to display more than one member list at a time you can
-@dfn{freeze} its member buffer. Freezing a member buffer prevents it
-from being overwritten the next time you display a member list. You can
+@dfn{freeze} its member buffer.  Freezing a member buffer prevents it
+from being overwritten the next time you display a member list.  You can
 toggle this buffer status at any time.
 
 Every member list display command in the tree buffer can be used with a
@@ -747,7 +747,7 @@ menu.
 @cindex unmark all
 @item M a
 Unmark all classes.  With prefix argument @kbd{C-u}, mark all classes in
-the tree. Since this command operates on the whole buffer, it can also be
+the tree.  Since this command operates on the whole buffer, it can also be
 found in the buffer's object menu.
 @end table
 
diff --git a/doc/misc/ede.texi b/doc/misc/ede.texi
index ae179832753..4ed3fc9d1df 100644
--- a/doc/misc/ede.texi
+++ b/doc/misc/ede.texi
@@ -1120,7 +1120,7 @@ number.  It also holds a list of @code{ede-target} 
objects and a list
 of sub projects, or more @code{ede-project} objects.
 
 New project types must subclass @code{ede-project} to add special
-behavior. New project types also need to subclass @code{ede-target} to
+behavior.  New project types also need to subclass @code{ede-target} to
 add specialty behavior.
 
 In this way, the common @ede{} interface is designed to work against
diff --git a/doc/misc/ediff.texi b/doc/misc/ediff.texi
index 749025c870b..ae107323d9c 100644
--- a/doc/misc/ediff.texi
+++ b/doc/misc/ediff.texi
@@ -135,10 +135,10 @@ The architecture and the interface are, of course, 
drastically different.
 
 When Ediff starts up, it displays a small control window, which accepts the
 Ediff commands, and two or three windows displaying the files to be compared
-or merged. The control window can be in its own small frame or it can be
-part of a bigger frame that displays other buffers. In any case, it is
+or merged.  The control window can be in its own small frame or it can be
+part of a bigger frame that displays other buffers.  In any case, it is
 important that the control window be active (i.e., be the one receiving the
-keystrokes) when you use Ediff. You can switch to other Emacs buffers at
+keystrokes) when you use Ediff.  You can switch to other Emacs buffers at
 will and even edit the files currently being compared with Ediff and then
 switch back to Ediff at any time by activating the appropriate Emacs windows.
 
@@ -156,13 +156,13 @@ Compare two files.
 
 @item ediff-backup
 @findex ediff-backup
-Compare a file with its backup. If there are several numerical backups, use
-the latest. If the file is itself a backup, then compare it with its
+Compare a file with its backup.  If there are several numerical backups, use
+the latest.  If the file is itself a backup, then compare it with its
 original.
 
 @item ediff-current-file
 @findex ediff-current-file
-Compare the buffer with its file on disk. This function can be used as a
+Compare the buffer with its file on disk.  This function can be used as a
 safe version of @code{revert-buffer}.
 
 @item ediff-buffers
@@ -220,14 +220,14 @@ Compare text visible in 2 windows line-by-line.
 @findex ediff-regions-wordwise
 Compare regions word-by-word.  The regions can come from the same buffer
 and they can even overlap.  You will be asked to specify the buffers that
-contain the regions, which you want to compare. For each buffer, you will
-also be asked to mark the regions to be compared. Pay attention to the
+contain the regions, which you want to compare.  For each buffer, you will
+also be asked to mark the regions to be compared.  Pay attention to the
 messages that appear in the minibuffer.
 
 @item ediff-regions-linewise
 @findex ediff-regions-linewise
 Similar to @code{ediff-windows-linewise}, but compares the regions
-line-by-line. See @code{ediff-windows-linewise} for more details.
+line-by-line.  See @code{ediff-windows-linewise} for more details.
 
 @item ediff-revision
 @findex ediff-revision
@@ -246,7 +246,7 @@ will be able to patch the files selectively.  @xref{Session 
Groups}, for
 more details.
 
 Since the patch might be in a buffer or a file, you will be asked which is
-the case. To avoid this extra prompt, you can invoke this command with a
+the case.  To avoid this extra prompt, you can invoke this command with a
 prefix argument.  With an odd prefix argument, Ediff assumes the patch
 is in a file; with an even argument, a buffer is assumed.
 
@@ -280,7 +280,7 @@ This function would refuse to apply a multifile patch to a 
buffer.  Use
 modified by the @code{patch} utility).
 
 Since the patch might be in a buffer or a file, you will be asked which is
-the case. To avoid this extra prompt, you can invoke this command with a
+the case.  To avoid this extra prompt, you can invoke this command with a
 prefix argument.  With an odd prefix argument, Ediff assumes the patch
 is in a file; with an even argument, a buffer is assumed.
 
@@ -683,7 +683,7 @@ again puts Ediff back in the original state.
 @vindex ediff-ignore-case-option
 @vindex ediff-ignore-case-option3
 @vindex ediff-ignore-case
-Toggle case sensitivity in the diff program. All diffs are recomputed.
+Toggle case sensitivity in the diff program.  All diffs are recomputed.
 Case sensitivity is controlled by the variables
 @code{ediff-ignore-case-option}, @code{ediff-ignore-case-option3},
 and @code{ediff-ignore-case}, which are explained elsewhere.
@@ -814,7 +814,7 @@ it.  Typing @kbd{$$} again undoes this setting.
 @kindex $*
 When merging files with large number of differences, it is sometimes
 convenient to be able to skip the difference regions for which you already
-decided which variant is most appropriate. Typing @kbd{$*} will accomplish
+decided which variant is most appropriate.  Typing @kbd{$*} will accomplish
 precisely this.
 
 To be more precise, this toggles the check for whether the current merge is
@@ -898,9 +898,9 @@ child Ediff session for comparing regions in buffers A, B, 
or
 C as follows.
 
 First, you will be asked whether you want to compare the fine differences
-between the currently highlighted buffers on a word-by-word basis. If you
+between the currently highlighted buffers on a word-by-word basis.  If you
 accept, a child Ediff session will start using the currently highlighted
-regions. Ediff will let you step over the differences word-wise.
+regions.  Ediff will let you step over the differences word-wise.
 
 If you reject the offer, you will be asked to select regions of your choice.
 
@@ -1054,9 +1054,9 @@ directories.
 
 @cindex Directory difference buffer
 Sometimes it is desirable to copy some files from one directory to another
-without exiting Ediff. The @emph{directory difference buffer}, which is
+without exiting Ediff.  The @emph{directory difference buffer}, which is
 displayed by typing @kbd{D} as discussed above, can be used for this
-purpose. If a file is, say, in Ediff's Directory A, but is missing in
+purpose.  If a file is, say, in Ediff's Directory A, but is missing in
 Ediff's Directory B (Ediff will refuse to override existing files), then
 typing @kbd{C} or clicking mouse button 2 over that file (which must be
 displayed in directory difference buffer) will copy that file from
@@ -1130,7 +1130,7 @@ for hiding or, with @kbd{=m}, for further operations.
 
 The comparison operations @kbd{==}, @kbd{=h}, and @kbd{=m} can recurse into
 subdirectories to see if they have identical contents (so the user will not
-need to descend into those subdirectories manually). These commands ask the
+need to descend into those subdirectories manually).  These commands ask the
 user whether or not to do a recursive descent.
 
 
@@ -1221,7 +1221,7 @@ of Ediff.
 @vindex ediff-after-setup-windows-hook
 These two hooks are called before and after Ediff sets up its window
 configuration.  These hooks are run each time Ediff rearranges windows to
-its liking. This happens whenever it detects that the user changed the
+its liking.  This happens whenever it detects that the user changed the
 windows setup.
 
 @item ediff-suspend-hook
@@ -1323,7 +1323,7 @@ Hooks run after setting up the registry for all active 
Ediff session.
 @item ediff-before-session-group-setup-hook
 @vindex ediff-before-session-group-setup-hook
 Hooks run before setting up a control panel for a group of related Ediff
-sessions. Can be used, for example, to save window configuration to restore
+sessions.  Can be used, for example, to save window configuration to restore
 later.
 @item ediff-after-session-group-setup-hook
 @vindex ediff-after-session-group-setup-hook
@@ -1598,21 +1598,21 @@ problem.
 @vindex ediff-ignore-case-option
 @vindex ediff-ignore-case-option3
 @vindex ediff-ignore-case
-Finally, Ediff can be told to ignore the case of the letters. This behavior
+Finally, Ediff can be told to ignore the case of the letters.  This behavior
 can be toggled with @kbd{#c} and it is controlled with three variables:
 @code{ediff-ignore-case-option}, @code{ediff-ignore-case-option3}, and
 @code{ediff-ignore-case}.
 
 The variable @code{ediff-ignore-case-option} specifies the option to pass
-to the diff program for comparing two files or buffers. For GNU
-@code{diff}, this option is @code{"-i"}. The variable
+to the diff program for comparing two files or buffers.  For GNU
+@code{diff}, this option is @code{"-i"}.  The variable
 @code{ediff-ignore-case-option3} specifies the option to pass to the
-@code{diff3} program in order to make it case-insensitive. GNU @code{diff3}
+@code{diff3} program in order to make it case-insensitive.  GNU @code{diff3}
 does not have such an option, so when merging or comparing three files with
 this program, ignoring the letter case is not supported.
 
 The variable @code{ediff-ignore-case} controls whether Ediff starts out by
-ignoring letter case or not. It can be set in @file{.emacs} using
+ignoring letter case or not.  It can be set in @file{.emacs} using
 @code{setq-default}.
 
 When case sensitivity is toggled, all difference
@@ -1875,11 +1875,11 @@ Customize interface instead of using @code{setq} 
directly.)
 @item ediff-coding-system-for-read
 @vindex ediff-coding-system-for-read
 This variable specifies the coding system to use when reading the output
-that the programs @code{diff3} and @code{diff} send to Emacs. The default
+that the programs @code{diff3} and @code{diff} send to Emacs.  The default
 is @code{raw-text}, and this should work fine in Unix and in most
-cases under Windows NT/98/2000. There are @code{diff} programs
-for which the default option doesn't work under Windows. In such cases,
-@code{raw-text-dos} might work. If not, you will have to experiment with
+cases under Windows NT/98/2000.  There are @code{diff} programs
+for which the default option doesn't work under Windows.  In such cases,
+@code{raw-text-dos} might work.  If not, you will have to experiment with
 other coding systems or use GNU diff.
 
 @item ediff-patch-program
@@ -1992,7 +1992,7 @@ the difference region from the ancestor buffer, if 
available
 ======= end
 @end example
 
-The above is the default template for the combined region. The user can
+The above is the default template for the combined region.  The user can
 customize this template using the variable
 @code{ediff-combination-pattern}.
 
@@ -2000,11 +2000,11 @@ customize this template using the variable
 The variable @code{ediff-combination-pattern} specifies the template that
 determines how the combined merged region looks like.  The template is
 represented as a list of the form @code{(STRING1 Symbol1 STRING2 Symbol2
-STRING3 Symbol3 STRING4)}. The symbols here must be atoms of the form
-@code{A}, @code{B}, or @code{Ancestor}. They determine the order in which
+STRING3 Symbol3 STRING4)}.  The symbols here must be atoms of the form
+@code{A}, @code{B}, or @code{Ancestor}.  They determine the order in which
 the corresponding difference regions (from buffers A, B, and the ancestor
 buffer) are displayed in the merged region of buffer C@.  The strings in the
-template determine the text that separates the aforesaid regions. The
+template determine the text that separates the aforesaid regions.  The
 default template is
 
 @smallexample
@@ -2014,8 +2014,8 @@ default template is
 
 @noindent
 (this is one long line) and the corresponding combined region is shown
-above. The order in which the regions are shown (and the separator
-strings) can be changed by changing the above template. It is even
+above.  The order in which the regions are shown (and the separator
+strings) can be changed by changing the above template.  It is even
 possible to add or delete region specifiers in this template (although
 the only possibly useful such modification seems to be the deletion of
 the ancestor).
@@ -2154,7 +2154,7 @@ change this variable.
 @vindex ediff-merge-filename-prefix
 When merge buffers are saved automatically as directed by
 @code{ediff-autostore-merges}, Ediff attaches a prefix to each file, as
-specified by the variable @code{ediff-merge-filename-prefix}. The default
+specified by the variable @code{ediff-merge-filename-prefix}.  The default
 is @code{merge_}, but this can be changed by the user.
 
 @node Support for Version Control
@@ -2318,9 +2318,9 @@ unconditionally (e.g., by making @code{ediff-janitor} 
into one of these hooks).
 
 @item ediff-keep-tmp-versions
 @vindex ediff-keep-tmp-versions
-Default is @code{nil}. If @code{t}, the versions of the files being
+Default is @code{nil}.  If @code{t}, the versions of the files being
 compared or merged using operations such as @code{ediff-revision} or
-@code{ediff-merge-revisions} are not deleted on exit. The normal action is
+@code{ediff-merge-revisions} are not deleted on exit.  The normal action is
 to clean up and delete these version files.
 
 @item ediff-grab-mouse
diff --git a/doc/misc/efaq-w32.texi b/doc/misc/efaq-w32.texi
index c5ba6c8609f..411450cdc42 100644
--- a/doc/misc/efaq-w32.texi
+++ b/doc/misc/efaq-w32.texi
@@ -773,7 +773,7 @@ corrupted while unpacking and Emacs will not start.
 
 If it is still not working, send mail to the
 @email{help-gnu-emacs@@gnu.org} mailing list, describing what you've
-done, and what you are seeing. (The more information you send the more
+done, and what you are seeing.  (The more information you send the more
 likely it is that you'll receive a helpful response.)
 
 @node Virus
@@ -1592,7 +1592,7 @@ smtpmail is loaded, then you'll need to change
 @code{smtpmail-smtp-server}.
 
 If you are experiencing problems with sending large messages, check
-the value of the variable @code{smtpmail-debug-info}. If it is
+the value of the variable @code{smtpmail-debug-info}.  If it is
 non-@code{nil}, you should set it to @code{nil}:
 
 @node Incoming mail with Rmail
@@ -1908,9 +1908,9 @@ See the following two URLs for details:
 @cindex MSVC++, compiling within Emacs
 @findex compile
 
-This is an app note on how to use Microsoft Visual C++ with Emacs. The
+This is an app note on how to use Microsoft Visual C++ with Emacs.  The
 experiments done below were done with Emacs 19.34.1 on Windows 95,
-using Visual C++ 4.0 Standard Edition. Your mileage may vary.
+using Visual C++ 4.0 Standard Edition.  Your mileage may vary.
 
 This writeup assumes minimal knowledge of Emacs hacking on the part of
 the reader.
@@ -1939,14 +1939,14 @@ For all versions of Windows you can alternatively set 
the variables
 just inside Emacs by using @code{setenv} calls in your init file.
 @xref{Installing Emacs,,Where do I put my init file?}.
 
-You should now be able to compile from Emacs. Load a source file from
-a VC++ project. Type @kbd{M-x compile}. Replace the proposed command line
+You should now be able to compile from Emacs.  Load a source file from
+a VC++ project.  Type @kbd{M-x compile}.  Replace the proposed command line
 with:
 @example
 nmake -f @var{ProjectName}.mak
 @end example
 
-You will find that this defaults to a debug build. You can change it
+You will find that this defaults to a debug build.  You can change it
 to a release build with:
 @example
 nmake -f @var{ProjectName}.mak CFG="@var{ProjectName} - Win32 Release"
@@ -2018,21 +2018,21 @@ click on @code{Customize...}.  In the @code{Tools} tab, 
click on
 @file{emacsclientw.exe} file in your Emacs bin directory, and
 select it.  For arguments, use @option{+$(CurLine)}
 @option{"$(FilePath)"} and for the directory use the @code{$(WkspDir)}
-(the quotes around FilePath handle paths with spaces in them). Set the
-Menu Text to say "Em&acs". The @option{+$(CurLine)} will set point in
-Emacs to the same line as the cursor position in VC++. The ampersand
+(the quotes around FilePath handle paths with spaces in them).  Set the
+Menu Text to say "Em&acs".  The @option{+$(CurLine)} will set point in
+Emacs to the same line as the cursor position in VC++.  The ampersand
 in the word @code{Em&acs} allows you to select emacs from the keyboard.
 (E is already used for the OLE control test container.)
 
-You should now be able to go to any source file in your project. Then,
-use the pull-down menu @code{Tools->Emacs}. The active file in your
+You should now be able to go to any source file in your project.  Then,
+use the pull-down menu @code{Tools->Emacs}.  The active file in your
 VC++ IDE should now be front and center in Emacs, all ready to edit as
-you wish. If you use keystrokes to work the menus, try @kbd{Alt-T A} to
-move the file into Emacs. Binding this tool to a keystroke will be
+you wish.  If you use keystrokes to work the menus, try @kbd{Alt-T A} to
+move the file into Emacs.  Binding this tool to a keystroke will be
 left as an exercise for the student.
 
 If you have the option of saving files before running tools, make sure
-this option is set. (I don't see it on VC++ 4.0.)
+this option is set.  (I don't see it on VC++ 4.0.)
 
 @node Borland C++ Builder
 @section Emacs and Borland C++ Builder
@@ -2072,8 +2072,8 @@ Free native Windows binaries.  For those that don't 
Cygwin may be an option.
 From Jay Rogers:
 
 Some versions of the perl debugger itself need to be patched to work
-with emacs. They are perl versions 5.001 and less, and version
-5.004_01. To fix, locate and change the code similar to the following
+with emacs.  They are perl versions 5.001 and less, and version
+5.004_01.  To fix, locate and change the code similar to the following
 code in lib/perl5db.pl
 @example
         if (-e "/dev/tty") @{
@@ -2273,7 +2273,7 @@ If you have general questions about Emacs, the best 
places to start
 looking are @ref{Top,,, emacs, The GNU Emacs Manual}, and
 @ref{Top,,, efaq, the standard Emacs FAQ}.
 In Emacs, you can browse the manual using Info by typing @kbd{C-h r},
-and you can view the FAQ by typing @kbd{C-h C-f}. Other resources include:
+and you can view the FAQ by typing @kbd{C-h C-f}.  Other resources include:
 
 @itemize
 @item @uref{https://www.gnu.org/software/emacs/, The Emacs website}
diff --git a/doc/misc/efaq.texi b/doc/misc/efaq.texi
index 73bc2442678..b342e73bb52 100644
--- a/doc/misc/efaq.texi
+++ b/doc/misc/efaq.texi
@@ -3692,7 +3692,7 @@ feature.
 
 Emacs has a list of local variables that are known to be safe to set.
 If a file tries to set any variable outside this list, it asks the
-user to confirm whether the variables should be set. You can also tell
+user to confirm whether the variables should be set.  You can also tell
 Emacs whether to allow the evaluation of Emacs Lisp code found at the
 bottom of files by setting the variable @code{enable-local-eval}.
 
@@ -3835,7 +3835,7 @@ in the distribution.
 To build Emacs from source for MS-DOS, see the instructions in the file
 @file{msdos/INSTALL} in the distribution.  The DOS port builds and runs
 on plain DOS, and also on all versions of MS-Windows from version 3.X
-onwards, including Windows XP and Vista. Pre-built binaries may be
+onwards, including Windows XP and Vista.  Pre-built binaries may be
 available at
 @uref{https://www.delorie.com/pub/djgpp/current/v2gnu/emacs.README}
 
@@ -4761,14 +4761,14 @@ these systems, you should configure @code{movemail} to 
use @code{flock}.
 Ron Isaacson says: When you hit
 @kbd{r} to reply in Rmail, by default it Ccs all of the original
 recipients (everyone on the original @samp{To} and @samp{CC}
-lists). With a prefix argument (i.e., typing @kbd{C-u} before @kbd{r}),
+lists).  With a prefix argument (i.e., typing @kbd{C-u} before @kbd{r}),
 it replies only to the sender.  However, going through the whole
 @kbd{C-u} business every time you want to reply is a pain.  This is the
 best fix I've been able to come up with:
 
 @lisp
 (defun rmail-reply-t ()
-  "Reply only to the sender of the current message. (See rmail-reply.)"
+  "Reply only to the sender of the current message.  (See rmail-reply.)"
   (interactive)
   (rmail-reply t))
 
diff --git a/doc/misc/eglot.texi b/doc/misc/eglot.texi
index 85fef6be553..ba7aeb448e5 100644
--- a/doc/misc/eglot.texi
+++ b/doc/misc/eglot.texi
@@ -1313,7 +1313,7 @@ based on compile-time information.
 
 The language server reports the regions by periodically sending a
 @code{textDocument/inactiveRegions} notification for each managed
-buffer (@pxref{Eglot and Buffers}). Normally, unknown server
+buffer (@pxref{Eglot and Buffers}).  Normally, unknown server
 notifications are ignored by Eglot, but we're going change that.
 
 Both the announcement of the client capability and the handling of the
@@ -1353,7 +1353,7 @@ called @code{eglot-clangd}, so that the method would be 
simplified:
 However, this would require that users tweak
 @code{eglot-server-program} to tell Eglot instantiate such sub-classes
 instead of the generic @code{eglot-lsp-server} (@pxref{Setting Up LSP
-Servers}). For the purposes of this particular demonstration, we're
+Servers}).  For the purposes of this particular demonstration, we're
 going to use the more hacky regexp route which doesn't require that.
 
 Note, however, that detecting server versions before announcing new
diff --git a/doc/misc/emacs-mime.texi b/doc/misc/emacs-mime.texi
index ef7ea614f8b..22bef4739a4 100644
--- a/doc/misc/emacs-mime.texi
+++ b/doc/misc/emacs-mime.texi
@@ -379,7 +379,7 @@ This variable is @code{resize} by default, which means that 
images
 that are bigger than the Emacs window are resized so that they fit.
 If you set this to @code{nil}, large images are not displayed in
 Emacs, but can instead be displayed externally (e.g., with
-@samp{ImageMagick} or @samp{xv}). Setting this variable to @code{t}
+@samp{ImageMagick} or @samp{xv}).  Setting this variable to @code{t}
 disables this check and makes the library display all inline images as
 inline, regardless of their size.
 
diff --git a/doc/misc/ert.texi b/doc/misc/ert.texi
index cecde5f3232..109dbd0f0ce 100644
--- a/doc/misc/ert.texi
+++ b/doc/misc/ert.texi
@@ -203,11 +203,11 @@ different Emacs versions.
 @cindex interactive testing
 
 @findex ert
-You can run the tests that are currently defined in your Emacs with
-the command @kbd{M-x ert @key{RET} t @key{RET}}.  (For an
-explanation of the @code{t} argument, @pxref{Test Selectors}.) ERT will pop
-up a new buffer, the ERT results buffer, showing the results of the
-tests run.  It looks like this:
+You can run the tests that are currently defined in your Emacs with the
+command @kbd{M-x ert @key{RET} t @key{RET}}.  (For an explanation of the
+@code{t} argument, @pxref{Test Selectors}.)  ERT will pop up a new
+buffer, the ERT results buffer, showing the results of the tests run.
+It looks like this:
 
 @example
 Selector: t
diff --git a/doc/misc/eshell.texi b/doc/misc/eshell.texi
index eb32b1fd5f7..f8abb3d860a 100644
--- a/doc/misc/eshell.texi
+++ b/doc/misc/eshell.texi
@@ -344,7 +344,7 @@ form} or in @dfn{Lisp form}.
 
 You can use the semicolon (@code{;}) to separate multiple command
 invocations on a single line, executing each in turn.  You can also
-separate commands with @code{&&} or @code{||}. When using @code{&&},
+separate commands with @code{&&} or @code{||}.  When using @code{&&},
 Eshell will execute the second command only if the first succeeds
 (i.e.@: has an exit status of 0); with @code{||}, Eshell will execute
 the second command only if the first fails.
@@ -1995,7 +1995,7 @@ Matches one or more copies of the glob pattern @var{x}.  
Thus,
 etc.
 
 @item @var{x}~@var{y}
-Matches anything that matches the pattern @var{x} but not @var{y}. For
+Matches anything that matches the pattern @var{x} but not @var{y}.  For
 example, @samp{[[:digit:]]#~4?} matches @file{1} and @file{12}, but
 not @file{42}.  Note that unlike in Zsh, only a single @samp{~}
 operator can be used in a pattern, and it cannot be inside of a group
@@ -2416,9 +2416,9 @@ Adds the text passed to it to the clipboard.
 @findex eshell-close-target
 You can, of course, define your own virtual targets.  These are entries
 in @code{eshell-virtual-targets} with the form @samp{(@var{filename}
-@var{output-function} @var{pass-mode})}. The first element,
+@var{output-function} @var{pass-mode})}.  The first element,
 @var{filename}, is the device name, usually of the form
-@samp{"/dev/@var{name}"}. The second, @var{output-function}, should be a
+@samp{"/dev/@var{name}"}.  The second, @var{output-function}, should be a
 function: Eshell will repeatedly call it with the redirected output.
 This argument can also be an @code{eshell-generic-target} instance.  In
 this case, Eshell will repeatedly call the generic function
@@ -2547,7 +2547,7 @@ for the built-in functions and some common external 
commands, and you
 can define your own for any command.
 
 @kindex TAB
-Eshell completion also works for Lisp forms and glob patterns. If the
+Eshell completion also works for Lisp forms and glob patterns.  If the
 point is on a Lisp form, then @key{TAB} will behave similarly to
 completion in @code{elisp-mode} and @code{lisp-interaction-mode}.  For
 glob patterns, the pattern will be removed from the input line, and
@@ -2985,7 +2985,7 @@ Also a new @command{less} buffer was created with nothing 
in it@dots{}
 If @command{less.exe} is invoked from the Eshell command line, the
 expected output is written to the buffer.
 
-Note that this happens on NT-Emacs 20.6.1 on Windows 2000. The term.el
+Note that this happens on NT-Emacs 20.6.1 on Windows 2000.  The term.el
 package and the supplied shell both use the @command{cmdproxy} program
 for running shells.
 
diff --git a/doc/misc/eudc.texi b/doc/misc/eudc.texi
index 615ab76c326..0a16f2561f7 100644
--- a/doc/misc/eudc.texi
+++ b/doc/misc/eudc.texi
@@ -131,7 +131,7 @@ Quoted from RFC 1777:
 @quotation
 [LDAP] is designed to provide access to the X.500 Directory while not
 incurring the resource requirements of the Directory Access Protocol
-(DAP). This protocol is specifically targeted at simple management
+(DAP).  This protocol is specifically targeted at simple management
 applications and browser applications that provide simple read/write
 interactive access to the X.500 Directory, and is intended to be a
 complement to the DAP itself.
@@ -564,7 +564,7 @@ to customize in this process.
 
 Before doing any query you will need to set the directory server.  You
 need to specify the name of the host machine running the server software
-and the protocol to use. If you do not set the server in any fashion,
+and the protocol to use.  If you do not set the server in any fashion,
 EUDC will ask you for one when you make your first query.
 
 You can set the server by selecting one from your hotlist of servers
@@ -579,9 +579,9 @@ buffer will be displayed where you can edit the search base 
and other
 parameters for the server.
 
 @defvar eudc-server
-The name or IP address of the remote directory server. A TCP port number
+The name or IP address of the remote directory server.  A TCP port number
 may be specified by appending a colon and a number to the name of the
-server. You will not need this unless your server runs on a port other
+server.  You will not need this unless your server runs on a port other
 than the default (which depends on the protocol).
 If the directory server resides on your own computer (which is the case
 if you use the BBDB back end) then @samp{localhost} is a reasonable value but
@@ -609,12 +609,12 @@ attributes you want to see, if different from the server 
defaults.
 @defvar eudc-default-return-attributes
 A list of the default attributes to extract from directory entries.  If
 set to the symbol @code{all} then all available attributes are
-returned. A value of @code{nil}, the default, means to return the
+returned.  A value of @code{nil}, the default, means to return the
 default attributes as configured in the server.
 @end defvar
 
-The server may return several matching records to a query. Some of the
-records may however not contain all the attributes you requested. You can
+The server may return several matching records to a query.  Some of the
+records may however not contain all the attributes you requested.  You can
 discard those records.
 
 @defopt eudc-strict-return-matches
@@ -626,32 +626,32 @@ attributes are ignored.  Default is @code{t}.
 @subsection Duplicate Attributes
 
 Directory standards may authorize different instances of the same
-attribute in a record. For instance the record of a person may contain
+attribute in a record.  For instance the record of a person may contain
 several email fields containing different email addresses, in which
 case EUDC will consider the attribute duplicated.
 
-EUDC has several methods to deal with duplicated attributes. The
+EUDC has several methods to deal with duplicated attributes.  The
 available methods are:
 
 @table @code
 @item list
-Makes a list with the different values of the duplicate attribute. The
+Makes a list with the different values of the duplicate attribute.  The
 record is returned with only one instance of the attribute with a list
-of all the different values as a value. This is the default method that
+of all the different values as a value.  This is the default method that
 is used to handle duplicate fields for which no other method has been
 specified.
 @item first
 Discards all the duplicate values of the field keeping only the first
 one.
 @item concat
-Concatenates the different values using a newline as a separator. The
+Concatenates the different values using a newline as a separator.  The
 record keeps only one instance of the field the value of which is a
 single multi-line string.
 @item duplicate
 Duplicates the whole record into as many instances as there are different
-values for the field. This is the default for the email field. Thus a
+values for the field.  This is the default for the email field.  Thus a
 record containing 3 different email addresses is duplicated into three
-different records each having a single email address. This is
+different records each having a single email address.  This is
 particularly useful in combination with @code{select} as the method to
 handle multiple matches in inline expansion queries (@pxref{Inline Query
 Expansion}) because you are presented with the 3 addresses in a
@@ -667,7 +667,7 @@ A method to handle entries containing duplicate attributes. 
 This is
 either an alist of elements @code{(@var{attr} . @var{method})}, or a symbol
 @var{method}.  The alist form of the variable associates a method to an
 individual attribute name; the second form specifies a method applicable
-to all attribute names. Available methods are: @code{list},
+to all attribute names.  Available methods are: @code{list},
 @code{first}, @code{concat}, and @code{duplicate} (see above).  The default is
 @code{list}.
 @end defvar
@@ -678,8 +678,8 @@ to all attribute names. Available methods are: @code{list},
 @section Query Form
 
 The simplest way to query your directory server is to use the query
-form. You display the query form with the @samp{Query with Form} menu
-item or by invoking the command @kbd{M-x eudc-query-form}. The attribute
+form.  You display the query form with the @samp{Query with Form} menu
+item or by invoking the command @kbd{M-x eudc-query-form}.  The attribute
 names presented in this form are defined by the
 @code{eudc-query-form-attributes} variable (unless a non-@code{nil}
 argument is supplied to @code{eudc-query-form}).
@@ -717,7 +717,7 @@ names for directory attribute names.  This variable is 
ignored if
 
 @defvar eudc-user-attribute-names-alist
 This is an alist of user-defined names for the directory attributes used in
-query/response forms. Prompt strings for attributes that are not in this
+query/response forms.  Prompt strings for attributes that are not in this
 alist are derived by splitting the attribute name at underscores and
 capitalizing the individual words.
 @end defvar
@@ -893,7 +893,7 @@ against the @code{cn} attribute of LDAP servers:
 
 @defvar eudc-inline-expansion-format
 This variable lets you control exactly what is inserted into the
-buffer upon an inline expansion request. It can be set to @code{nil},
+buffer upon an inline expansion request.  It can be set to @code{nil},
 to a function, or to a list.  Default is @code{nil}.
 
 When the value is a list, the first element is a string passed to
@@ -926,7 +926,7 @@ any of the formats:
 
 Email address specifications, as are generated by inline expansion,
 need to comply with RFC 5322 in order to be useful in email
-messages. When an invalid address specification is present in an email
+messages.  When an invalid address specification is present in an email
 message header, the message is likely to be rejected by a receiving
 MTA.  It is hence recommended to switch old configurations, which use
 a list value, to the new @code{nil}, or function value type since it
diff --git a/doc/misc/flymake.texi b/doc/misc/flymake.texi
index 6b605a6c095..af9639ebb5a 100644
--- a/doc/misc/flymake.texi
+++ b/doc/misc/flymake.texi
@@ -194,7 +194,7 @@ The following statuses are defined:
 @item [@var{nerrors} @var{nwarnings} ...]
 @tab Normal operation. @var{nerrors} and @var{nwarnings} are, respectively,
 the total number of errors and warnings found during the last buffer
-check, for all backends. They may be followed by other totals for
+check, for all backends.  They may be followed by other totals for
 other types of diagnostics (@pxref{Flymake error types}).
 
 @item @code{Wait}
diff --git a/doc/misc/forms.texi b/doc/misc/forms.texi
index e0221d90fd9..226445ff9a0 100644
--- a/doc/misc/forms.texi
+++ b/doc/misc/forms.texi
@@ -298,9 +298,9 @@ Similar to @code{forms-next-field} but moves backwards.
 @item M-x forms-save-buffer
 @kindex C-x C-s
 @itemx C-x C-s
-Forms mode replacement for @code{save-buffer}. When executed in the
+Forms mode replacement for @code{save-buffer}.  When executed in the
 forms buffer it will save the contents of the (modified) data buffer
-instead. In Forms mode this function will be bound to @kbd{C-x C-s}.
+instead.  In Forms mode this function will be bound to @kbd{C-x C-s}.
 
 @findex forms-print
 @item M-x forms-print
@@ -374,10 +374,10 @@ string @code{forms-field-sep}, which is @code{"\t"} (a 
Tab) by default.
 If the format of the data file is not suitable enough you can define the
 filter functions @code{forms-read-file-filter} and
 @code{forms-write-file-filter}. @code{forms-read-file-filter} is called
-when the data file is read from disk into the data buffer. It operates
-on the data buffer, ignoring read-only protections. When the data file
+when the data file is read from disk into the data buffer.  It operates
+on the data buffer, ignoring read-only protections.  When the data file
 is saved to disk @code{forms-write-file-filter} is called to cancel the
-effects of @code{forms-read-file-filter}. After being saved,
+effects of @code{forms-read-file-filter}.  After being saved,
 @code{forms-read-file-filter} is called again to prepare the data buffer
 for further processing.
 
@@ -488,7 +488,7 @@ The default value is @code{"\^k"}, the character 
Control-K@.  Example:
 @findex forms-read-file-filter
 @item forms-read-file-filter
 This variable holds the name of a function to be called after the data
-file has been read in. This can be used to transform the contents of the
+file has been read in.  This can be used to transform the contents of the
 data file into a format more suitable for forms processing.
 If it is @code{nil}, no function is called.  For example, to maintain a
 gzipped database:
@@ -533,7 +533,7 @@ modified, just before updating the Forms data file.  If it 
is
 @findex forms-insert-after
 @item forms-insert-after
 If this variable is not @code{nil}, new records are created @emph{after} the
-current record. Also, upon visiting a file, the initial position will be
+current record.  Also, upon visiting a file, the initial position will be
 at the last record instead of the first one.
 
 @findex forms-check-number-of-fields
@@ -798,8 +798,8 @@ newline in a field, while @code{forms-multi-line} was 
@code{nil}.
 
 @item Field separator occurs in record - update refused!
 The current record contains the field separator string inside one of the
-fields. It can not be written back to the data file, for it would
-corrupt it. Probably you inserted the field separator string in a field.
+fields.  It can not be written back to the data file, for it would
+corrupt it.  Probably you inserted the field separator string in a field.
 
 @item Record number @var{xx} out of range 1..@var{yy}
 A jump was made to non-existing record @var{xx}.  @var{yy} denotes the
@@ -813,7 +813,7 @@ An attempt was made to enable edit mode on a file that has 
been write
 protected.
 
 @item Search failed: @var{regexp}
-The @var{regexp} could not be found in the data file. Forward searching
+The @var{regexp} could not be found in the data file.  Forward searching
 is done from the current location until the end of the file, then
 retrying from the beginning of the file until the current location.
 Backward searching is done from the current location until the beginning
@@ -828,7 +828,7 @@ Forms mode's idea of the number of records has been 
adjusted to the
 number of records actually present in the data file.
 
 @item Problem saving buffers?
-An error occurred while saving the data file buffer. Most likely, Emacs
+An error occurred while saving the data file buffer.  Most likely, Emacs
 did ask to confirm deleting the buffer because it had been modified, and
 you said ``no''.
 @end table
diff --git a/doc/misc/gnus-faq.texi b/doc/misc/gnus-faq.texi
index 33c9f3bea81..a773d48417c 100644
--- a/doc/misc/gnus-faq.texi
+++ b/doc/misc/gnus-faq.texi
@@ -115,7 +115,7 @@ development version that became Gnus 5.12.
 * FAQ 2-4::    My group buffer becomes a bit crowded, is there a way to
                sort my groups into categories so I can easier browse through
                them?
-* FAQ 2-5::    How to manually sort the groups in Group buffer? How to
+* FAQ 2-5::    How to manually sort the groups in Group buffer?  How to
                sort the groups in a topic?
 @end menu
 
@@ -146,7 +146,7 @@ what's this?
 @subsubheading Answer
 
 You get the message described in the q/a pair above while
-starting Gnus, right? It's another symptom for the same
+starting Gnus, right?  It's another symptom for the same
 problem, so read the answer above.
 
 @node FAQ 2-3
@@ -190,7 +190,7 @@ groups nicely indented.
 @node FAQ 2-5
 @subsubheading Question 2.5
 
-How to manually sort the groups in Group buffer? How to
+How to manually sort the groups in Group buffer?  How to
 sort the groups in a topic?
 
 @subsubheading Answer
@@ -583,7 +583,7 @@ each POP3 mail source.  @xref{Mail Source Specifiers}, for 
details on
 * FAQ 4-8::     Is there anything I can do to make poorly formatted
                 mails more readable?
 * FAQ 4-9::     Is there a way to automatically ignore posts by specific
-                authors or with specific words in the subject? And can I
+                authors or with specific words in the subject?  And can I
                 highlight more interesting ones in some way?
 * FAQ 4-10::    How can I disable threading in some (e.g., mail-) groups,
                 or set other variables specific for some groups?
@@ -593,7 +593,7 @@ each POP3 mail source.  @xref{Mail Source Specifiers}, for 
details on
                 displays in group buffer is by far to high, especially in mail
                 groups.  Is this a bug?
 * FAQ 4-13::    I don't like the layout of summary and article buffer,
-                how to change it? Perhaps even a three pane display?
+                how to change it?  Perhaps even a three pane display?
 * FAQ 4-14::    I don't like the way the Summary buffer looks, how to
                 tweak it?
 * FAQ 4-15::    How to split incoming mails in several groups?
@@ -750,7 +750,7 @@ other deuglifications).
 @subsubheading Question 4.9
 
 Is there a way to automatically ignore posts by specific
-authors or with specific words in the subject? And can I
+authors or with specific words in the subject?  And can I
 highlight more interesting ones in some way?
 
 @subsubheading Answer
@@ -876,7 +876,7 @@ groups again).
 @subsubheading Question 4.13
 
 I don't like the layout of summary and article buffer, how
-to change it? Perhaps even a three pane display?
+to change it?  Perhaps even a three pane display?
 
 @subsubheading Answer
 
@@ -1056,7 +1056,7 @@ of the variables @code{shr-color-visible-distance-min} and
                 signature...?
 * FAQ 5-4::     Can I set things like From, Signature etc. group based on
                 the group I post too?
-* FAQ 5-5::     Is there a spell-checker? Perhaps even on-the-fly
+* FAQ 5-5::     Is there a spell-checker?  Perhaps even on-the-fly
                 spell-checking?
 * FAQ 5-6::     Can I set the dictionary based on the group I'm posting
                 to?
@@ -1212,7 +1212,7 @@ at the bottom.
 @node FAQ 5-5
 @subsubheading Question 5.5
 
-Is there a spell-checker? Perhaps even on-the-fly spell-checking?
+Is there a spell-checker?  Perhaps even on-the-fly spell-checking?
 
 @subsubheading Answer
 
@@ -1562,7 +1562,7 @@ gnu.emacs.gnus and want to archive it there are several
 solutions.  The first and easiest is to save it to a file
 by saying @kbd{O f}.  However, wouldn't
 it be much more convenient to have more direct access to
-the archived message from Gnus? If you say yes, put this
+the archived message from Gnus?  If you say yes, put this
 snippet by Frank Haun <pille3003@@fhaun.de> in
 @file{~/.gnus.el}:
 
@@ -1584,7 +1584,7 @@ more then one article."
 @noindent
 
 You can now say @kbd{M-x my-archive-article} in summary buffer to
-archive the article under the cursor in a nnml group. (Change nnml to
+archive the article under the cursor in a nnml group.  (Change nnml to
 your preferred back end.)
 
 Of course you can also make sure the cache is enabled by saying
@@ -1664,7 +1664,7 @@ follows a slightly different approach, here all article
 where the read mark is set are expirable.
 
 To activate auto-expire, include auto-expire in the
-Group parameters for the group. (Hit @kbd{G
+Group parameters for the group.  (Hit @kbd{G
 c} in summary buffer with point over the
 group to change group parameters).  For total-expire add
 total-expire to the group-parameters.
@@ -1808,7 +1808,7 @@ other possibility is to set, again in the summary
 buffer, downloadable (%) marks for the articles you
 want by typing @kbd{@@} with point over
 the article and then typing @kbd{J u}.
-What's the difference? Well, process marks are erased as
+What's the difference?  Well, process marks are erased as
 soon as you exit the summary buffer while downloadable
 marks are permanent.  You can actually set downloadable
 marks in several groups then use fetch session ('J s' in
diff --git a/doc/misc/gnus.texi b/doc/misc/gnus.texi
index d0ede930996..f4c87bd64dd 100644
--- a/doc/misc/gnus.texi
+++ b/doc/misc/gnus.texi
@@ -5837,7 +5837,7 @@ Mail a very wide reply to the author of the current 
article
 (@code{gnus-summary-very-wide-reply}).  A @dfn{very wide reply} is a
 reply that goes out to all people listed in the @code{To}, @code{From}
 (or @code{Reply-To}) and @code{Cc} headers in all the process/prefixed
-articles. This command uses the process/prefix convention.  If given a
+articles.  This command uses the process/prefix convention.  If given a
 prefix argument, the body of the current article will also be yanked.
 
 @item S V
@@ -7424,7 +7424,7 @@ meaningful.  Here's one example:
 @end lisp
 
 And another example:  the protonmail bridge adds fake message-ids to
-@code{References} in message headers, which can confuse threading. To
+@code{References} in message headers, which can confuse threading.  To
 remove these spurious ids
 
 @lisp
@@ -10558,7 +10558,7 @@ course, it'll make group entry somewhat slow.
 
 @vindex gnus-refer-thread-use-search
 If @code{gnus-refer-thread-use-search} is @code{nil} (the default)
-then thread-referral only looks for articles in the current group. If
+then thread-referral only looks for articles in the current group.  If
 this variable is @code{t} the server to which the current group
 belongs is searched (provided that searching is available for the
 server's backend).  If this variable is a list of servers, each server
@@ -14706,7 +14706,7 @@ Here's a complete example @code{nnimap} backend with a 
client-side
 
 If you're using Google's Gmail, you may want to see your Gmail labels
 when reading your mail.  Gnus can give you this information if you ask
-for @samp{X-GM-LABELS} in the variable @code{gnus-extra-headers}. For
+for @samp{X-GM-LABELS} in the variable @code{gnus-extra-headers}.  For
 example:
 
 @example
@@ -15387,7 +15387,7 @@ corresponding keywords.
 
 @item :mailbox
 The name of the mailbox to get mail from.  The default is @samp{INBOX}
-which normally is the mailbox which receives incoming mail. Instead of
+which normally is the mailbox which receives incoming mail.  Instead of
 a single mailbox, this can be a list of mailboxes to fetch mail from.
 
 @item :predicate
@@ -20602,7 +20602,7 @@ key will lead to creation of @file{ADAPT} files.)
 @cindex score file atoms
 @item score-fn
 The value of this entry should be one or more user-defined function
-names in parentheses. Each function will be called in order and the
+names in parentheses.  Each function will be called in order and the
 returned value is required to be an integer.
 
 @example
@@ -22355,7 +22355,7 @@ calling @code{nnmairix-search} with @samp{f:From}.
 @item G G o
 @kindex G G o @r{(Summary)}
 @findex nnmairix-goto-original-article
-(Only in @code{nnmairix} groups!) Tries determine the group this article
+(Only in @code{nnmairix} groups!)  Tries determine the group this article
 originally came from and displays the article in this group, so that,
 e.g., replying to this article the correct posting styles/group
 parameters are applied (@code{nnmairix-goto-original-article}).  This
@@ -26641,13 +26641,13 @@ data across multiple machines.
 
 Very often, you want all your marks (what articles you've read, which
 ones were important, and so on) to be synchronized between several
-machines. With IMAP, that's built into the protocol, so you can read
+machines.  With IMAP, that's built into the protocol, so you can read
 nnimap groups from many machines and they are automatically
-synchronized. But NNTP, nnrss, and many other backends do not store
+synchronized.  But NNTP, nnrss, and many other backends do not store
 marks, so you have to do it locally.
 
 The Gnus Cloud package stores the marks, plus any files you choose, on
-an IMAP server in a special folder. It's like a
+an IMAP server in a special folder.  It's like a
 DropTorrentSyncBoxOakTree(TM).@footnote{The name ``Gnus Cloud''
 parodizes but otherwise has little to do with ``cloud computing'', a
 @url{https://www.gnu.org/philosophy/words-to-avoid.html#CloudComputing,
@@ -26661,17 +26661,17 @@ misleading term normally best avoided}.}
 @node Gnus Cloud Setup
 @subsection Gnus Cloud Setup
 
-Setting up the Gnus Cloud takes less than a minute. From the Group
+Setting up the Gnus Cloud takes less than a minute.  From the Group
 buffer:
 
-Press @kbd{^} to go to the Server buffer. Here you'll see all the
+Press @kbd{^} to go to the Server buffer.  Here you'll see all the
 servers that Gnus knows. @xref{Server Buffer}.
 
 Then press @kbd{i} to mark any servers as cloud-synchronized (their marks are 
synchronized).
 
 Then press @kbd{I} to mark a single server as the cloud host (it must
 be an IMAP server, and will host a special IMAP folder with all the
-synchronization data). This will set the variable
+synchronization data).  This will set the variable
 @code{gnus-cloud-method} (using the Customize facilities), then ask
 you to optionally upload your first CloudSynchronizationDataPack(TM).
 
@@ -26691,37 +26691,37 @@ Download the latest Gnus Cloud data.
 @item ~ ~
 @findex gnus-cloud-upload-all-data
 @cindex cloud, download
-Upload the local Gnus Cloud data. Creates a new
+Upload the local Gnus Cloud data.  Creates a new
 CloudSynchronizationDataPack(TM).
 
 @end table
 
-But wait, there's more. Of course there's more. So much more. You can
+But wait, there's more.  Of course there's more.  So much more.  You can
 customize all of the following.
 
 @defvar gnus-cloud-synced-files
 These are the files that will be part of every
-CloudSynchronizationDataPack(TM). They are included in every upload,
-so don't synchronize a lot of large files. Files under 100Kb are best.
+CloudSynchronizationDataPack(TM).  They are included in every upload,
+so don't synchronize a lot of large files.  Files under 100Kb are best.
 @end defvar
 
 @defvar gnus-cloud-storage-method
-This is a choice from several storage methods. It's highly recommended
-to use the EPG facilities. It will be automatic if have GnuPG
-installed and EPG loaded. Otherwise, you could use Base64+gzip,
+This is a choice from several storage methods.  It's highly recommended
+to use the EPG facilities.  It will be automatic if have GnuPG
+installed and EPG loaded.  Otherwise, you could use Base64+gzip,
 Base64, or no encoding.
 @end defvar
 
 @defvar gnus-cloud-interactive
 When this is set, and by default it is, the Gnus Cloud package will
-ask you for confirmation here and there. Leave it on until you're
+ask you for confirmation here and there.  Leave it on until you're
 comfortable with the package.
 @end defvar
 
 
 @defvar gnus-cloud-method
 The name of the IMAP server to store the
-CloudSynchronizationDataPack(TM)s. It's easiest to set this from the
+CloudSynchronizationDataPack(TM)s.  It's easiest to set this from the
 Server buffer (@pxref{Gnus Cloud Setup}).
 @end defvar
 
diff --git a/doc/misc/htmlfontify.texi b/doc/misc/htmlfontify.texi
index 7446f3ee9f4..40d5d13b51f 100644
--- a/doc/misc/htmlfontify.texi
+++ b/doc/misc/htmlfontify.texi
@@ -1167,7 +1167,7 @@ An assoc of @code{(point . @var{face-symbol})} or
 . end)} elements, in descending order of point value (i.e., from the
 file's end to its beginning).  The map is in reverse order because
 inserting a @samp{<style>} tag (or any other string) at @var{point}
-invalidates the map for all entries with a greater value of point. By
+invalidates the map for all entries with a greater value of point.  By
 traversing the map from greatest to least @var{point}, we still
 invalidate the map as we go, but only those points we have already
 dealt with (and therefore no longer care about) will be invalid at any
diff --git a/doc/misc/idlwave.texi b/doc/misc/idlwave.texi
index 782812169ca..845c9dbd690 100644
--- a/doc/misc/idlwave.texi
+++ b/doc/misc/idlwave.texi
@@ -189,7 +189,7 @@ IDLWAVE consists of two main parts: a major mode for 
editing IDL
 source files (@code{idlwave-mode}) and a mode for running the IDL
 program as an inferior shell (@code{idlwave-shell-mode}).  Although
 one mode can be used without the other, both work together closely to
-form a complete development environment. Here is a brief summary of
+form a complete development environment.  Here is a brief summary of
 what IDLWAVE does:
 
 @itemize @bullet
@@ -504,7 +504,7 @@ keywords again?  Go back to the source window and put the 
cursor into
 the ``plot'' line and press @kbd{C-c ?}.  This shows the routine info
 window for the plot routine, which contains a list of keywords, along
 with the argument list.  Oh, we wanted @code{YTITLE}.  Fix that up.
-Recompile with @kbd{C-c C-d C-c}. Jump back into the shell with
+Recompile with @kbd{C-c C-d C-c}.  Jump back into the shell with
 @kbd{C-c C-s}, press the @key{UP} arrow to recall the previous command
 and execute again.
 
@@ -566,7 +566,7 @@ directory---but do not be dismayed; for the most part, you 
can just
 copy and work from the examples given here.
 
 Let's first use a boolean variable.  These are variables which you turn
-on or off, much like a checkbox. A value of @samp{t} means on, a value
+on or off, much like a checkbox.  A value of @samp{t} means on, a value
 of @samp{nil} means off.  Copy the following line into your
 @file{.emacs} file, exit and restart Emacs.
 
@@ -604,7 +604,7 @@ If you cannot seem to master this Lisp customization in 
@file{.emacs},
 there is another, more user-friendly way to customize all the IDLWAVE
 variables.  You can access it through the IDLWAVE menu in one of the
 @file{.pro} buffers, menu item @code{Customize->Browse IDLWAVE
-Group}. Here you'll be presented with all the various variables grouped
+Group}.  Here you'll be presented with all the various variables grouped
 into categories.  You can navigate the hierarchy (e.g., @samp{IDLWAVE
 Code Formatting->Idlwave Abbrev And Indent Action->Idlwave Expand
 Generic End} to turn on @code{END} expansion), read about the variables,
@@ -1899,7 +1899,7 @@ commands.  Emacs abbreviations are expanded by typing 
text into the
 buffer and pressing @key{SPC} or @key{RET}.  The special abbreviations
 used to insert code templates all start with a @samp{\} (the backslash),
 or, optionally, any other character set in
-@code{idlwave-abbrev-start-char}. IDLWAVE ensures that abbreviations are
+@code{idlwave-abbrev-start-char}.  IDLWAVE ensures that abbreviations are
 only expanded where they should be (i.e., not in a string or comment),
 and permits the point to be moved after an abbreviation expansion:
 very useful for positioning the mark inside of parentheses, etc.
@@ -2659,7 +2659,7 @@ setting and clearing commands, and @code{debug} for other 
debug,
 stepping, and continue commands.  In addition, if the variable is set to
 the single symbol @code{'everything}, all the copious shell input is
 displayed (which is probably only useful for debugging purposes).
-N.B. For hidden commands which produce output by side-effect, that
+N.B.  For hidden commands which produce output by side-effect, that
 output remains hidden (e.g., stepping through a @code{print} command).
 As a special case, any error message in the output will be displayed
 (e.g., stepping to an error).
@@ -3429,7 +3429,7 @@ the file @file{idlw-rinfo.el}.
 IDLWAVE @emph{scans} all its @emph{buffers} in the current Emacs session
 for routine definitions.  This is done automatically when routine
 information or completion is first requested by the user.  Each new
-buffer and each buffer saved after making changes is also scanned. The
+buffer and each buffer saved after making changes is also scanned.  The
 command @kbd{C-c C-i} (@code{idlwave-update-routine-info}) can be used
 at any time to rescan all buffers.
 
@@ -3786,7 +3786,7 @@ itself.
 
 There are a wide variety of possible browsers to use for displaying
 the online HTML help available with IDLWAVE (starting with version
-5.0). Since IDL v6.2, a single cross-platform HTML help browser, the
+5.0).  Since IDL v6.2, a single cross-platform HTML help browser, the
 @emph{IDL Assistant} is distributed with IDL@.  If this help browser is
 available, it is the preferred choice, and the default.  The variable
 @code{idlwave-help-use-assistant}, enabled by default, controls
diff --git a/doc/misc/info.texi b/doc/misc/info.texi
index 01c7f614e7d..d68b8e3b261 100644
--- a/doc/misc/info.texi
+++ b/doc/misc/info.texi
@@ -473,7 +473,7 @@ depends on the Info reader you use.)  This is because 
@kbd{n} and
 level}.  The present node is contained in a menu (see next) of the
 node you came from, and hence is considered to be at a lower level.
 It is the only node in the previous node's menu (even though it was
-listed three times). Hence it has no next or previous node that
+listed three times).  Hence it has no next or previous node that
 @kbd{n} or @kbd{p} could move to.
 
 If you systematically move through a manual by typing @kbd{n}, you run
diff --git a/doc/misc/message.texi b/doc/misc/message.texi
index 6e0e4be7bf5..468bf81599d 100644
--- a/doc/misc/message.texi
+++ b/doc/misc/message.texi
@@ -1338,8 +1338,8 @@ your PGP implementation, so we refer to it.
 
 If you have imported your old PGP 2.x key into GnuPG, and want to send
 signed and encrypted messages to your fellow PGP 2.x users, you'll
-discover that the receiver cannot understand what you send. One
-solution is to use PGP 2.x instead. You could also convince your
+discover that the receiver cannot understand what you send.  One
+solution is to use PGP 2.x instead.  You could also convince your
 fellow PGP 2.x users to convert to GnuPG@.
 @vindex mml-signencrypt-style-alist
 As a final workaround, you can make the sign and encryption work in
@@ -1687,8 +1687,8 @@ Allegedly.
 @item message-default-headers
 @vindex message-default-headers
 Header lines to be inserted in outgoing messages before you edit the
-message, so you can edit or delete their lines. If set to a string, it
-is directly inserted. If set to a function, it is called and its
+message, so you can edit or delete their lines.  If set to a string, it
+is directly inserted.  If set to a function, it is called and its
 result is inserted.
 
 @item message-subject-re-regexp
@@ -2190,7 +2190,7 @@ posting a prepared news message.
 @table @code
 @item message-cite-style
 @vindex message-cite-style
-The overall style to be used when replying to messages. This controls
+The overall style to be used when replying to messages.  This controls
 things like where the reply should be put relative to the original,
 how the citation is formatted, where the signature goes, etc.
 
@@ -2198,12 +2198,12 @@ Value is either @code{nil} (no variable overrides) or a 
let-style list
 of pairs @code{(VARIABLE VALUE)} to override default values.
 
 See @code{gnus-posting-styles} to set this variable for specific
-groups. Presets to impersonate popular mail agents are available in the
+groups.  Presets to impersonate popular mail agents are available in the
 @code{message-cite-style-*} variables.
 
 @item message-cite-reply-position
 @vindex message-cite-reply-position
-Where the reply should be positioned. Available styles are
+Where the reply should be positioned.  Available styles are
 @code{traditional} to reply inline, @code{above} for top-posting, and
 @code{below} for bottom-posting
 
diff --git a/doc/misc/modus-themes.org b/doc/misc/modus-themes.org
index 1006359c6e1..20fa93c6dbc 100644
--- a/doc/misc/modus-themes.org
+++ b/doc/misc/modus-themes.org
@@ -1237,7 +1237,7 @@ and ==*modus-operandi-list-mappings*= for the semantic 
color mappings.
 :END:
 
 The Modus themes provide the means to access the palette of (i) the
-active theme or (ii) any theme in the Modus collection. These are
+active theme or (ii) any theme in the Modus collection.  These are
 useful for Do-It-Yourself customizations 
([[#h:f4651d55-8c07-46aa-b52b-bed1e53463bb][Advanced customization]]),
 though it can also be helpful in other cases, such as to reuse a color
 value in some other application.
@@ -1252,8 +1252,8 @@ value in some other application.
 
 #+findex: modus-themes-get-color-value
 The function ~modus-themes-get-color-value~ can be called from Lisp to
-return the value of a color from the active Modus theme palette. It
-takea a =COLOR= argument and an optional =OVERRIDES=. It also accepts
+return the value of a color from the active Modus theme palette.  It
+takea a =COLOR= argument and an optional =OVERRIDES=.  It also accepts
 a third =THEME= argument, to get the color from the given theme.
 
 =COLOR= is a symbol that represents a named color entry in the
@@ -1264,7 +1264,7 @@ mapping), this function recurs until it finds the 
underlying color
 value.
 
 With an optional =OVERRIDES= argument as a non-~nil~ value, it
-accounts for palette overrides. Else it reads only the default palette
+accounts for palette overrides.  Else it reads only the default palette
 ([[#h:34c7a691-19bb-4037-8d2f-67a07edab150][Option for palette overrides]])
 
 With an optional =THEME= as a symbol among the ~modus-themes-items~
@@ -1309,12 +1309,12 @@ with/without overrides and when recursive mappings are 
introduced.
 
 #+findex: modus-themes-with-colors
 Advanced users may want to apply many colors from the palette of the
-active Modus theme in their custom code. In such a case, retrieving
+active Modus theme in their custom code.  In such a case, retrieving
 each value with the function ~modus-themes-get-color-value~ is
-inefficient ([[#h:1cc552c1-5f5f-4a56-ae78-7b69e8512c4e][Get a single color 
from the palette]]). The Lisp macro
-~modus-themes-with-colors~ provides the requisite functionality. It
+inefficient ([[#h:1cc552c1-5f5f-4a56-ae78-7b69e8512c4e][Get a single color 
from the palette]]).  The Lisp macro
+~modus-themes-with-colors~ provides the requisite functionality.  It
 supplies the current theme's palette to the code called from inside of
-it. For example:
+it.  For example:
 
 #+begin_src emacs-lisp
 (modus-themes-with-colors
@@ -1323,9 +1323,9 @@ it. For example:
 #+end_src
 
 The above return value is for ~modus-operandi~ when that is the active
-theme. Switching to another theme and evaluating this code anew will
+theme.  Switching to another theme and evaluating this code anew will
 return the relevant results for that theme (remember that since
-version 4, the Modus themes consist of many items 
([[#h:f0f3dbcb-602d-40cf-b918-8f929c441baf][Overview]])). The
+version 4, the Modus themes consist of many items 
([[#h:f0f3dbcb-602d-40cf-b918-8f929c441baf][Overview]])).  The
 same with ~modus-vivendi~ as the active theme:
 
 #+begin_src emacs-lisp
@@ -1340,7 +1340,7 @@ like =blue-warmer= and (ii) semantic color mappings like 
=warning=.
 We provide commands to inspect those 
([[#h:f4d4b71b-2ca5-4c3d-b0b4-9bfd7aa7fb4d][Preview theme colors]]).
 
 Others sections in this manual show how to use the aforementioned
-macro ([[#h:f4651d55-8c07-46aa-b52b-bed1e53463bb][Advanced customization]]). 
In practice, the use of a hook will
+macro ([[#h:f4651d55-8c07-46aa-b52b-bed1e53463bb][Advanced customization]]).  
In practice, the use of a hook will
 also be needed ([[#h:d87673fe-2ce1-4c80-a4b8-be36ca9f2d24][DIY Use a hook at 
the post-load-theme phase]]).
 
 * Advanced customization
@@ -1355,7 +1355,7 @@ mechanism to control things with precision 
([[#h:bf1c82f2-46c7-4eb2-ad00-dd11fdd
 
 This section is of interest only to users who are prepared to maintain
 their own local tweaks and who are willing to deal with any possible
-incompatibilities between versioned releases of the themes. As such,
+incompatibilities between versioned releases of the themes.  As such,
 they are labeled as "do-it-yourself" or "DIY".
 
 ** DIY Palette override presets
@@ -2076,14 +2076,14 @@ Reload the theme for changes to take effect.
 :end:
 
 This is one of our practical examples to override the semantic colors
-of the Modus themes ([[#h:df1199d8-eaba-47db-805d-6b568a577bf3][Stylistic 
variants using palette overrides]]). Here
+of the Modus themes ([[#h:df1199d8-eaba-47db-805d-6b568a577bf3][Stylistic 
variants using palette overrides]]).  Here
 we show how to change the presentation of Org blocks (and other such
 blocks like Markdown fenced code sections, though the exact
 presentation depends on each major mode).
 
 The default style of Org blocks is a subtle gray background for the
 contents and for the delimiter lines (the =#+begin_= and =#+end_=
-parts). The text of the delimiter lines is a subtle gray foreground
+parts).  The text of the delimiter lines is a subtle gray foreground
 color.
 
 [[#h:bb5b396f-5532-4d52-ab13-149ca24854f1][Make inline code in prose use 
alternative styles]].
@@ -2123,8 +2123,8 @@ color.
 #+end_src
 
 The previous examples differentiate the delimiter lines from the
-block's contents. Though we can mimic the default aesthetic of a
-uniform background, while changing the applicable colors. Here are
+block's contents.  Though we can mimic the default aesthetic of a
+uniform background, while changing the applicable colors.  Here are
 some nice combinations:
 
 #+begin_src emacs-lisp
@@ -2152,7 +2152,7 @@ some nice combinations:
 
 Finally, the following makes code blocks have no distinct background.
 The minimal styles are applied to the delimiter lines, which only use
-a subtle gray foreground. This was the default for the Modus themes up
+a subtle gray foreground.  This was the default for the Modus themes up
 until version 4.3.0.
 
 #+begin_src emacs-lisp
@@ -3280,11 +3280,11 @@ invoke {{{kbd(M-x org-mode-restart)}}}.
 
 In versions of the Modus themes before =4.4.0= there was an option to
 change the coloration of Org source blocks so that certain languages
-would have a distinctly colored background. This was not flexible
+would have a distinctly colored background.  This was not flexible
 enough, because (i) we cannot cover all languages effectively and (ii)
 the user had no choice over the =language --> color= mapping.
 
-As such, the old user option is no more. Users can use the following
+As such, the old user option is no more.  Users can use the following
 to achieve what they want:
 
 [ All this is done by setting the Org user option ~org-src-block-faces~,
@@ -3323,9 +3323,9 @@ to achieve what they want:
 [[#h:d87673fe-2ce1-4c80-a4b8-be36ca9f2d24][DIY Use a hook at the 
post-load-theme phase]].
 
 Note that the ~org-src-block-faces~ accepts a named face, as shown
-above, as well as a list of face attributes. The latter approach is
+above, as well as a list of face attributes.  The latter approach is
 not good enough because it hardcodes values in such a way that an
-~org-mode-restart~ is necessary. Whereas the indirection of the named
+~org-mode-restart~ is necessary.  Whereas the indirection of the named
 face lets the theme change the values while Org buffers continue to
 show the right colors.
 
@@ -3768,7 +3768,7 @@ Reload the theme for changes to take effect.
 :END:
 
 Many of the Do-It-Yourself (DIY) snippets provided herein make use of
-a hook to apply the desired changes. In most examples, this hook is
+a hook to apply the desired changes.  In most examples, this hook is
 the ~modus-themes-after-load-theme-hook~ (alias ~modus-themes-post-load-hook~).
 This hook is provided by the Modus themes and is called at the end of
 one the following:
@@ -3786,7 +3786,7 @@ one the following:
 
 Users who switch between themes that are not limited to the Modus
 collection cannot benefit from the aforementioned hook: it only works
-with the Modus themes. A theme-agnostic hook is needed in such a case.
+with the Modus themes.  A theme-agnostic hook is needed in such a case.
 Before Emacs 29, this had to be set up manually 
([[#h:86f6906b-f090-46cc-9816-1fe8aeb38776][DIY A theme-agnostic hook for theme 
loading]]).
 Starting with Emacs 29, the special hook ~enable-theme-functions~
 works with anything that uses the basic ~enable-theme~ function.
@@ -3799,7 +3799,7 @@ the way it is done with every hook:
 #+end_src
 
 Functions added to ~enable-theme-functions~ accept a single =THEME=
-argument. The examples shown in this manual use the pattern =(&rest
+argument.  The examples shown in this manual use the pattern =(&rest
 _)=, which is how a function accepts one or more arguments but
 declares it will not use them (in plain terms, the code works with or
 without ~enable-theme-functions~).
@@ -3809,7 +3809,7 @@ without ~enable-theme-functions~).
 :custom_id: h:86f6906b-f090-46cc-9816-1fe8aeb38776
 :end:
 
-[ NOTE: The following is for versions of Emacs before 29. For Emacs 29
+[ NOTE: The following is for versions of Emacs before 29.  For Emacs 29
   or higher, users can rely on the built-in ~enable-theme-functions~
   ([[#h:d87673fe-2ce1-4c80-a4b8-be36ca9f2d24][Using a hook at the 
post-load-theme phase]]). ]
 
diff --git a/doc/misc/newsticker.texi b/doc/misc/newsticker.texi
index a2ceedf7399..d6f6e5d841e 100644
--- a/doc/misc/newsticker.texi
+++ b/doc/misc/newsticker.texi
@@ -73,12 +73,12 @@ modify this GNU manual.''
 
 Newsticker provides a @b{Feed Reader} for Emacs.  It retrieves
 headlines from a list of news sites, processes them, and provides
-frontends for reading and managing them. (Standard headline formats
+frontends for reading and managing them.  (Standard headline formats
 are RSS and Atom which makes Newsticker an ``RSS Reader'', ``Atom
 Reader'' or ``Feed Aggregator''.)
 
 Headlines (or news items) consist of a title, (mostly) a description,
-and a link to the full story. The description may be a brief summary
+and a link to the full story.  The description may be a brief summary
 in plain text or a full HTML-formatted article.  A headline may carry
 enclosed data such as images, audio or video files, typically in the
 case of so ``podcast feeds''.
@@ -95,7 +95,7 @@ customized to your liking.
 As Newsticker is part of GNU Emacs there is no need to perform any
 installation steps in order to use it.
 
-Newsticker is highly customizable. All options have reasonable default
+Newsticker is highly customizable.  All options have reasonable default
 values, so that (in most cases) it is not necessary to customize
 anything before you start Newsticker for the first time.
 
@@ -186,7 +186,7 @@ it is retrieved a second time.
 @chapter Reading News
 
 @findex newsticker-show-news
-Start Newsticker with the command @kbd{M-x newsticker-show-news}. This
+Start Newsticker with the command @kbd{M-x newsticker-show-news}.  This
 will start the asynchronous news download and displays all available
 headlines.
 
@@ -224,13 +224,13 @@ subtree.  The following commands allow for managing 
groups.
 @item M-a
 @kindex M-a
 @findex newsticker-group-add-group
-Add a new feed group. Name of the new group and of the parent group
+Add a new feed group.  Name of the new group and of the parent group
 must be entered.  If The name of the parent group is the new group
 becomes a top-level group. (@code{newsticker-group-add-group})
 @item M-m
 @kindex M-m
 @findex newsticker-group-move-feed
-Moves a feed into a group. The name of the group must be
+Moves a feed into a group.  The name of the group must be
 entered. (@code{newsticker-group-move-feed})
 @end table
 
@@ -269,18 +269,18 @@ The Treeview is updated automatically as soon as new 
headlines have
 arrived.
 
 The Treeview is used when the variable @code{newsticker-frontend} is
-set to the value @code{newsticker-treeview}. (Alternatively it can be
+set to the value @code{newsticker-treeview}.  (Alternatively it can be
 started with the command @code{newsticker-treeview}.)
 
 @subheading Plainview
 @cindex Plainview
 
 In this view all headlines of all feeds are displayed in a single
-buffer (@file{*newsticker*}). The modeline in the @file{*newsticker*}
+buffer (@file{*newsticker*}).  The modeline in the @file{*newsticker*}
 buffer informs you whenever new headlines have arrived.
 
 You may want to use imenu with Plainview, which allows for navigating
-with the help of a menu. In this case add the following to your Emacs
+with the help of a menu.  In this case add the following to your Emacs
 startup file (@file{~/.emacs}).
 
 @lisp
@@ -296,7 +296,7 @@ subscribed to a large amount of feeds you may want to give 
the
 Treeview a try.)
 
 The Plainview is used when the variable @code{newsticker-frontend} is
-set to the value @code{newsticker-plainview}. (Alternatively it can be
+set to the value @code{newsticker-plainview}.  (Alternatively it can be
 started with the command @code{newsticker-plainview}.)
 
 @subheading Ticker
diff --git a/doc/misc/nxml-mode.texi b/doc/misc/nxml-mode.texi
index 90a8858fcbf..f01dc437d99 100644
--- a/doc/misc/nxml-mode.texi
+++ b/doc/misc/nxml-mode.texi
@@ -134,8 +134,8 @@ type @kbd{C-M-i} or @kbd{@key{ESC} @key{TAB}} for 
completion, or bind
 the following, I will assume that you type @kbd{C-M-i}.
 
 nXML mode completion works by examining the symbol preceding point.
-This is the symbol to be completed. The symbol to be completed may be
-the empty. Completion considers what symbols starting with the symbol
+This is the symbol to be completed.  The symbol to be completed may be
+the empty.  Completion considers what symbols starting with the symbol
 to be completed would be valid replacements for the symbol to be
 completed, given the schema and the contents of the buffer before
 point.  These symbols are the possible completions.  An example may
@@ -182,7 +182,7 @@ happens.
 @item
 If there is one possible completion, then that completion is
 inserted, together with any following characters that are
-required. For example, in this case:
+required.  For example, in this case:
 
 @example
 <html xmlns="http://www.w3.org/1999/xhtml";>
@@ -199,14 +199,14 @@ required. For example, in this case:
 @item
 If there is more than one possible completion, but all
 possible completions share a common non-empty prefix, then that prefix
-is inserted. For example, suppose the buffer is:
+is inserted.  For example, suppose the buffer is:
 
 @example
 <html x@point{}
 @end example
 
 @noindent
-The symbol to be completed is @samp{x}. The possible completions are
+The symbol to be completed is @samp{x}.  The possible completions are
 @samp{xmlns} and @samp{xml:lang}.  These share a common prefix of
 @samp{xml}.  Thus, @kbd{C-M-i} will yield:
 
@@ -255,7 +255,7 @@ If you input @kbd{xmlns}, the result will be:
 
 @noindent
 (If you do @kbd{C-M-i} again, the namespace URI will be
-inserted. Should that happen automatically?)
+inserted.  Should that happen automatically?)
 @end itemize
 
 @node Inserting end-tags
@@ -269,17 +269,17 @@ You can use @kbd{C-M-i} after @samp{</} to complete the 
rest of the
 end-tag.
 
 @kbd{C-c C-f} inserts an end-tag for the element containing
-point. This command is useful when you want to input the start-tag,
-then input the content and finally input the end-tag. The @samp{f}
+point.  This command is useful when you want to input the start-tag,
+then input the content and finally input the end-tag.  The @samp{f}
 is mnemonic for finish.
 
 If you want to keep tags balanced and input the end-tag at the
 same time as the start-tag, before inputting the content, then you can
-use @kbd{C-c C-i}. This inserts a @samp{>}, then inserts
+use @kbd{C-c C-i}.  This inserts a @samp{>}, then inserts
 the end-tag and leaves point before the end-tag.  @kbd{C-c C-b}
 is similar but more convenient for block-level elements: it puts the
 start-tag, point and the end-tag on successive lines, appropriately
-indented. The @samp{i} is mnemonic for inline and the
+indented.  The @samp{i} is mnemonic for inline and the
 @samp{b} is mnemonic for block.
 
 Finally, you can customize nXML mode so that @kbd{/} automatically
@@ -312,7 +312,7 @@ then those lines will not be included in any paragraph.
 
 A start-tag at the beginning of the line (possibly indented) may
 be treated as starting a paragraph.  Similarly, an end-tag at the end
-of the line may be treated as ending a paragraph. The following rules
+of the line may be treated as ending a paragraph.  The following rules
 are used to determine whether such a tag is in fact treated as a
 paragraph boundary:
 
@@ -324,7 +324,7 @@ is a paragraph boundary.
 If the end-tag corresponding to the start-tag is not at
 the end of its line, or the start-tag corresponding to the end-tag is
 not at the beginning of its line, then it is not a paragraph
-boundary. For example, in
+boundary.  For example, in
 
 @example
 <p>This is a paragraph with an
@@ -374,9 +374,9 @@ in a future version.
 
 The variable @code{nxml-section-element-name-regexp} gives
 a regexp for the local names (i.e., the part of the name following any
-prefix) of section elements. The variable
+prefix) of section elements.  The variable
 @code{nxml-heading-element-name-regexp} gives a regexp for the
-local names of heading elements. For an element to be recognized
+local names of heading elements.  For an element to be recognized
 as a section
 
 @itemize @bullet
@@ -415,7 +415,7 @@ that subsection.
 @end itemize
 
 In the last two states, where the text content is hidden, the
-heading is displayed specially, in an abbreviated form. An element
+heading is displayed specially, in an abbreviated form.  An element
 like this:
 
 @example
@@ -515,7 +515,7 @@ displayed start-tag toggles the display of subheadings on 
and
 off.
 
 The outline state for each section is stored with the first
-character of the section (as a text property). Every command that
+character of the section (as a text property).  Every command that
 changes the outline state of any section updates the display of the
 buffer so that each section is displayed correctly according to its
 outline state.  If the section structure is subsequently changed, then
@@ -536,10 +536,10 @@ should use.  The order of the list is significant: when 
file
 @var{x} occurs in the list before file @var{y} then rules
 from file @var{x} have precedence over rules from file
 @var{y}.  A filename specified in
-@samp{rng-schema-locating-files} may be relative. If so, it will
+@samp{rng-schema-locating-files} may be relative.  If so, it will
 be resolved relative to the document for which a schema is being
-located. It is not an error if relative file-names in
-@samp{rng-schema-locating-files} do not exist. You can use
+located.  It is not an error if relative file-names in
+@samp{rng-schema-locating-files} do not exist.  You can use
 @kbd{M-x customize-variable @key{RET} rng-schema-locating-files
 @key{RET}} to customize the list of schema locating
 files.
@@ -548,7 +548,7 @@ By default, @samp{rng-schema-locating-files} list has two
 members: @samp{schemas.xml}, and
 @samp{@var{dist-dir}/schema/schemas.xml} where
 @samp{@var{dist-dir}} is the directory containing the nXML
-distribution. The first member will cause nXML mode to use a file
+distribution.  The first member will cause nXML mode to use a file
 @samp{schemas.xml} in the same directory as the document being
 edited if such a file exist.  The second member contains rules for the
 schemas that are included with the nXML distribution.
@@ -565,7 +565,7 @@ The command @kbd{C-c C-s C-w} will tell you what schema
 is currently being used.
 
 The rules for locating a schema are applied automatically when
-you visit a file in nXML mode. However, if you have just created a new
+you visit a file in nXML mode.  However, if you have just created a new
 file and the schema cannot be inferred from the file-name, then this
 will not locate the right schema.  In this case, you should insert the
 start-tag of the root element and then use the command @kbd{C-c C-s
@@ -578,12 +578,12 @@ If you want to use a schema that has not yet been added 
to the
 schema locating files, you can use the command @kbd{C-c C-s C-f}
 to manually select the file containing the schema for the document in
 current buffer.  Emacs will read the file-name of the schema from the
-minibuffer. After reading the file-name, Emacs will ask whether you
+minibuffer.  After reading the file-name, Emacs will ask whether you
 wish to add a rule to a schema locating file that persistently
 associates the document with the selected schema.  The rule will be
 added to the first file in the list specified
 @samp{rng-schema-locating-files}; it will create the file if
-necessary, but will not create a directory. If the variable
+necessary, but will not create a directory.  If the variable
 @samp{rng-schema-locating-files} has not been customized, this
 means that the rule will be added to the file @samp{schemas.xml}
 in the same directory as the document being edited.
@@ -591,14 +591,14 @@ in the same directory as the document being edited.
 The command @kbd{C-c C-s C-t} allows you to select a schema by
 specifying an identifier for the type of the document.  The schema
 locating files determine the available type identifiers and what
-schema is used for each type identifier. This is useful when it is
+schema is used for each type identifier.  This is useful when it is
 impossible to infer the right schema from either the file-name or the
 content of the document, even though the schema is already in the
 schema locating file.  A situation in which this can occur is when
 there are multiple variants of a schema where all valid documents have
 the same document element.  For example, XHTML has Strict and
 Transitional variants.  In a situation like this, a schema locating file
-can define a type identifier for each variant. As with @kbd{C-c
+can define a type identifier for each variant.  As with @kbd{C-c
 C-s C-f}, Emacs will ask whether you wish to add a rule to a schema
 locating file that persistently associates the document with the
 specified type identifier.
@@ -611,12 +611,12 @@ the schema that is currently being used.
 @section Schema locating files
 
 Each schema locating file specifies a list of rules.  The rules
-from each file are appended in order. To locate a schema each rule is
+from each file are appended in order.  To locate a schema each rule is
 applied in turn until a rule matches.  The first matching rule is then
 used to determine the schema.
 
 Schema locating files are designed to be useful for other
-applications that need to locate a schema for a document. In fact,
+applications that need to locate a schema for a document.  In fact,
 there is nothing specific to locating schemas in the design; it could
 equally well be used for locating a stylesheet.
 
@@ -638,7 +638,7 @@ files must be valid with respect to this schema.
 The document element of a schema locating file must be
 @samp{locatingRules} and the namespace URI must be
 @samp{http://thaiopensource.com/ns/locating-rules/1.0}.  The
-children of the document element specify rules. The order of the
+children of the document element specify rules.  The order of the
 children is the same as the order of the rules.  Here's a complete
 example of a schema locating file:
 
@@ -665,7 +665,7 @@ As usual with XML-related technologies, resources are 
identified
 by URIs.  The @samp{uri} attribute identifies the schema by
 specifying the URI@.  The URI may be relative.  If so, it is resolved
 relative to the URI of the schema locating file that contains
-attribute. This means that if the value of @samp{uri} attribute
+attribute.  This means that if the value of @samp{uri} attribute
 does not contain a @samp{/}, then it will refer to a filename in
 the same directory as the schema locating file.
 
@@ -696,7 +696,7 @@ relative URI in the @samp{resource} attribute is resolved 
into a
 particular absolute URI using the base URI of the schema locating
 file, a relative URI pattern matches if it matches some number of
 complete path segments of the document's URI ending with the last path
-segment of the document's URI@. For example,
+segment of the document's URI@.  For example,
 
 @example
 <uri pattern="*.xsl" uri="xslt.rnc"/>
@@ -707,7 +707,7 @@ specifies that the schema for documents with a URI whose 
path ends
 with @samp{.xsl} is @samp{xslt.rnc}.
 
 A @samp{transformURI} rule locates a schema by
-transforming the URI of the document. The @samp{fromPattern}
+transforming the URI of the document.  The @samp{fromPattern}
 attribute specifies a URI pattern with the same meaning as the
 @samp{pattern} attribute of the @samp{uri} element.  The
 @samp{toPattern} attribute is a URI pattern that is used to
@@ -736,7 +736,7 @@ schema.
 @subsection Using the document element to locate a schema
 
 A @samp{documentElement} rule locates a schema based on
-the local name and prefix of the document element. For example, a rule
+the local name and prefix of the document element.  For example, a rule
 
 @example
 <documentElement prefix="xsl" localName="stylesheet" uri="xslt.rnc"/>
@@ -745,12 +745,12 @@ the local name and prefix of the document element. For 
example, a rule
 @noindent
 specifies that when the name of the document element is
 @samp{xsl:stylesheet}, then @samp{xslt.rnc} should be used
-as the schema. Either the @samp{prefix} or
+as the schema.  Either the @samp{prefix} or
 @samp{localName} attribute may be omitted to allow any prefix or
 local name.
 
 A @samp{namespace} rule locates a schema based on the
-namespace URI of the document element. For example, a rule
+namespace URI of the document element.  For example, a rule
 
 @example
 <namespace ns="http://www.w3.org/1999/XSL/Transform"; uri="xslt.rnc"/>
@@ -780,7 +780,7 @@ Each of the rules described in previous sections that uses a
 @samp{uri} attribute to specify a schema, can instead use a
 @samp{typeId} attribute to specify a type identifier.  The type
 identifier can be associated with a URI using a @samp{typeId}
-element. For example,
+element.  For example,
 
 @example
 <locatingRules xmlns="http://thaiopensource.com/ns/locating-rules/1.0";>
@@ -805,7 +805,7 @@ more flexible than a schema locating file that simply 
specified
 
 @noindent
 A user can easily use @kbd{C-c C-s C-t} to select between XHTML
-Strict and XHTML Transitional. Also, a user can easily add a catalog
+Strict and XHTML Transitional.  Also, a user can easily add a catalog
 
 @example
 <locatingRules xmlns="http://thaiopensource.com/ns/locating-rules/1.0";>
@@ -823,7 +823,7 @@ The @samp{include} element includes rules from another
 schema locating file.  The behavior is exactly as if the rules from
 that file were included in place of the @samp{include} element.
 Relative URIs are resolved into absolute URIs before the inclusion is
-performed. For example,
+performed.  For example,
 
 @example
 <include rules="../rules.xml"/>
@@ -875,7 +875,7 @@ nXML mode is designed to support the creation of standalone 
XML
 documents that do not depend on a DTD@.  Although it is common practice
 to insert a DOCTYPE declaration referencing an external DTD, this has
 undesirable side-effects.  It means that the document is no longer
-self-contained. It also means that different XML parsers may interpret
+self-contained.  It also means that different XML parsers may interpret
 the document in different ways, since the XML Recommendation does not
 require XML parsers to read the DTD@.  With DTDs, it was impractical to
 get validation without using an external DTD or reference to an
@@ -884,9 +884,9 @@ simultaneously get the benefits of validation and 
standalone XML
 documents.  Therefore, I recommend that you do not reference an
 external DOCTYPE in your XML documents.
 
-One problem is entities for characters. Typically, as well as
+One problem is entities for characters.  Typically, as well as
 providing validation, DTDs also provide a set of character entities
-for documents to use. Schemas cannot provide this functionality,
+for documents to use.  Schemas cannot provide this functionality,
 because schema validation happens after XML parsing.  The recommended
 solution is to either use the Unicode characters directly, or, if this
 is impractical, use character references.  nXML mode supports this by
@@ -903,7 +903,7 @@ nXML mode has some limitations:
 @item
 DTD support is limited.  Internal parsed general entities declared
 in the internal subset are supported provided they do not contain
-elements. Other usage of DTDs is ignored.
+elements.  Other usage of DTDs is ignored.
 @item
 The restrictions on RELAX NG schemas in section 7 of the RELAX NG
 specification are not enforced.
diff --git a/doc/misc/org.org b/doc/misc/org.org
index 83a723ea94f..dc7d8ef166f 100644
--- a/doc/misc/org.org
+++ b/doc/misc/org.org
@@ -27,7 +27,7 @@ Authoring Org files is best supported by Emacs, but you can 
view,
 understand, and change them with any text editor.
 
 As an authoring tool, Org helps you write structured documents and
-provides exporting facilities. Org files can also be used for literate
+provides exporting facilities.  Org files can also be used for literate
 programming and reproducible research.  As a TODO lists manager, Org
 helps you organize your tasks in a flexible way, from daily needs to
 detailed project-planning, allowing logging, multiple views on your
@@ -16552,7 +16552,7 @@ BACKEND is the export backend being used, as a symbol."
    (lambda ()
      (delete-region (point) (line-beginning-position 2))
      ;; We need to tell `org-map-entries' to not skip over heading at
-     ;; point. Otherwise, it would continue from _next_ heading. See
+     ;; point.  Otherwise, it would continue from _next_ heading.  See
      ;; the docstring of `org-map-entries' for details.
      (setq org-map-continue-from (point)))))
 
@@ -17661,7 +17661,7 @@ Org currently includes the following export processors:
   - bibtex :: this export processor uses BibTeX, the historical
     bibliographic processor used with LaTeX, thus allowing the use of
     data and style files compatible with this processor (including a
-    large number of publishers' styles). It only supports LaTeX's
+    large number of publishers' styles).  It only supports LaTeX's
     =\cite= and =\nocite= commands.
 
   - natbib :: as with the bibtex processor, but using the LaTeX
@@ -17706,15 +17706,15 @@ your LaTeX installation, it won't export to anything 
but PDF.
 #+vindex: org-cite-biblatex-options
 #+texinfo: @noindent
 specifies the =biblatex= export processor with the default =numeric=
-style and the =bibtex= backend. Always define the style first and then
+style and the =bibtex= backend.  Always define the style first and then
 the rest of load-time options for the =biblatex=
-package. Alternatively, you can use the ~key=val,key=val~ format for
+package.  Alternatively, you can use the ~key=val,key=val~ format for
 the options as documented in the =biblatex= package documentation:
 
 : #+cite_export: biblatex backend=bibtex,style=numeric
 
 The ~org-cite-biblatex-options~ variable in your Emacs configuration
-uses this format. It will only export to PDF, since it relies on the
+uses this format.  It will only export to PDF, since it relies on the
 ~biblatex~ processor of your LaTeX installation.
 
 ** Bibliography printing
@@ -19425,10 +19425,10 @@ the tangled file's executable permission.
 The =tangle-mode= header argument specifies what permissions to set
 for tangled files by ~set-file-modes~.  Permissions are given by an
 octal value, which can be provided calling the ~identity~ function on
-an elisp octal value. For instance, to create a read-only file one may
-use =:tangle-mode (identity #o444)=. To reduce the verbosity required,
-a octal shorthand is defined, =oXXX= (=o= for octal). Using this, our
-read-only example is =:tangle-mode o444=. Omitting the =o= prefix will
+an elisp octal value.  For instance, to create a read-only file one may
+use =:tangle-mode (identity #o444)=.  To reduce the verbosity required,
+a octal shorthand is defined, =oXXX= (=o= for octal).  Using this, our
+read-only example is =:tangle-mode o444=.  Omitting the =o= prefix will
 cause the argument to be interpreted as an integer, which can lead to
 unexpected results (=444= is the same as =o674=).
 Two other shorthands are recognized, ls-style strings like
@@ -19437,7 +19437,7 @@ Note that chmod-style permissions are based on
 ~org-babel-tangle-default-file-mode~, which is =#o544= by default.
 
 When =:tangle-mode= and =:shebang= are both specified, the give
-=:tangle-mode= will override the permissions from =:shebang=. When
+=:tangle-mode= will override the permissions from =:shebang=.  When
 multiple source code blocks tangle to a single file with conflicting
 =:tangle-mode= header arguments, Org's behavior is undefined.
 
diff --git a/doc/misc/pcl-cvs.texi b/doc/misc/pcl-cvs.texi
index e1504b08a3a..6043685b2c8 100644
--- a/doc/misc/pcl-cvs.texi
+++ b/doc/misc/pcl-cvs.texi
@@ -730,7 +730,7 @@ positioned on a directory all files in that directory are 
marked
 (@code{cvs-mode-mark}).
 
 @item u
-Unmark the file that the cursor is positioned on. If the cursor is on a
+Unmark the file that the cursor is positioned on.  If the cursor is on a
 directory, all files in that directory are unmarked
 (@code{cvs-mode-unmark}).
 
diff --git a/doc/misc/rcirc.texi b/doc/misc/rcirc.texi
index 9ae4bb4a17c..98f60dcc60e 100644
--- a/doc/misc/rcirc.texi
+++ b/doc/misc/rcirc.texi
@@ -835,7 +835,7 @@ window @code{rcirc} considers is controlled by the
 
 @vindex rcirc-omit-unless-requested
 Certain messages can be omitted by default, unless the user manual
-requests them. For example, if you don't want to display @code{TOPIC}
+requests them.  For example, if you don't want to display @code{TOPIC}
 and @code{NAMES} messages, after reconnecting, you can configure
 @code{rcirc-omit-unless-requested} to hide:
 
diff --git a/doc/misc/reftex.texi b/doc/misc/reftex.texi
index 08ef084ae12..f542685b9f9 100644
--- a/doc/misc/reftex.texi
+++ b/doc/misc/reftex.texi
@@ -1371,7 +1371,7 @@ the context.
 @end lisp
 
 The empty pairs of brackets indicate the different arguments of the
-@code{\myfig} macro. The @samp{*} marks the label argument.  @code{?f}
+@code{\myfig} macro.  The @samp{*} marks the label argument.  @code{?f}
 indicates that this is a figure label which will be listed together with
 labels from normal figure environments.  The @code{nil} entries for
 prefix and reference format mean to use the defaults for figure labels.
@@ -1748,7 +1748,7 @@ selection process similar to that for selecting labels
 (@pxref{Referencing Labels}).
 
 The regular expression uses an extended syntax: @samp{&&} defines a
-logic @code{and} for regular expressions. For example
+logic @code{and} for regular expressions.  For example
 @samp{Einstein&&Bose} will match all articles which mention
 Bose-Einstein condensation, or which are co-authored by Bose and
 Einstein.  When entering the regular expression, you can complete on
@@ -2708,7 +2708,7 @@ display.
 
 @item @code{\bibitem}
 @cindex @code{\bibitem}
-Display a document location which cites this article. Pressing
+Display a document location which cites this article.  Pressing
 @kbd{C-c &} several times moves through the entire document and finds
 all locations.
 
@@ -2955,7 +2955,7 @@ path specified in the variables @code{BIBINPUTS} and 
@code{TEXBIB} for
 When searching, @RefTeX{} will also expand recursive path
 definitions (directories ending in @samp{//} or @samp{!!}).  But it will
 only search and expand directories @emph{explicitly} given in these
-variables. This may cause problems under the following circumstances:
+variables.  This may cause problems under the following circumstances:
 
 @itemize @bullet
 @item
@@ -3288,7 +3288,7 @@ Labels}).
 @findex TeX-add-style-hook@r{, AUCTeX}
 Style files are Emacs Lisp files which are evaluated by @AUCTeX{} in
 association with the @code{\documentclass} and @code{\usepackage}
-commands of a document (@pxref{Style Files,,,auctex}). Support for
+commands of a document (@pxref{Style Files,,,auctex}).  Support for
 @RefTeX{} in such a style file is useful when the @LaTeX{} style
 defines macros or environments connected with labels, citations, or the
 index.  Many style files (e.g., @file{amsmath.el} or @file{natbib.el})
@@ -4132,7 +4132,7 @@ Prefixes for section labels.  When the label prefix given 
in an entry in
 @code{reftex-label-alist} contains @samp{%S}, this list is used to
 determine the correct prefix string depending on the current section
 level.  The list is an alist, with each entry of the form
-@w{@code{(@var{key} . @var{prefix})}}. Possible keys are sectioning macro
+@w{@code{(@var{key} . @var{prefix})}}.  Possible keys are sectioning macro
 names like @samp{chapter}, integer section levels (as given in
 @code{reftex-section-levels}), and @code{t} for the default.
 @end defopt
@@ -4298,7 +4298,7 @@ Character class after  abbrev point in word.
 @cindex Referencing labels, options
 
 @defopt reftex-label-menu-flags
-List of flags governing the label menu makeup. The flags are:
+List of flags governing the label menu makeup.  The flags are:
 @table @asis
 @item @var{table-of-contents}
 Show the labels embedded in a table of context.
@@ -4764,7 +4764,7 @@ phrase and its index command will always end up on a 
single line.
 
 @defopt reftex-index-phrases-sort-prefers-entry
 Non-@code{nil} means when sorting phrase lines, the explicit index entry
-is used. Phrase lines in the phrases buffer contain a search phrase, and
+is used.  Phrase lines in the phrases buffer contain a search phrase, and
 sorting is normally based on these.  Some phrase lines also have
 an explicit index argument specified.  When this variable is
 non-@code{nil}, the index argument will be used for sorting.
@@ -4993,7 +4993,7 @@ lookup.
 @end table
 
 If a buffer is to be kept, the file is visited normally (which is
-potentially slow but will happen only once). If a buffer is to be thrown
+potentially slow but will happen only once).  If a buffer is to be thrown
 away, the initialization of the buffer depends upon the variable
 @code{reftex-initialize-temporary-buffers}.
 @end defopt
@@ -5001,7 +5001,7 @@ away, the initialization of the buffer depends upon the 
variable
 @defopt reftex-initialize-temporary-buffers
 Non-@code{nil} means do initializations even when visiting file
 temporarily.  When @code{nil}, @RefTeX{} may turn off find-file hooks and
-other stuff to briefly visit a file. When @code{t}, the full default
+other stuff to briefly visit a file.  When @code{t}, the full default
 initializations are done (@code{find-file-hook} etc.).  Instead of
 @code{t} or @code{nil}, this variable may also be a list of hook
 functions to do a minimal initialization.
@@ -5107,7 +5107,7 @@ Non-@code{nil} means, highlight selected text in 
selection and
 @emph{selected} text, and it is highlighted.  This is the entry most
 keys in the selection and @file{*toc*} buffers act on.  However, if you
 mainly use the mouse to select an item, you may find it nice to have
-mouse-triggered highlighting @emph{instead} or @emph{as well}. The
+mouse-triggered highlighting @emph{instead} or @emph{as well}.  The
 variable may have one of these values:
 
 @example
@@ -5719,7 +5719,7 @@ Fixed bug with empty context strings.
 @noindent @b{Version 3.21}
 @itemize @bullet
 @item
-New options for all faces used by @RefTeX{}. They're in the
+New options for all faces used by @RefTeX{}.  They're in the
 customization group @code{reftex-fontification-configurations}.
 @end itemize
 
diff --git a/doc/misc/sc.texi b/doc/misc/sc.texi
index 5176797cde8..ac256cb6eaf 100644
--- a/doc/misc/sc.texi
+++ b/doc/misc/sc.texi
@@ -620,7 +620,7 @@ time, it just goes ahead and inserts the reference header 
indexed by
 different reference headers based on the type of reply or forwarding
 you are doing.  You may also want to preview the reference header
 before deciding whether to insert it into the reply buffer or
-not. Supercite provides an optional @dfn{electric reference} mode
+not.  Supercite provides an optional @dfn{electric reference} mode
 which you can drop into to give you this functionality.
 
 @vindex sc-electric-references-p
diff --git a/doc/misc/ses.texi b/doc/misc/ses.texi
index 80c7b93aa28..bb9516a3b2a 100644
--- a/doc/misc/ses.texi
+++ b/doc/misc/ses.texi
@@ -162,7 +162,7 @@ A       B
 By default, the cell value print-out is right aligned, that is the
 reason for such an alignment for the notes in column @samp{B}.  To
 change that, you can enter a printer function for the whole column,
-using e.g., @kbd{M-p ("%s")}. Enclosing @code{"%s"} into a list tells
+using e.g., @kbd{M-p ("%s")}.  Enclosing @code{"%s"} into a list tells
 @acronym{SES} to align left.  You can override a column's printer
 function in any individual cell using @kbd{p}.
 
@@ -203,7 +203,7 @@ remove blank cells from the returned list, which enables 
using
 
 Actually, both options are not exactly equivalent as the former makes
 the summing in reversed order of argument, and the latter in the same
-order. You can also reverse the order of arguments returned by
+order.  You can also reverse the order of arguments returned by
 @code{ses-range} with the @code{<} modifier.
 
 @c ===================================================================
@@ -226,16 +226,16 @@ with @file{.ses}.  For example, @kbd{C-x C-f test.ses 
@key{RET}}.
 A @dfn{cell identifier} is a symbol with a column letter and a row
 number.  Cell B7 is the 2nd column of the 7th row.  For very wide
 spreadsheets, there are two column letters: cell AB7 is the 28th
-column of the 7th row. Super wide spreadsheets get AAA1, etc.
+column of the 7th row.  Super wide spreadsheets get AAA1, etc.
 You move around with the regular Emacs movement commands.
 
 @table @kbd
 @item j
-Moves point to cell, specified by identifier (@code{ses-jump}). Unless
-the cell is a renamed cell, the identifier is case-insensitive. A
+Moves point to cell, specified by identifier (@code{ses-jump}).  Unless
+the cell is a renamed cell, the identifier is case-insensitive.  A
 prefix argument @math{n} move to cell with coordinates @math{(n\div R,
 n \% C)} for a spreadsheet of @math{R} rows and @math{C} columns, and
-@samp{A1} being of coordinates @math{(0,0)}. The way the identifier or
+@samp{A1} being of coordinates @math{(0,0)}.  The way the identifier or
 the command prefix argument are interpreted can be customized through
 variables @code{ses-jump-cell-name-function} and
 @code{ses-jump-prefix-function}.
@@ -434,7 +434,7 @@ use parentheses: @samp{("$%.2f")}.
 @item
 A printer can also be a one-argument function, the result of which is
 a string (to get right alignment) or list of one string (to get left
-alignment). Such a function can be in turn configured as:
+alignment).  Such a function can be in turn configured as:
 @itemize
 @item
 A lambda expression, for instance:
@@ -543,11 +543,11 @@ printer function.  Then, if you call again
 reprinted accordingly.
 
 Sometimes there are local printers that you want to define or
-re-define automatically every time you open a sheet. For instance
+re-define automatically every time you open a sheet.  For instance
 imagine that you want to define/re-define automatically a local
 printer @code{euro} to display a number like an amount of euros, that
 is to say number @code{3.1} would be displayed as
-@code{3.10@dmn{}@euro{}}. To do so in any non read-only SES buffer,
+@code{3.10@dmn{}@euro{}}.  To do so in any non read-only SES buffer,
 you can add some code like this to your @file{.emacs} init file:
 
 @lisp
@@ -586,7 +586,7 @@ when you define a local printer function with command
 
 When doing so, please take care that the returned value is a string,
 or a list containing a string, even when the input argument has an
-unexpected value. Here is an example:
+unexpected value.  Here is an example:
 
 @example
 (lambda (val)
@@ -769,24 +769,24 @@ list.
 
 @vindex ses-jump-cell-name-function
 @code{ses-jump-cell-name-function} is a customizable variable by
-default set to the @code{upcase} function. This function is called
+default set to the @code{upcase} function.  This function is called
 when you pass a cell name to the @command{ses-jump} command (@kbd{j}),
 @c TODO : propagate extra explanation from the French version.
-it changes the entered cell name to that where to jump. The default
+it changes the entered cell name to that where to jump.  The default
 setting @code{upcase} allows you to enter the cell name in low
-case. Another use of @code{ses-jump-cell-name-function} could be some
+case.  Another use of @code{ses-jump-cell-name-function} could be some
 internationalization to convert non latin characters into latin
-equivalents to name the cell. Instead of a cell name, the function may
+equivalents to name the cell.  Instead of a cell name, the function may
 return cell coordinates in the form of a cons, for instance @code{(0
 . 0)} for cell @code{A1}, @code{(1 . 0)} for cell @code{A2}, etc.
 
 @vindex ses-jump-prefix-function
 @code{ses-jump-prefix-function} is a customizable variable by default
-set to the @code{ses-jump-prefix} function. This function is called
+set to the @code{ses-jump-prefix} function.  This function is called
 when you give a prefix argument to the @command{ses-jump} command
-(@kbd{j}). It returns a cell name or cell coordinates corresponding to
-the prefix argument. Cell coordinates are in the form of a cons, for
-instance @code{(1 . 0)} for cell @code{A2}. The default setting
+(@kbd{j}).  It returns a cell name or cell coordinates corresponding to
+the prefix argument.  Cell coordinates are in the form of a cons, for
+instance @code{(1 . 0)} for cell @code{A2}.  The default setting
 @code{ses-jump-prefix} will number cells left to right and then top
 down, so assuming a 4x3 spreadsheet prefix argument @samp{0} jumps to
 cell @samp{A1}, prefix argument @samp{2} jumps to @samp{C1}, prefix
@@ -841,7 +841,7 @@ valid local variable name (See also @ref{Nonrelocatable 
references}).
 @findex ses-repair-cell-reference-all
 When you interrupt a cell formula update by typing @kbd{C-g}, then
 the cell reference link may be broken, which will jeopardize automatic
-cell update when any other cell on which it depends is changed. To
+cell update when any other cell on which it depends is changed.  To
 repair that use function @code{ses-repair-cell-reference-all}
 @end table
 
@@ -946,21 +946,21 @@ Flags can be added to @code{ses-range} immediately after 
the @var{to}
 cell.
 @table @code
 @item !
-Empty cells in range can be removed by adding the @code{!} flag. An
+Empty cells in range can be removed by adding the @code{!} flag.  An
 empty cell is a cell the value of which is one of symbols @code{nil}
-or @code{*skip*}. For instance @code{(ses-range A1 A4 !)} will do the
+or @code{*skip*}.  For instance @code{(ses-range A1 A4 !)} will do the
 same as @code{(list A1 A3)} when cells @code{A2} and @code{A4} are
 empty.
 @item _
 Empty cell values are replaced by the argument following flag
-@code{_}, or @code{0} when flag @code{_} is last in argument list. For
+@code{_}, or @code{0} when flag @code{_} is last in argument list.  For
 instance @code{(ses-range A1 A4 _ "empty")} will do the same as
 @code{(list A1 "empty" A3 "empty")} when cells @code{A2} and @code{A4}
-are empty. Similarly, @code{(ses-range A1 A4 _ )} will do the same as
+are empty.  Similarly, @code{(ses-range A1 A4 _ )} will do the same as
 @code{(list A1 0 A3 0)}.
 @item >v
 When order matters, list cells by reading cells row-wise from top left
-to bottom right. This flag is provided for completeness only as it is
+to bottom right.  This flag is provided for completeness only as it is
 the default reading order.
 @item <v
 List cells by reading cells row-wise from top right to bottom left.
@@ -978,7 +978,7 @@ A short hand for @code{>v}.
 A short hand for @code{>^}.
 @item *
 Instead of listing cells, it makes a Calc vector or matrix of it
-(@pxref{Top,,,calc,GNU Emacs Calc Manual}). If the range contains only
+(@pxref{Top,,,calc,GNU Emacs Calc Manual}).  If the range contains only
 one row or one column a vector is made, otherwise a matrix is made.
 @item *2
 Same as @code{*} except that a matrix is always made even when there
@@ -1033,7 +1033,7 @@ are some useful functions to call from your formulas:
 @table @code
 @item (ses-delete-blanks &rest @var{args})
 Returns a list from which all blank cells (value is either @code{nil}
-or '*skip*) have been deleted. Order of args is reverted. Please note
+or '*skip*) have been deleted.  Order of args is reverted.  Please note
 that @code{ses-range} has a @code{!} modifier that enables removing
 blanks, so it is possible to write:
 @lisp
@@ -1250,8 +1250,8 @@ The best way is to rename cells that you do @emph{not} 
want to be
 relocatable by using @code{ses-rename-cell}.
 @findex ses-rename-cell
 Cells that do not have an A1-like name style are not relocated on
-yank. Using this method, the concerned cells won't be relocated
-whatever formula they appear in. Please note however that when a
+yank.  Using this method, the concerned cells won't be relocated
+whatever formula they appear in.  Please note however that when a
 formula contains some range @code{(ses-range @var{cell1} @var{cell2})}
 then in the yanked formula each range bound @var{cell1} and
 @var{cell2} are relocated, or not, independently, depending on whether
diff --git a/doc/misc/speedbar.texi b/doc/misc/speedbar.texi
index f4b9ee702a7..428873e59e7 100644
--- a/doc/misc/speedbar.texi
+++ b/doc/misc/speedbar.texi
@@ -48,7 +48,7 @@ packages, and web browsers.
 
 Speedbar displays a narrow frame in which a tree view is shown.  This
 tree view defaults to containing a list of files and directories.  Files
-can be ``expanded'' to list tags inside. Directories can be expanded to
+can be ``expanded'' to list tags inside.  Directories can be expanded to
 list the files within them.  Each file or tag can be jumped to
 immediately.
 
diff --git a/doc/misc/todo-mode.texi b/doc/misc/todo-mode.texi
index 9f259b0e65b..e4826e6c5f4 100644
--- a/doc/misc/todo-mode.texi
+++ b/doc/misc/todo-mode.texi
@@ -812,7 +812,7 @@ or by removing it if present.
 
 @samp{nonmarking} (@kbd{k}): Change the current item's calendar
 marking status by adding @code{diary-nonmarking-symbol} if the item
-lacks this, or by removing it if present. Since this symbol only
+lacks this, or by removing it if present.  Since this symbol only
 applies to diary items, the item is automatically marked as such,
 i.e., if @code{todo-nondiary-marker} is present, it is removed.
 
@@ -1799,7 +1799,7 @@ current file:
 Hide the item headers if visible, or show them if they are hidden.
 With done items, only the done header (i.e., the done tag and date-time
 string inserted when the item was marked done) is hidden, the original
-date-time string is not. With filtered items, the category (or
+date-time string is not.  With filtered items, the category (or
 category-file) tag is not hidden.
 
 @item F H
diff --git a/doc/misc/transient.texi b/doc/misc/transient.texi
index 9245a76e66b..7419ce39206 100644
--- a/doc/misc/transient.texi
+++ b/doc/misc/transient.texi
@@ -165,9 +165,9 @@ commands even have so many options that they introduce 
@emph{subcommands}
 @anchor{Using Transient for composing interactive commands}
 @heading Using Transient for composing interactive commands
 
-What about Emacs commands used interactively? How do these handle
+What about Emacs commands used interactively?  How do these handle
 options?  One solution is to make many versions of the same command,
-so you don't need to! Consider: @samp{delete-other-windows} vs.
+so you don't need to!  Consider: @samp{delete-other-windows} vs.
 @samp{delete-other-windows-vertically} (among many similar examples).
 
 Some Emacs commands will simply prompt you for the next "argument"
@@ -1019,7 +1019,7 @@ independently.  See @ref{Using History}.
 After a transient prefix command is invoked, @kbd{C-h @var{KEY}} can be used to
 show the documentation for the infix or suffix command that @kbd{@var{KEY}} is
 bound to (see @ref{Getting Help for Suffix Commands}), and infixes and
-suffixes can be removed from the transient using @kbd{C-x l @var{KEY}}. Infixes
+suffixes can be removed from the transient using @kbd{C-x l @var{KEY}}.  
Infixes
 and suffixes that are disabled by default can be enabled the same way.
 See @ref{Enabling and Disabling Suffixes}.
 
@@ -1287,7 +1287,7 @@ individual suffix command.
 The same form is also used when later binding additional commands
 using functions such as @code{transient-insert-suffix}, see @ref{Modifying 
Existing Transients}.
 
-Note that an infix is a special kind of suffix. Depending on context
+Note that an infix is a special kind of suffix.  Depending on context
 ``suffixes'' means ``suffixes (including infixes)'' or ``non-infix
 suffixes''.  Here it means the former.
 
@@ -1382,7 +1382,7 @@ argument supported by the constructor of that class.  See 
@ref{Suffix Slots}.
 @cindex defining suffix commands
 @cindex defining infix commands
 
-Note that an infix is a special kind of suffix. Depending on context
+Note that an infix is a special kind of suffix.  Depending on context
 ``suffixes'' means ``suffixes (including infixes)'' or ``non-infix
 suffixes''.
 
diff --git a/doc/misc/use-package.texi b/doc/misc/use-package.texi
index c2b6404b68b..99348398550 100644
--- a/doc/misc/use-package.texi
+++ b/doc/misc/use-package.texi
@@ -1612,8 +1612,8 @@ You can override the above setting for a single package 
by adding
 
 @findex :vc
 The @code{:vc} keyword can be used to control how packages are
-downloaded and/or installed. More specifically, it allows one to fetch
-and update packages directly from a version control system. This is
+downloaded and/or installed.  More specifically, it allows one to fetch
+and update packages directly from a version control system.  This is
 especially convenient when wanting to install a package that is not on
 any package archive.
 
diff --git a/doc/misc/vhdl-mode.texi b/doc/misc/vhdl-mode.texi
index 86df723aa5a..e7eb1025ea4 100644
--- a/doc/misc/vhdl-mode.texi
+++ b/doc/misc/vhdl-mode.texi
@@ -79,7 +79,7 @@ modify this GNU manual.''
 @chapter  Introduction
 @cindex   Introduction
 
-Welcome to VHDL Mode. This is a GNU Emacs mode for editing files
+Welcome to VHDL Mode.  This is a GNU Emacs mode for editing files
 containing VHDL code.
 
 This manual will describe the following:
@@ -99,18 +99,18 @@ How to customize the indentation engine.
 @findex vhdl-version
 The major version number was incremented to 3 with the addition of
 many new features for editing VHDL code to the new indentation engine,
-which was introduced in major version 2. To find the minor revision
+which was introduced in major version 2.  To find the minor revision
 number of this release, use @kbd{M-x vhdl-version @key{RET}}.
 
 A special word of thanks goes to Rod Whitby, who wrote the
 VHDL Mode indentation engine, and to Barry Warsaw, who wrote
 the CC Mode indentation engine that formed the basis
-thereof. Their manuals were also the basis for this manual.
+thereof.  Their manuals were also the basis for this manual.
 
-This manual is not very up-to-date. It basically contains the
+This manual is not very up-to-date.  It basically contains the
 indentation machine documentation by Rod Whitby with only minor
-adaptions. A short documentation of the entire VHDL Mode is available
-within the mode itself by typing @kbd{C-c C-h}. Also, all commands and
+adaptions.  A short documentation of the entire VHDL Mode is available
+within the mode itself by typing @kbd{C-c C-h}.  Also, all commands and
 customization of most variables are available through the menu, which
 makes everything highly self-explaining.
 
@@ -126,14 +126,14 @@ To get started, simply visit a @file{.vhd} file in Emacs; 
or type
 @cindex   New Indentation Engine
 
 VHDL Mode has a new indentation engine, providing a simplified, yet
-flexible and general mechanism for customizing indentation. It breaks
-indentation calculation into two steps. First for the line of code being
+flexible and general mechanism for customizing indentation.  It breaks
+indentation calculation into two steps.  First for the line of code being
 indented, VHDL Mode analyzes what kind of language construct it's
 looking at, then it applies user defined offsets to the current line
 based on this analysis.
 
 This section will briefly cover how indentation is calculated in
-VHDL Mode. It is important to understand the indentation model
+VHDL Mode.  It is important to understand the indentation model
 being used so that you will know how to customize VHDL Mode for
 your personal coding style.
 
@@ -169,7 +169,7 @@ Conceptually, a line of VHDL code is always indented 
relative to the
 indentation of some line higher up in the buffer.  This is represented
 by the relative buffer position in the syntactic component.
 
-It might help to see an example. Suppose we had the following code as
+It might help to see an example.  Suppose we had the following code as
 the only thing in a VHDL Mode buffer @footnote{The line numbers
 in this and future examples don't actually appear in the buffer.}:
 @example
@@ -652,7 +652,7 @@ one of the syntactic symbol offsets will need to be tweaked 
slightly, or
 perhaps @code{vhdl-basic-offset} will need to be changed.  However, some
 styles require a more advanced ability for customization, and one of the
 real strengths of VHDL Mode is that the syntactic analysis model
-provides a very flexible framework for customizing indentation. This
+provides a very flexible framework for customizing indentation.  This
 allows you to perform special indentation calculations for situations
 not handled by the mode directly.
 
@@ -833,13 +833,13 @@ symbol currently recognized}
 @strong{Q.} @emph{How do I re-indent the whole file?}
 
 @strong{A.} Visit the file and hit @kbd{C-x h} to mark the whole
-buffer. Then hit @kbd{@key{ESC} C-\} to re-indent the entire region
-which you've just marked. Or just enter @kbd{M-x vhdl-indent-buffer}.
+buffer.  Then hit @kbd{@key{ESC} C-\} to re-indent the entire region
+which you've just marked.  Or just enter @kbd{M-x vhdl-indent-buffer}.
 @sp 2
 
 @strong{Q.} @emph{How do I re-indent the entire function?}
 
-@strong{A.} Hit @kbd{@key{ESC} C-h} to mark the entire function. Then
+@strong{A.} Hit @kbd{@key{ESC} C-h} to mark the entire function.  Then
 hit @kbd{@key{ESC} C-\} to re-indent the entire region which you've just
 marked.
 @sp 2
diff --git a/doc/misc/vip.texi b/doc/misc/vip.texi
index 0248edb328f..6907966f861 100644
--- a/doc/misc/vip.texi
+++ b/doc/misc/vip.texi
@@ -190,7 +190,7 @@ M-x vip-mode
 @kindex 0301 C-x C-z @r{(}@code{suspend-emacs}@r{)}
 
 Loading VIP has the effect of globally binding @kbd{C-z} (@kbd{Control-z})
-to the function @code{vip-change-mode-to-vi}. The default binding of @kbd{C-z}
+to the function @code{vip-change-mode-to-vi}.  The default binding of @kbd{C-z}
 in GNU Emacs is @code{suspend-emacs}, but, you can also call
 @code{suspend-emacs} by typing @kbd{C-x C-z}.  Other than this, all the
 key bindings of Emacs remain the same after loading VIP.
@@ -400,7 +400,7 @@ Given counts, text will be yanked (in Vi's sense) that many 
times.  Thus
 @itemx O
 @kindex 157 o @r{(}@code{vip-open-line}@r{)}
 @kindex 117 O @r{(}@code{vip-Open-line}@r{)}
-Given counts, that many copies of text will be inserted. Thus
+Given counts, that many copies of text will be inserted.  Thus
 @kbd{o a b c @key{ESC}} will insert 3 lines of @samp{abc} below the current
 line.
 @item /
@@ -474,7 +474,7 @@ Forward incremental search.
 @kindex 033 ESC @r{(}@code{vip-ESC}@r{)}
 These keys will exit from vi mode and return to emacs mode temporarily.  If
 you hit one of these keys, Emacs will be in emacs mode and will believe
-that you hit that key in emacs mode. For example, if you hit @kbd{C-x}
+that you hit that key in emacs mode.  For example, if you hit @kbd{C-x}
 followed by @kbd{2}, then the current window will be split into 2 and you
 will be in vi mode again.
 @item \
@@ -517,7 +517,7 @@ Change upper-case characters in the region to lower case
 (@code{downcase-region}).
 @item # C
 @kindex 0431 # C @r{(}@code{upcase-region}@r{)}
-Change lower-case characters in the region to upper case. For instance,
+Change lower-case characters in the region to upper case.  For instance,
 @kbd{# C 3 w} will capitalize 3 words from the current point
 (@code{upcase-region}).
 @item # g
@@ -574,14 +574,14 @@ in the current window, while @kbd{S} selects buffer in 
another window.
 @kindex 1300 X @r{(}@code{vip-ctl-x-equivalent}@r{)}
 These keys will exit from vi mode and return to emacs mode temporarily.
 If you type @kbd{C} (@kbd{X}), Emacs will be in emacs mode and will believe
-that you have typed @kbd{C-c} (@kbd{C-x}) in emacs mode. Moreover,
+that you have typed @kbd{C-c} (@kbd{C-x}) in emacs mode.  Moreover,
 if the following character you type is an upper-case letter, then Emacs
 will believe that you have typed the corresponding control character.
 You will be in vi mode again after the command is executed.  For example,
 typing @kbd{X S} in vi mode is the same as typing @kbd{C-x C-s} in emacs
 mode.  You get the same effect by typing @kbd{C-x C-s} in vi mode, but
 the idea here is that you can execute useful Emacs commands without typing
-control characters. For example, if you hit @kbd{X} (or @kbd{C-x}) followed
+control characters.  For example, if you hit @kbd{X} (or @kbd{C-x}) followed
 by @kbd{2}, then the current window will be split into 2 and you will be in
 vi mode again.
 @end table
@@ -1307,7 +1307,7 @@ The line commands are as follows:
 @cindex expanding (region)
 If a point command is given as an argument to a modifying command, the
 region determined by the point command will be affected by the modifying
-command. On the other hand, if a line command is given as an argument to a
+command.  On the other hand, if a line command is given as an argument to a
 modifying command, the region determined by the line command will be
 enlarged so that it will become the smallest region properly containing the
 region and consisting of whole lines (we call this process @dfn{expanding
@@ -1418,9 +1418,9 @@ below.
 @item p
 @kindex 160 p @r{(}@code{vip-put-back}@r{)}
 Insert, after the character point is looking at, most recently
-deleted/yanked text from anonymous register. Given a register name
+deleted/yanked text from anonymous register.  Given a register name
 argument, the content of the named register will be put back.  Given a
-count, the command will be repeated that many times. This command also
+count, the command will be repeated that many times.  This command also
 checks if the text to put back ends with a new line character, and if so
 the text will be put below the current line (@code{vip-put-back}).
 @item P
diff --git a/doc/misc/viper.texi b/doc/misc/viper.texi
index 01e94de4e48..20ca1a58ae9 100644
--- a/doc/misc/viper.texi
+++ b/doc/misc/viper.texi
@@ -163,10 +163,10 @@ some incompatibilities.
 
 This manual is written with the assumption that you are an experienced Vi
 user who wants to switch to Emacs while retaining the ability to edit files
-Vi style. Incredible as it might seem, there are experienced Emacs users
+Vi style.  Incredible as it might seem, there are experienced Emacs users
 who use Viper as a backdoor into the superior (as every Vi user already knows)
-world of Vi! These users are well familiar with Emacs bindings and prefer them
-in some cases, especially in the Vi Insert state. John Hawkins
+world of Vi!  These users are well familiar with Emacs bindings and prefer them
+in some cases, especially in the Vi Insert state.  John Hawkins
 <jshawkin@@eecs.umich.edu> has provided a set of customizations, which
 enables additional Emacs bindings under Viper.  These customizations can be
 included in your @file{~/.emacs.d/viper} file and are found at the
@@ -335,7 +335,7 @@ Viper.
 
 The latest versions of Emacs have an interactive customization facility,
 which allows you to (mostly) bypass the use of the @file{.emacs} and
-@code{viper-custom-file-name} files. You can reach this customization
+@code{viper-custom-file-name} files.  You can reach this customization
 facility from within Viper's VI state by executing the Ex command
 @kbd{:customize}.
 
@@ -1589,10 +1589,10 @@ you are doing.  Only two variables, @code{viper-mode} 
and
 prior to loading Viper (i.e., prior to @code{(require 'viper)} command.
 @item
 @cindex Ex customize
-By executing the @kbd{:customize} Ex command. This takes you to the Emacs
+By executing the @kbd{:customize} Ex command.  This takes you to the Emacs
 customization widget, which lets you change the values of Viper
-customizable variables easily. This method is good for novice and
-experts alike. The customization code in the form of Lisp commands will be
+customizable variables easily.  This method is good for novice and
+experts alike.  The customization code in the form of Lisp commands will be
 placed in @file{~/.emacs} or some other customization file depending on the
 version of Emacs that you use.  Still, it is recommended to separate
 Viper-related customization produced by the Emacs customization widget
@@ -1766,7 +1766,7 @@ have to set it as a string inside double quotes.
 Function used by the command @kbd{#c<move>} to spell.
 @item viper-glob-function
 The value of this variable is the function symbol used to expand wildcard
-symbols. This is platform-dependent. The default tries to set this variable
+symbols.  This is platform-dependent.  The default tries to set this variable
 to work with most shells, MS Windows, etc.  However, if it
 doesn't work the way you expect, you should write your own.
 Use @code{viper-glob-unix-files} and @code{viper-glob-mswindows-files} in
@@ -2298,7 +2298,7 @@ suspicion is wrong, no harm is done if you harness a 
minor mode that
 doesn't need to be harnessed.
 
 It is recommended to harness even those minor modes that don't override
-Viper keys, but still have their own keymaps. A general way to
+Viper keys, but still have their own keymaps.  A general way to
 make a minor mode, @code{my-mode},
 compatible with Viper is to have the file @file{my-mode.el} include the 
following code:
 
@@ -3099,7 +3099,7 @@ lines.
 @cindex % (Current file)
 Note that @samp{%} is used in Ex commands @kbd{:e} and @kbd{:r <shell-cmd>}
 to mean current file.  If you want a @samp{%} in your command, it must be
-escaped as @samp{\%}. Note that @kbd{:w} and the regular @kbd{:r <file>}
+escaped as @samp{\%}.  Note that @kbd{:w} and the regular @kbd{:r <file>}
 command doesn't support the meta symbols @samp{%} and @samp{#}, because
 file history is a better mechanism.
 @cindex # (Previous file)
@@ -3452,7 +3452,7 @@ Mark the current file and position with the specified 
letter.
 Set the Emacs mark (@pxref{Emacs Preliminaries}) at point.
 @item m ^
 Set the Emacs mark (@pxref{Emacs Preliminaries}) back to where it was last
-set with the @kbd{m.} command. This is useful when you set the mark with
+set with the @kbd{m.} command.  This is useful when you set the mark with
 @kbd{m.}, but then some other command (such as @kbd{L} or @kbd{G}) changes
 it in a way that you didn't like.
 @item m <
@@ -3701,9 +3701,9 @@ Repeat latest Ex substitute command, e.g.,
 @itemx :g/Pat/p
 @itemx :v/Pat/p
 The above commands display certain buffer lines in a
-temporary buffer. The first form above displays the buffer lines between
-@kbd{x} and @kbd{y}. The second displays the lines of the buffer, which
-match a given pattern. The third form displays the lines that do @emph{not}
+temporary buffer.  The first form above displays the buffer lines between
+@kbd{x} and @kbd{y}.  The second displays the lines of the buffer, which
+match a given pattern.  The third form displays the lines that do @emph{not}
 match the given pattern.
 @item #c<move>
 Change upper-case characters in the region to lower-case.
@@ -3765,7 +3765,7 @@ found there (e.g., @samp{~} is not expanded to the result 
of the previous
 substitution).
 
 After typing @kbd{/} or @kbd{?} all the usual Emacs minibuffer commands, such 
as
-@kbd{M-p} and @kbd{M-n} are available. In addition, typing @kbd{C-s} will
+@kbd{M-p} and @kbd{M-n} are available.  In addition, typing @kbd{C-s} will
 insert the last search string used by the Emacs incremental search command
 (which is bound to @kbd{C-s} everywhere except in this case).
 
@@ -3970,8 +3970,8 @@ In all file handling commands, space should be typed 
before entering the file
 name.  If you need to type a modifier, such as @kbd{>>} or @kbd{!}, don't
 put any space between the command and the modifier.
 
-Note that many Ex commands, e.g., @kbd{:w}, accept command arguments. The
-effect is that the command would start acting on the current region. For
+Note that many Ex commands, e.g., @kbd{:w}, accept command arguments.  The
+effect is that the command would start acting on the current region.  For
 instance, if the current region spans the lines 11 through 22, then if you
 type @kbd{1:w} you would see @samp{:11,22w} in the minibuffer.
 
@@ -4028,7 +4028,7 @@ Preserve the file---autosave buffers.
 Recover file from autosave.
 @item :f [<file>]
 without the argument, prints file name and character/line information afout
-the currently visited file. With an argument, sets the currently visited
+the currently visited file.  With an argument, sets the currently visited
 filename to @file{file}.
 @item :cd [<dir>]
 Set the working directory to <dir> (default home directory).
@@ -4062,7 +4062,7 @@ Like @kbd{:n}, but the meaning of the variable
 Switch to another buffer.  If @code{ex-cycle-other-window} is @code{t},
 switch in another window.  Buffer completion is supported.
 The variable @code{viper-read-buffer-function} controls which function is
-actually used to read the buffer name. The default is @code{read-buffer},
+actually used to read the buffer name.  The default is @code{read-buffer},
 but better alternatives are also available in Emacs (e.g.,
 @code{ido-read-buffer}).
 @vindex viper-read-buffer-function
@@ -4459,7 +4459,7 @@ VIP 4.4, by Aamod Sane.  This manual is an adaptation of 
the manual for VIP
 4.4, which, in turn, was based on Sato's manual for VIP 3.5.
 
 Many contributors on the Net pointed out bugs and suggested a number of
-useful features. Scott Bronson and Samuel Padgett contributed patches that
+useful features.  Scott Bronson and Samuel Padgett contributed patches that
 were incorporated in this code.  Here is a hopefully complete list of
 contributors:
 
diff --git a/doc/misc/widget.texi b/doc/misc/widget.texi
index 744b84ac80d..b6559b5b712 100644
--- a/doc/misc/widget.texi
+++ b/doc/misc/widget.texi
@@ -150,7 +150,7 @@ Widget library will also use the new graphic features 
automatically.
 A form consists of read only text for documentation and some fields,
 where each field contains two parts, a tag and a value.  The tags are
 used to identify the fields, so the documentation can refer to the
-@samp{foo field}, meaning the field tagged with @samp{Foo}. Here is an
+@samp{foo field}, meaning the field tagged with @samp{Foo}.  Here is an
 example form:
 
 @example
@@ -865,7 +865,7 @@ the @code{:mouse-down-action} property.
 All widgets can be created from a type specification.  The general
 syntax of a type specification is:
 
-@c FIXME: Add BNF reference here? If yes, what reference?
+@c FIXME: Add BNF reference here?  If yes, what reference?
 @example
 @var{name} ::= (@var{name} [@var{keyword} @var{argument}]... @var{args})
      |   @var{name}
diff --git a/doc/misc/wisent.texi b/doc/misc/wisent.texi
index 9738d790259..d42fe09240a 100644
--- a/doc/misc/wisent.texi
+++ b/doc/misc/wisent.texi
@@ -109,7 +109,7 @@ described in the @ref{Top, Semantic Manual, Semantic 
Manual, semantic}.
 @chapter Wisent Overview
 
 @dfn{Wisent} (the European Bison) is an implementation in Emacs Lisp
-of the GNU Compiler Compiler Bison. Its code is a port of the C code
+of the GNU Compiler Compiler Bison.  Its code is a port of the C code
 of GNU Bison 1.28 & 1.31.
 
 For more details on the basic concepts for understanding Wisent, it is
@@ -1795,7 +1795,7 @@ environment.
 @samp{grammar} rule.  The semantic action uses the @code{TAG} macro to
 produce a raw tag, automagically expanded by @semantic{}.
 
-But @samp{rules} part is parsed in Bison style! Why?
+But @samp{rules} part is parsed in Bison style!  Why?
 
 Rule delimiters are the colon (@code{:}), that follows the nonterminal
 name, and a final semicolon (@code{;}).  Unfortunately these
diff --git a/lisp/doc-view.el b/lisp/doc-view.el
index 801783bd766..f4d746c5589 100644
--- a/lisp/doc-view.el
+++ b/lisp/doc-view.el
@@ -2151,6 +2151,8 @@ GOTO-PAGE-FN other than `doc-view-goto-page'."
   (pcase-let ((`(,conv-function ,type ,extension)
                (pcase doc-view-doc-type
                  ('djvu (list #'doc-view-djvu->tiff-converter-ddjvu 'tiff 
"tif"))
+                 ((or 'ps 'postscript 'eps)
+                  (list #'doc-view-ps->png-converter-ghostscript 'png "png"))
                  (_ (if (and (eq doc-view-pdf->png-converter-function
                                  #'doc-view-pdf->png-converter-mupdf)
                              doc-view-mupdf-use-svg)
diff --git a/src/treesit.c b/src/treesit.c
index c95a9fb9b01..baa1b8dfd11 100644
--- a/src/treesit.c
+++ b/src/treesit.c
@@ -404,7 +404,7 @@ init_treesit_functions (void)
    buffer's parser list.  The discussion can be found in bug#59693.  */
 
 
-/*** Initialization */
+/*** Initialization  */
 
 static Lisp_Object Vtreesit_str_libtree_sitter;
 static Lisp_Object Vtreesit_str_tree_sitter;
@@ -431,7 +431,7 @@ static Lisp_Object Vtreesit_str_pred;
    functions.  Remember to update docstrings when changing this value.
 
    If we think of programs and AST, it is very rare for any program to
-   have a very deep AST. For example, you would need 1000+ levels of
+   have a very deep AST.  For example, you would need 1000+ levels of
    nested if-statements, or a struct somehow nested for 1000+ levels.
    It's hard for me to imagine any hand-written or machine generated
    program to be like that.  So I think 1000 is already generous.  If
@@ -485,10 +485,9 @@ treesit_initialize (void)
 }
 
 
-/*** Loading language library */
+/*** Loading language library  */
 
-/* Translates a symbol treesit-<lang> to a C name
-   treesit_<lang>.  */
+/* Translate a symbol treesit-<lang> to a C name treesit_<lang>.  */
 static void
 treesit_symbol_to_c_name (char *symbol_name)
 {
@@ -758,7 +757,7 @@ Return nil if a grammar library for LANGUAGE is not 
available.  */)
 }
 
 
-/*** Parsing functions */
+/*** Parsing functions  */
 
 static void
 treesit_check_parser (Lisp_Object obj)
@@ -873,7 +872,7 @@ treesit_record_change (ptrdiff_t start_byte, ptrdiff_t 
old_end_byte,
     }
 }
 
-/* Comment (ref:visible-beg-null) The purpose of visible_beg/end is to
+/* Comment (ref:visible-beg-null)  The purpose of visible_beg/end is to
    keep track of "which part of the buffer does the tree-sitter tree
    see", in order to update the tree correctly.  Visible_beg/end have
    two purposes: they "clip" buffer changes within them, and they
@@ -1150,7 +1149,7 @@ treesit_read_buffer (void *parser, uint32_t byte_index,
 }
 
 
-/*** Functions for parser and node object */
+/*** Functions for parser and node object  */
 
 /* Wrap the parser in a Lisp_Object to be used in the Lisp
    machine.  */
@@ -1575,7 +1574,7 @@ treesit_parser_live_p (Lisp_Object parser)
 }
 
 
-/*** Parser API */
+/*** Parser API  */
 
 DEFUN ("treesit-parser-root-node",
        Ftreesit_parser_root_node, Streesit_parser_root_node,
@@ -1748,7 +1747,7 @@ See also `treesit-parser-set-included-ranges'.  */)
 
   /* When the parser doesn't have a range set and we call
      ts_parser_included_ranges on it, it doesn't return an empty list,
-     but rather return DEFAULT_RANGE. (A single range where start_byte
+     but rather return DEFAULT_RANGE.  (A single range where start_byte
      = 0, end_byte = UINT32_MAX).  So we need to track whether the
      parser is ranged ourselves.  */
   if (NILP (XTS_PARSER (parser)->last_set_ranges))
@@ -1851,8 +1850,8 @@ treesit_check_node (Lisp_Object obj)
     xsignal1 (Qtreesit_node_buffer_killed, obj);
 }
 
-/* Checks that OBJ is a positive integer and it is within the visible
-   portion of BUF. */
+/* Check that OBJ is a positive integer and it is within the visible
+   portion of BUF.  */
 static void
 treesit_check_position (Lisp_Object obj, struct buffer *buf)
 {
@@ -2147,7 +2146,7 @@ nil.  If NODE is nil, return nil.  */)
 DEFUN ("treesit-node-child-by-field-name",
        Ftreesit_node_child_by_field_name,
        Streesit_node_child_by_field_name, 2, 2, 0,
-       doc: /* Return the child of NODE with FIELD-NAME.
+       doc: /* Return the child of NODE with FIELD-NAME (a string).
 Return nil if there is no such child.  If NODE is nil, return nil.  */)
   (Lisp_Object node, Lisp_Object field_name)
 {
@@ -2368,7 +2367,7 @@ produced by tree-sitter.  */)
 }
 
 
-/*** Query functions */
+/*** Query functions  */
 
 /* Convert a Lisp string to its printed representation in the tree-sitter
    query syntax.  */
@@ -3005,7 +3004,7 @@ the query.  */)
      test for predicates.  If predicates pass, then all good, if
      predicates don't pass, revert the result back to the result
      before this loop (PREV_RESULT).  (Predicates control the entire
-     match.) This way we don't need to create a list of captures in
+     match.)  This way we don't need to create a list of captures in
      every for loop and nconc it to RESULT every time.  That is indeed
      the initial implementation in which Yoav found nconc being the
      bottleneck (98.4% of the running time spent on nconc).  */
@@ -3083,7 +3082,7 @@ the query.  */)
 }
 
 
-/*** Navigation */
+/*** Navigation  */
 
 static inline void
 treesit_assume_true (bool val)
@@ -3200,7 +3199,7 @@ treesit_traverse_sibling_helper (TSTreeCursor *cursor,
       if (ts_node_eq (first_child, start))
        return false;
 
-      /* PROBE is always DELTA siblings ahead of CURSOR. */
+      /* PROBE is always DELTA siblings ahead of CURSOR.  */
       TSTreeCursor probe = ts_tree_cursor_copy (cursor);
       /* This is position of PROBE minus position of CURSOR.  */
       ptrdiff_t delta = 0;
@@ -3484,7 +3483,7 @@ treesit_traverse_match_predicate (TSTreeCursor *cursor, 
Lisp_Object pred,
          return true;
        }
     }
-  /* Returning false is better than UB. */
+  /* Returning false is better than UB.  */
   return false;
 }
 
@@ -3997,7 +3996,7 @@ DEFUN ("treesit-available-p", Ftreesit_available_p,
 }
 
 
-/*** Initialization */
+/*** Initialization  */
 
 /* Initialize the tree-sitter routines.  */
 void



reply via email to

[Prev in Thread] Current Thread [Next in Thread]