diff --git a/runtime/doc/usr_02.txt b/runtime/doc/usr_02.txt
index 486426e..70d24d3 100644
--- a/runtime/doc/usr_02.txt
+++ b/runtime/doc/usr_02.txt
@@ -1,4 +1,4 @@
-*usr_02.txt*	For Vim version 9.1.  Last change: 2021 Apr 24
+*usr_02.txt*	For Vim version 9.1.  Last change: 2024 Oct 05
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
@@ -32,7 +32,7 @@
 In UNIX you can type this at any command prompt.  If you are running Microsoft
 Windows, open a Command Prompt and enter the command.
    In either case, Vim starts editing a file called file.txt.  Because this
-is a new file, you get a blank window. This is what your screen will look
+is a new file, you get a blank window.  This is what your screen will look
 like:
 
 	+---------------------------------------+
@@ -322,7 +322,7 @@
 to
 	and that's not saying much for the turtle!!! ~
 
-move the cursor over to the dot at the end of the line. Then type "x" to
+move the cursor over to the dot at the end of the line.  Then type "x" to
 delete the period.  The cursor is now positioned at the end of the line on the
 e in turtle.  Now type >
 
@@ -535,7 +535,7 @@
 <   And for the 'guioptions' flags: >
 	:help go-<letter>
 
-4) Normal mode commands do not have a prefix. To go to the help page for the
+4) Normal mode commands do not have a prefix.  To go to the help page for the
    "gt" command: >
 	:help gt
 
@@ -585,7 +585,7 @@
     at: >
 	:help pattern.txt
 
-12) Registers always start with "quote". To find out about the special ":"
+12) Registers always start with "quote".  To find out about the special ":"
     register: >
 	:help quote:
 
@@ -604,7 +604,7 @@
 <    talks about the append Vim script function rather than how to append text
     in the current buffer.
 
-14) Mappings are talked about in the help page :h |map.txt|. Use >
+14) Mappings are talked about in the help page :h |map.txt|.  Use >
 	:help mapmode-i
 <    to find out about the |:imap| command.  Also use :map-topic
     to find out about certain subtopics particular for mappings.  e.g: >
@@ -640,7 +640,7 @@
     friendly way.  Start at |usr_toc.txt| to find the table of content (as you
     might have guessed): >
 	:help usr_toc.txt
-<    Skim over the contents to find interesting topics. The "Digraphs" and
+<    Skim over the contents to find interesting topics.  The "Digraphs" and
     "Entering special characters" items are in chapter 24, so to go to that
     particular help page: >
 	:help usr_24.txt
diff --git a/runtime/doc/usr_05.txt b/runtime/doc/usr_05.txt
index 21629e3..ca6b910 100644
--- a/runtime/doc/usr_05.txt
+++ b/runtime/doc/usr_05.txt
@@ -1,4 +1,4 @@
-*usr_05.txt*	For Vim version 9.1.  Last change: 2024 Jun 28
+*usr_05.txt*	For Vim version 9.1.  Last change: 2024 Oct 05
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
@@ -446,7 +446,7 @@
 for commenting (which is a well-established mapping in the Vim community).
 
 If you add this line to your vimrc file, then you need to restart Vim to have
-the package loaded. Once the package is loaded, read about it at: >
+the package loaded.  Once the package is loaded, read about it at: >
 	:h comment.txt
 
 
diff --git a/runtime/doc/usr_06.txt b/runtime/doc/usr_06.txt
index 6d76c53..9acd63e 100644
--- a/runtime/doc/usr_06.txt
+++ b/runtime/doc/usr_06.txt
@@ -1,4 +1,4 @@
-*usr_06.txt*	For Vim version 9.1.  Last change: 2021 Nov 07
+*usr_06.txt*	For Vim version 9.1.  Last change: 2024 Oct 05
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
@@ -184,7 +184,7 @@
 	:runtime syntax/colortest.vim
 
 You will see text in various color combinations.  You can check which ones are
-readable and look nice. These aren't the only colors available to you though.
+readable and look nice.  These aren't the only colors available to you though.
 You can specify #rrggbb hex colors and you can define new names for hex
 colors in |v:colornames| like so: >
 
@@ -196,7 +196,7 @@
 	call extend(v:colornames, {'mine_red': '#aa0000'}, 'keep')
 
 This allows users of the color scheme to override the precise definition of
