Update runtime files
diff --git a/runtime/doc/autocmd.txt b/runtime/doc/autocmd.txt
index 4d18b78..6f7f6c6 100644
--- a/runtime/doc/autocmd.txt
+++ b/runtime/doc/autocmd.txt
@@ -1,4 +1,4 @@
-*autocmd.txt*   For Vim version 8.2.  Last change: 2021 Aug 01
+*autocmd.txt*   For Vim version 8.2.  Last change: 2021 Oct 04
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -940,7 +940,7 @@
 				have the value of new_mode when the event was
 				last triggered.
 				Usage example to use relative line numbers
-				when entering visual mode: >
+				when entering Visual mode: >
 	:autocmd ModeChanged *:v set relativenumber
 <							*OptionSet*
 OptionSet			After setting an option.  The pattern is
@@ -1502,6 +1502,13 @@
 This prevents having the autocommands defined twice (e.g., after sourcing the
 .vimrc file again).
 
+						*FileExplorer*
+There is one group that is recognized by Vim: FileExplorer.  If this group
+exists Vim assumes that editing a directory is possible and will trigger a
+plugin that lists the files in that directory.  This is used by the |netrw|
+plugin.  This allows you to do: >
+	browse edit
+
 ==============================================================================
 9. Executing autocommands				*autocmd-execute*
 
diff --git a/runtime/doc/editing.txt b/runtime/doc/editing.txt
index 92710d8..858fc42 100644
--- a/runtime/doc/editing.txt
+++ b/runtime/doc/editing.txt
@@ -1,4 +1,4 @@
-*editing.txt*   For Vim version 8.2.  Last change: 2021 Jul 25
+*editing.txt*   For Vim version 8.2.  Last change: 2021 Oct 04
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -1225,7 +1225,9 @@
 			|:diffsplit|, |:diffpatch|, |:open|, |:pedit|,
 			|:redir|, |:source|, |:update|, |:visual|, |:vsplit|,
 			and |:qall| if 'confirm' is set.
-			{only in Win32, Athena, Motif, GTK and Mac GUI}
+			{only in Win32, Athena, Motif, GTK and Mac GUI, in
+			console `browse edit` works if the FileExplorer
+			autocommand group exists}
 			When ":browse" is not possible you get an error
 			message.  If the |+browse| feature is missing or the
 			{command} doesn't support browsing, the {command} is
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index c3d39d5..b966fd9 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1,4 +1,4 @@
-*eval.txt*	For Vim version 8.2.  Last change: 2021 Sep 19
+*eval.txt*	For Vim version 8.2.  Last change: 2021 Oct 04
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -1417,7 +1417,7 @@
 \U....	same as \u but allows up to 8 hex numbers.
 \b	backspace <BS>
 \e	escape <Esc>
-\f	formfeed <FF>
+\f	formfeed 0x0C
 \n	newline <NL>
 \r	return <CR>
 \t	tab <Tab>
@@ -1426,7 +1426,7 @@
 \<xxx>	Special key named "xxx".  e.g. "\<C-W>" for CTRL-W.  This is for use
 	in mappings, the 0x80 byte is escaped.
 	To use the double quote character it must be escaped: "<M-\">".
-	Don't use <Char-xxxx> to get a utf-8 character, use \uxxxx as
+	Don't use <Char-xxxx> to get a UTF-8 character, use \uxxxx as
 	mentioned above.
 \<*xxx>	Like \<xxx> but prepends a modifier instead of including it in the
 	character.  E.g. "\<C-w>" is one character 0x17 while "\<*C-w>" is four
@@ -2516,7 +2516,7 @@
 ch_status({handle} [, {options}])
 				String	status of channel {handle}
 changenr()			Number	current change number
-char2nr({expr} [, {utf8}])	Number	ASCII/UTF8 value of first char in {expr}
+char2nr({expr} [, {utf8}])	Number	ASCII/UTF-8 value of first char in {expr}
 charclass({string})		Number	character class of {string}
 charcol({expr})			Number	column number of cursor or mark
 charidx({string}, {idx} [, {countcc}])
@@ -2769,7 +2769,7 @@
 mode([expr])			String	current editing mode
 mzeval({expr})			any	evaluate |MzScheme| expression
 nextnonblank({lnum})		Number	line nr of non-blank line >= {lnum}
-nr2char({expr} [, {utf8}])	String	single char with ASCII/UTF8 value {expr}
+nr2char({expr} [, {utf8}])	String	single char with ASCII/UTF-8 value {expr}
 or({expr}, {expr})		Number	bitwise OR
 pathshorten({expr} [, {len}])	String	shorten directory names in a path
 perleval({expr})		any	evaluate |Perl| expression
@@ -2787,7 +2787,7 @@
 popup_getpos({id})		Dict	get position of popup window {id}
 popup_hide({id})		none	hide popup menu {id}
 popup_list()			List	get a list of window IDs of all popups
-popup_locate({row}, {col})	Number 	get window ID of popup at position
+popup_locate({row}, {col})	Number	get window ID of popup at position
 popup_menu({what}, {options})	Number	create a popup window used as a menu
 popup_move({id}, {options})	none	set position of popup window {id}
 popup_notification({what}, {options})
@@ -2899,7 +2899,7 @@
 setfperm({fname}, {mode})	Number	set {fname} file permissions to {mode}
 setline({lnum}, {line})		Number	set line {lnum} to {line}
 setloclist({nr}, {list} [, {action}])
- 				Number	modify location list using {list}
+				Number	modify location list using {list}
 setloclist({nr}, {list}, {action}, {what})
 				Number	modify specific location list props
 setmatches({list} [, {win}])	Number	restore a list of matches
@@ -2959,7 +2959,7 @@
 state([{what}])			String	current state of Vim
 str2float({expr} [, {quoted}])	Float	convert String to Float
 str2list({expr} [, {utf8}])	List	convert each character of {expr} to
-					ASCII/UTF8 value
+					ASCII/UTF-8 value
 str2nr({expr} [, {base} [, {quoted}]])
 				Number	convert String to Number
 strcharlen({expr})		Number	character length of the String {expr}
@@ -3656,7 +3656,7 @@
 		Example for "utf-8": >
 			char2nr("á")		returns 225
 			char2nr("á"[0])		returns 195
-<		With {utf8} set to TRUE, always treat as utf-8 characters.
+<		When {utf8} is TRUE, always treat as UTF-8 characters.
 		A combining character is a separate character.
 		|nr2char()| does the opposite.
 		To turn a string into a list of character numbers: >
@@ -4283,7 +4283,7 @@
 
 digraph_set({chars}, {digraph})				*digraph_set()* *E1205*
 		Add digraph {chars} to the list.  {chars} must be a string
-		with two characters.  {digraph} is a string with one utf-8
+		with two characters.  {digraph} is a string with one UTF-8
 		encoded character. Be careful, composing characters are NOT
 		ignored.  This function is similar to |:digraphs| command, but
 		useful to add digraphs start with a white space.
@@ -7249,8 +7249,8 @@
 <		|str2list()| does the opposite.
 
 		When {utf8} is omitted or zero, the current 'encoding' is used.
-		With {utf8} is 1, always return utf-8 characters.
-		With utf-8 composing characters work as expected: >
+		When {utf8} is TRUE, always return UTF-8 characters.
+		With UTF-8 composing characters work as expected: >
 			list2str([97, 769])	returns "á"
 <
 		Can also be used as a |method|: >
@@ -7492,7 +7492,7 @@
 		  "lhs"	     The {lhs} of the mapping as it would be typed
 		  "lhsraw"   The {lhs} of the mapping as raw bytes
 		  "lhsrawalt" The {lhs} of the mapping as raw bytes, alternate
-		  	      form, only present when it differs from "lhsraw"
+			      form, only present when it differs from "lhsraw"
 		  "rhs"	     The {rhs} of the mapping as typed.
 		  "silent"   1 for a |:map-silent| mapping, else 0.
 		  "noremap"  1 if the {rhs} of the mapping is not remappable.
@@ -8154,7 +8154,7 @@
 <		When {utf8} is omitted or zero, the current 'encoding' is used.
 		Example for "utf-8": >
 			nr2char(300)		returns I with bow character
-<		With {utf8} set to 1, always return utf-8 characters.
+<		When {utf8} is TRUE, always return UTF-8 characters.
 		Note that a NUL character in the file is specified with
 		nr2char(10), because NULs are represented with newline
 		characters.  nr2char(0) is a real NUL and terminates the
@@ -9635,7 +9635,7 @@
 		tells Vim how wide characters are, counted in screen cells.
 		This overrides 'ambiwidth'.  Example: >
 		   setcellwidths([[0xad, 0xad, 1],
-		   		\ [0x2194, 0x2199, 2]])
+				\ [0x2194, 0x2199, 2]])
 
 <					*E1109* *E1110* *E1111* *E1112* *E1113*
 		The {list} argument is a list of lists with each three
@@ -10549,7 +10549,7 @@
 		    w	blocked on waiting, e.g. ch_evalexpr(), ch_read() and
 			ch_readraw() when reading json
 		    S	not triggering SafeState or SafeStateAgain, e.g. after
-		    	|f| or a count
+			|f| or a count
 		    c	callback invoked, including timer (repeats for
 			recursiveness up to "ccc")
 		    s	screen has scrolled for messages