-that color prior to loading your color scheme. For example, in a |.vimrc|
+that color prior to loading your color scheme.  For example, in a |.vimrc|
 file: >
 
 	runtime colors/lists/css_colors.vim
@@ -204,7 +204,7 @@
 	colorscheme yourscheme
 
 As a color scheme author, you should be able to rely on some color names for
-GUI colors. These are defined in `colors/lists/default.vim`. All such files
+GUI colors.  These are defined in `colors/lists/default.vim`.  All such files
 found on the |'runtimepath'| are loaded each time the colorscheme command is
 run. A canonical list is provided by the vim distribution, which should
 include all X11 colors (previously defined in rgb.txt).
diff --git a/runtime/doc/usr_22.txt b/runtime/doc/usr_22.txt
index 57862ed..0220893 100644
--- a/runtime/doc/usr_22.txt
+++ b/runtime/doc/usr_22.txt
@@ -1,4 +1,4 @@
-*usr_22.txt*	For Vim version 9.1.  Last change: 2020 Mar 28
+*usr_22.txt*	For Vim version 9.1.  Last change: 2024 Oct 05
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
@@ -41,8 +41,8 @@
 Makefile ~
 autocmd.txt ~
 change.txt ~
-eval.txt~ ~
-filetype.txt~ ~
+eval.txt ~
+filetype.txt ~
 help.txt.info ~
 
 You can see these items:
@@ -214,11 +214,11 @@
 TAB LOCAL DIRECTORY
 
 When you open a new tab page, it uses the directory of the window in the
-previous tab page from which the new tab page was opened. You can change the
-directory of the current tab page using the `:tcd` command. All the windows in
+previous tab page from which the new tab page was opened.  You can change the
+directory of the current tab page using the `:tcd` command.  All the windows in
 a tab page share this directory except for windows with a window-local
-directory. Any new windows opened in this tab page will use this directory as
-the current working directory. Using a `:cd` command in a tab page will not
+directory.  Any new windows opened in this tab page will use this directory as
+the current working directory.  Using a `:cd` command in a tab page will not
 change the working directory of tab pages which have a tab local directory.
 When the global working directory is changed using the `:cd` command in a tab
 page, it will also change the current tab page working directory.
diff --git a/runtime/doc/usr_41.txt b/runtime/doc/usr_41.txt
index 27df85a..123dcbb 100644
--- a/runtime/doc/usr_41.txt
+++ b/runtime/doc/usr_41.txt
@@ -1,4 +1,4 @@
-*usr_41.txt*	For Vim version 9.1.  Last change: 2024 Sep 23
+*usr_41.txt*	For Vim version 9.1.  Last change: 2024 Oct 05
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
@@ -30,13 +30,13 @@
 *41.1*	Introduction				*vim-script-intro* *script*
 
 Let's start with some nomenclature. A Vim script is any file that Vim can
-interpret and execute. This includes files written in Vim's scripting language
+interpret and execute.  This includes files written in Vim's scripting language
 like for example .vim files or configuration files like .vimrc and .gvimrc.
 These scripts may define functions, commands and settings that Vim uses to
 customize and extend its behavior.
 
 With a slight abuse of nomenclature, we will use "Vim script" to refer to the
-Vim scripting language throughout this documentation. This shorthand helps to
+Vim scripting language throughout this documentation.  This shorthand helps to
 streamline explanations and discussions about scripting with Vim.
 
 A Vim plugin is a collection of one or more Vim scripts, along with additional
diff --git a/runtime/doc/usr_43.txt b/runtime/doc/usr_43.txt
index 41b08de..82baffa 100644
--- a/runtime/doc/usr_43.txt
+++ b/runtime/doc/usr_43.txt
@@ -1,4 +1,4 @@
-*usr_43.txt*	For Vim version 9.1.  Last change: 2015 Oct 23
+*usr_43.txt*	For Vim version 9.1.  Last change: 2024 Oct 05
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
@@ -63,7 +63,7 @@
 
 The line to set b:undo_ftplugin is for when the filetype is set to another
 value.  In that case you will want to undo your preferences.  The
-b:undo_ftplugin variable is executed as a command. Watch out for characters
+b:undo_ftplugin variable is executed as a command.  Watch out for characters
 with a special meaning inside a string, such as a backslash.
 
 You can find examples for filetype plugins in this directory: >