@@ -10584,8 +10584,8 @@
 <		|list2str()| does the opposite.
 
 		When {utf8} is omitted or zero, the current 'encoding' is used.
-		With {utf8} set to 1, always treat the String as utf-8
-		characters.  With utf-8 composing characters are handled
+		When {utf8} is TRUE, always treat the String as UTF-8
+		characters.  With UTF-8 composing characters are handled
 		properly: >
 			str2list("á")		returns [97, 769]
 
@@ -13120,7 +13120,7 @@
 			literal then the items also cannot be changed: >
 				const ll = [1, 2, 3]
 				let ll[1] = 5  " Error!
-< 			Nested references are not locked: >
+<			Nested references are not locked: >
 				let lvar = ['a']
 				const lconst = [0, lvar]
 				let lconst[0] = 2  " Error!
@@ -13174,8 +13174,8 @@
 			Example with [depth] 0: >
 				let mylist = [1, 2, 3]
 				lockvar 0 mylist
-				let mylist[0] = 77   	" OK
-				call add(mylist, 4]  	" OK
+				let mylist[0] = 77	" OK
+				call add(mylist, 4]	" OK
 				let mylist = [7, 8, 9]  " Error!
 <								*E743*
 			For unlimited depth use [!] and omit [depth].
diff --git a/runtime/doc/filetype.txt b/runtime/doc/filetype.txt
index a47fed1..38622a4 100644
--- a/runtime/doc/filetype.txt
+++ b/runtime/doc/filetype.txt
@@ -1,4 +1,4 @@
-*filetype.txt*  For Vim version 8.2.  Last change: 2021 Mar 11
+*filetype.txt*  For Vim version 8.2.  Last change: 2021 Sep 22
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -545,7 +545,7 @@
 in the preview window.  It is equivalent to calling "git diff --cached" plus
 any arguments given to the command.
 
-GPROF
+GPROF							*ft-gprof-plugin*
 
 The gprof filetype plugin defines a mapping <C-]> to jump from a function
 entry in the gprof flat profile or from a function entry in the call graph
diff --git a/runtime/doc/intro.txt b/runtime/doc/intro.txt
index 7d68399..543b2a3 100644
--- a/runtime/doc/intro.txt
+++ b/runtime/doc/intro.txt
@@ -1,4 +1,4 @@
-*intro.txt*     For Vim version 8.2.  Last change: 2020 Dec 29
+*intro.txt*     For Vim version 8.2.  Last change: 2021 Sep 29
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -421,7 +421,6 @@
 <Tab>		tab			CTRL-I	  9	*tab* *Tab*
 							*linefeed*
 <NL>		linefeed		CTRL-J	 10 (used for <Nul>)
-<FF>		formfeed		CTRL-L	 12	*formfeed*
 <CR>		carriage return		CTRL-M	 13	*carriage-return*
 <Return>	same as <CR>				*<Return>*
 <Enter>		same as <CR>				*<Enter>*
diff --git a/runtime/doc/mbyte.txt b/runtime/doc/mbyte.txt
index 7a5cca3..08c3ac1 100644
--- a/runtime/doc/mbyte.txt
+++ b/runtime/doc/mbyte.txt
@@ -1,4 +1,4 @@
-*mbyte.txt*     For Vim version 8.2.  Last change: 2021 Apr 05
+*mbyte.txt*     For Vim version 8.2.  Last change: 2021 Oct 04
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar et al.
@@ -1132,7 +1132,7 @@
 and what the keymaps are to get those characters:
 
 glyph   encoding	   keymap ~
-Char   utf-8 cp1255  hebrew  hebrewp  name ~
+Char UTF-8 cp1255  hebrew  hebrewp  name ~
 א    0x5d0  0xe0     t	      a     'alef
 ב    0x5d1  0xe1     c	      b     bet
 ג    0x5d2  0xe2     d	      g     gimel
@@ -1185,11 +1185,11 @@
 ױ    0x5f1  0xd5     VY      VY   vav-yod
 ײ    0x5f2  0xd6     YY      YY   yod-yod
 
-The following are only available in utf-8
+The following are only available in UTF-8
 
 Cantillation marks:
 glyph
-Char utf-8 hebrew name
+Char UTF-8 hebrew name
 ב֑    0x591   C:   etnahta
 ב֒    0x592   Cs   segol
 ב֓    0x593   CS   shalshelet
@@ -1300,7 +1300,7 @@
 internally.
 
 Vim has comprehensive UTF-8 support.  It works well in:
-- xterm with utf-8 support enabled
+- xterm with UTF-8 support enabled
 - Athena, Motif and GTK GUI
 - MS-Windows GUI
 - several other platforms
@@ -1313,13 +1313,13 @@
 							*bom-bytes*
 When reading a file a BOM (Byte Order Mark) can be used to recognize the
 Unicode encoding:
-	EF BB BF     utf-8
-	FE FF        utf-16 big endian
-	FF FE        utf-16 little endian
-	00 00 FE FF  utf-32 big endian
-	FF FE 00 00  utf-32 little endian
+	EF BB BF     UTF-8
+	FE FF        UTF-16 big endian
+	FF FE        UTF-16 little endian
+	00 00 FE FF  UTF-32 big endian
+	FF FE 00 00  UTF-32 little endian
 
-Utf-8 is the recommended encoding.  Note that it's difficult to tell utf-16
+UTF-8 is the recommended encoding.  Note that it's difficult to tell utf-16
 and utf-32 apart.  Utf-16 is often used on MS-Windows, utf-32 is not
 widespread as file format.
 
@@ -1365,8 +1365,8 @@
 
 STARTING VIM
 
-If your current locale is in an utf-8 encoding, Vim will automatically start
-in utf-8 mode.
+If your current locale is in an UTF-8 encoding, Vim will automatically start
+in UTF-8 mode.
 
 If you are using another locale: >
 
@@ -1399,10 +1399,10 @@
 TYPING UTF-8						*utf-8-typing*
 
 If you are using X-Windows, you should find an input method that supports
-utf-8.
+UTF-8.
 
-If your system does not provide support for typing utf-8, you can use the
-'keymap' feature.  This allows writing a keymap file, which defines a utf-8
+If your system does not provide support for typing UTF-8, you can use the
+'keymap' feature.  This allows writing a keymap file, which defines a UTF-8
 character as a sequence of ASCII characters.  See |mbyte-keymap|.
 
 Another method is to set the current locale to the language you want to use
diff --git a/runtime/doc/print.txt b/runtime/doc/print.txt
index bbbca1d..aaa004c 100644
--- a/runtime/doc/print.txt
+++ b/runtime/doc/print.txt
@@ -1,4 +1,4 @@
-*print.txt*     For Vim version 8.2.  Last change: 2020 Aug 15
+*print.txt*     For Vim version 8.2.  Last change: 2021 Oct 04
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -717,7 +717,7 @@
 ==============================================================================
 8. Formfeed Characters					*printing-formfeed*
 
-By default Vim does not do any special processing of |formfeed| control
+By default Vim does not do any special processing of formfeed control
 characters.  Setting the 'printoptions' formfeed item will make Vim recognize
 formfeed characters and continue printing the current line at the beginning
 of the first line on a new page.  The use of formfeed characters provides
diff --git a/runtime/doc/tags b/runtime/doc/tags
index eeada79..81df62d 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -4943,6 +4943,7 @@
 FileChangedShell	autocmd.txt	/*FileChangedShell*
 FileChangedShellPost	autocmd.txt	/*FileChangedShellPost*
 FileEncoding	autocmd.txt	/*FileEncoding*
+FileExplorer	autocmd.txt	/*FileExplorer*
 FileReadCmd	autocmd.txt	/*FileReadCmd*
 FileReadPost	autocmd.txt	/*FileReadPost*
 FileReadPre	autocmd.txt	/*FileReadPre*
@@ -6550,7 +6551,6 @@
 format-comments	change.txt	/*format-comments*
 format-formatexpr	change.txt	/*format-formatexpr*
 formatting	change.txt	/*formatting*
-formfeed	intro.txt	/*formfeed*
 fortran.vim	syntax.txt	/*fortran.vim*
 friendship	intro.txt	/*friendship*
 frombook	usr_01.txt	/*frombook*
@@ -6609,6 +6609,7 @@
 ft-fortran-syntax	syntax.txt	/*ft-fortran-syntax*
 ft-fvwm-syntax	syntax.txt	/*ft-fvwm-syntax*
 ft-gitcommit-plugin	filetype.txt	/*ft-gitcommit-plugin*
+ft-gprof-plugin	filetype.txt	/*ft-gprof-plugin*
 ft-groff-syntax	syntax.txt	/*ft-groff-syntax*
 ft-gsp-syntax	syntax.txt	/*ft-gsp-syntax*
 ft-haskell-syntax	syntax.txt	/*ft-haskell-syntax*
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index ffc5d1f..5959de3 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 8.2.  Last change: 2021 Sep 20
+*todo.txt*      For Vim version 8.2.  Last change: 2021 Sep 22
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -429,6 +429,9 @@
 After recovering from a swap file the undofile should not be used, it causes
 corruption.  (#6631)
 
+When the computer crashes while writing the undofile, the contents may be
+lost.  Write to a temp file, fsync and rename. (#8879)
+
 When 'lazyredraw' is set sometimes the title is not updated.
 (Jason Franklin, 2020 Feb 3)  Looks like a race condition.