Update runtime files
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index 2bd953a..d072f34 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 Oct 20
+*eval.txt*	For Vim version 8.2.  Last change: 2021 Nov 07
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -1865,7 +1865,7 @@
 			\ 'mauve': '#915f6d,
 			\ }, 'keep')
 <
-		Using |extend| with the 'keep' option updates each color only
+		Using |extend()| with the 'keep' option updates each color only
 		if it did not exist in |v:colornames|. Doing so allows the
 		user to choose the precise color value for a common name
 		by setting it in their |.vimrc|.
@@ -1873,7 +1873,7 @@
 		It is possible to remove entries from this dictionary but
 		doing so is *NOT* recommended. Doing so is disruptive to
 		other scripts. It is also unlikely to achieve the desired
-		result because the |colorscheme| and |highlight| commands will
+		result because the |:colorscheme| and |:highlight| commands will
 		both automatically load all `colors/lists/default.vim` color
 		scripts.
 
@@ -2290,6 +2290,21 @@
 <		"shell_error" also works, for backwards compatibility, unless
 		|scriptversion| is 3 or higher.
 
+					*v:sizeofint* *sizeofint-variable*
+v:sizeofint	Number of bytes in an int.  Depends on how Vim was compiled.
+		This is only useful for deciding whether a test will give the
+		expected result.
+
+					*v:sizeoflong* *sizeoflong-variable*
+v:sizeoflong	Number of bytes in a long.  Depends on how Vim was compiled.
+		This is only useful for deciding whether a test will give the
+		expected result.
+
+				*v:sizeofpointer* *sizeofpointer-variable*
+v:sizeofpointer	Number of bytes in a pointer.  Depends on how Vim was compiled.
+		This is only useful for deciding whether a test will give the
+		expected result.
+
 					*v:statusmsg* *statusmsg-variable*
 v:statusmsg	Last given status message.  It's allowed to set this variable.
 
@@ -4967,6 +4982,9 @@
 			:echo flatten([1, [2, [3, 4]], 5], 1)
 <			[1, 2, [3, 4], 5]
 
+		Can also be used as a |method|: >
+			mylist->flatten()
+<
 flattennew({list} [, {maxdepth}])			*flattennew()*
 		Like |flatten()| but first make a copy of {list}.
 
@@ -5644,7 +5662,7 @@
 		buffer		buffer names
 		behave		:behave suboptions
 		color		color schemes
-		command		Ex command (and arguments)
+		command		Ex command
 		cmdline		|cmdline-completion| result
 		compiler	compilers
 		cscope		|:cscope| suboptions
@@ -7772,6 +7790,7 @@
 		further down in the text.
 
 		Can also be used as a |method|: >
+			GetText()->match('word')
 			GetList()->match('word')
 <
 				*matchadd()* *E798* *E799* *E801* *E957*
@@ -8008,8 +8027,10 @@
 <		Results in: ['acd', 'a', '', 'c', 'd', '', '', '', '', '']
 		When there is no match an empty list is returned.
 
+		You can pass in a List, but that is not very useful.
+
 		Can also be used as a |method|: >
-			GetList()->matchlist('word')
+			GetText()->matchlist('word')
 
 matchstr({expr}, {pat} [, {start} [, {count}]])			*matchstr()*
 		Same as |match()|, but return the matched string.  Example: >
@@ -9543,7 +9564,9 @@
 						|getpos()|
 						(default: cursor's position)
 
-
+		Can also be used as a |method|: >
+			GetSearchOpts()->searchcount()
+<
 searchdecl({name} [, {global} [, {thisblock}]])			*searchdecl()*
 		Search for the declaration of {name}.
 
@@ -10207,7 +10230,7 @@
 
 		Can also be used as a |method|, the base is passed as the
 		fourth argument: >
-			GetValue()->settabvar(tab, winnr, name)
+			GetValue()->settabwinvar(tab, winnr, name)
 
 settagstack({nr}, {dict} [, {action}])			*settagstack()*
 		Modify the tag stack of the window {nr} using {dict}.
@@ -10464,6 +10487,10 @@
 <
 sound_clear()						*sound_clear()*
 		Stop playing all sounds.
+
+		On some Linux systems you may need the libcanberra-pulse
+		package, otherwise sound may not stop.
+
 		{only available when compiled with the |+sound| feature}
 
 							*sound_playevent()*
@@ -10516,6 +10543,9 @@
 		Stop playing sound {id}.  {id} must be previously returned by
 		`sound_playevent()` or `sound_playfile()`.
 
+		On some Linux systems you may need the libcanberra-pulse
+		package, otherwise sound may not stop.
+
 		On MS-Windows, this does not work for event sound started by
 		`sound_playevent()`. To stop event sounds, use `sound_clear()`.
 
@@ -10955,10 +10985,12 @@
 		  :echo strftime("%c", strptime("%Y%m%d%H%M%S", "19970427115355") + 3600)
 <		  Sun Apr 27 12:53:55 1997
 
+		Can also be used as a |method|: >
+			GetFormat()->strptime(timestring)
+<
 		Not available on all systems.  To check use: >
 			:if exists("*strptime")
 
-
 strridx({haystack}, {needle} [, {start}])			*strridx()*
 		The result is a Number, which gives the byte index in
 		{haystack} of the last occurrence of the String {needle}.
@@ -11227,10 +11259,10 @@
 		valid positions.
 
 system({expr} [, {input}])				*system()* *E677*
-		Get the output of the shell command {expr} as a string.  See
+		Get the output of the shell command {expr} as a |String|.  See
 		|systemlist()| to get the output as a |List|.
 
-		When {input} is given and is a string this string is written
+		When {input} is given and is a |String| this string is written
 		to a file and passed as stdin to the command.  The string is
 		written as-is, you need to take care of using the correct line
 		separators yourself.
@@ -11910,7 +11942,9 @@
 		popup window then 'buftype' is "terminal" and win_gettype()
 		returns "popup".
 
-
+		Can also be used as a |method|: >
+			GetWinid()->win_gettype()
+<
 win_gotoid({expr})					*win_gotoid()*
 		Go to window with ID {expr}.  This may also change the current
 		tabpage.
diff --git a/runtime/doc/gui_w32.txt b/runtime/doc/gui_w32.txt
index 227d0a2..e434286 100644
--- a/runtime/doc/gui_w32.txt
+++ b/runtime/doc/gui_w32.txt
@@ -1,4 +1,4 @@
-*gui_w32.txt*   For Vim version 8.2.  Last change: 2021 Apr 05
+*gui_w32.txt*   For Vim version 8.2.  Last change: 2021 Oct 24
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
diff --git a/runtime/doc/indent.txt b/runtime/doc/indent.txt
index 6a2dd51..87bbd48 100644
--- a/runtime/doc/indent.txt
+++ b/runtime/doc/indent.txt
@@ -608,26 +608,25 @@
 Clojure indentation differs somewhat from traditional Lisps, due in part to
 the use of square and curly brackets, and otherwise by community convention.
 These conventions are not universally followed, so the Clojure indent script
-offers a few configurable options, listed below.
+offers a few configuration options.
 
-If the current vim does not include searchpairpos(), the indent script falls
-back to normal 'lisp' indenting, and the following options are ignored.
+(If the current Vim does not include |searchpairpos()|, the indent script falls
+back to normal 'lisp' indenting, and the following options are ignored.)
+
 
 							*g:clojure_maxlines*
 
-Set maximum scan distance of searchpairpos(). Larger values trade performance
-for correctness when dealing with very long forms. A value of 0 will scan
-without limits.
->
-	" Default
-	let g:clojure_maxlines = 100
-<
+Sets maximum scan distance of `searchpairpos()`.  Larger values trade
+performance for correctness when dealing with very long forms.  A value of
+0 will scan without limits.  The default is 300.
+
+
 						*g:clojure_fuzzy_indent*
 					*g:clojure_fuzzy_indent_patterns*
 					*g:clojure_fuzzy_indent_blacklist*
 
 The 'lispwords' option is a list of comma-separated words that mark special
-forms whose subforms must be indented with two spaces.
+forms whose subforms should be indented with two spaces.
 
 For example:
 >
@@ -645,15 +644,11 @@
 	let g:clojure_fuzzy_indent_patterns = ['^with', '^def', '^let']
 	let g:clojure_fuzzy_indent_blacklist =
 		\ ['-fn$', '\v^with-%(meta|out-str|loading-context)$']
-
-	" Legacy comma-delimited string version; the list format above is
-	" recommended. Note that patterns are implicitly anchored with ^ and $
-	let g:clojure_fuzzy_indent_patterns = 'with.*,def.*,let.*'
 <
 |g:clojure_fuzzy_indent_patterns| and |g:clojure_fuzzy_indent_blacklist| are
-|Lists| of patterns that will be matched against the unquoted, unqualified
-symbol at the head of a list. This means that a pattern like "^foo" will match
-all these candidates: "foobar", "my.ns/foobar", and "#'foobar".
+lists of patterns that will be matched against the unqualified symbol at the
+head of a list.  This means that a pattern like `"^foo"` will match all these
+candidates: `foobar`, `my.ns/foobar`, and `#'foobar`.
 
 Each candidate word is tested for special treatment in this order:
 
@@ -664,20 +659,22 @@
 	   |g:clojure_fuzzy_indent_patterns|
 	4. Return false and indent normally otherwise
 
+
 					*g:clojure_special_indent_words*
 
-Some forms in Clojure are indented so that every subform is indented only two
-spaces, regardless of 'lispwords'. If you have a custom construct that should
-be indented in this idiosyncratic fashion, you can add your symbols to the
-default list below.
+Some forms in Clojure are indented such that every subform is indented by only
+two spaces, regardless of 'lispwords'.  If you have a custom construct that
+should be indented in this idiosyncratic fashion, you can add your symbols to
+the default list below.
 >
 	" Default
 	let g:clojure_special_indent_words =
 	   \ 'deftype,defrecord,reify,proxy,extend-type,extend-protocol,letfn'
 <
+
 					*g:clojure_align_multiline_strings*
 
-Align subsequent lines in multiline strings to the column after the opening
+Align subsequent lines in multi-line strings to the column after the opening
 quote, instead of the same column.
 
 For example:
@@ -694,11 +691,7 @@
 	   enim ad minim veniam, quis nostrud exercitation ullamco laboris
 	   nisi ut aliquip ex ea commodo consequat.")
 <
-This option is off by default.
->
-	" Default
-	let g:clojure_align_multiline_strings = 0
-<
+
 						*g:clojure_align_subforms*
 
 By default, parenthesized compound forms that look like function calls and
@@ -709,18 +702,14 @@
 	  bar
 	  baz)
 <
-Setting this option changes this behavior so that all subforms are aligned to
-the same column, emulating the default behavior of clojure-mode.el:
+Setting this option to `1` changes this behaviour so that all subforms are
+aligned to the same column, emulating the default behaviour of
+clojure-mode.el:
 >
 	(foo
 	 bar
 	 baz)
 <
-This option is off by default.
->
-	" Default
-	let g:clojure_align_subforms = 0
-<
 
 FORTRAN							*ft-fortran-indent*
 
diff --git a/runtime/doc/insert.txt b/runtime/doc/insert.txt
index 7d21893..230afb1 100644
--- a/runtime/doc/insert.txt
+++ b/runtime/doc/insert.txt
@@ -1,4 +1,4 @@
-*insert.txt*    For Vim version 8.2.  Last change: 2021 Oct 18
+*insert.txt*    For Vim version 8.2.  Last change: 2021 Oct 24
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -871,31 +871,27 @@
 Here is an example that uses the "aiksaurus" command (provided by Magnus
 Groß): >
 
-	func Thesaur(findstart, base)
-	    if a:findstart
-		let line = getline('.')
-		let start = col('.') - 1
-		while start > 0 && line[start - 1] =~ '\a'
-		   let start -= 1
-		endwhile
-		return start
-	    else
-		let res = []
-		let h = ''
-		for l in split(system('aiksaurus '.shellescape(a:base)), '\n')
-		    if l[:3] == '=== '
-		    	let h = substitute(l[4:], ' =*$', '', '')
-		    elseif l[0] =~ '\a'
-			call extend(res, map(split(l, ', '), {_, val -> {'word': val, 'menu': '('.h.')'}}))
-		    endif
-		endfor
-		return res
-	    endif
-	endfunc
-
-	if exists('+thesaurusfunc')
-	    set thesaurusfunc=Thesaur
+    func Thesaur(findstart, base)
+      if a:findstart
+    	return searchpos('\<', 'bnW', line('.'))[1] - 1
+      endif
+      let res = []
+      let h = ''
+      for l in systemlist('aiksaurus '.shellescape(a:base))
+	if l[:3] == '=== '
+	  let h = '('.substitute(l[4:], ' =*$', ')', '')
+	elseif l ==# 'Alphabetically similar known words are: '
+	  let h = "\U0001f52e"
+	elseif l[0] =~ '\a' || (h ==# "\U0001f52e" && l[0] ==# "\t")
+	  call extend(res, map(split(substitute(l, '^\t', '', ''), ', '), {_, val -> {'word': val, 'menu': h}}))
 	endif
+      endfor
+      return res
+    endfunc
+    
+    if exists('+thesaurusfunc')
+      set thesaurusfunc=Thesaur
+    endif
 
 
 Completing keywords in the current and included files	*compl-keyword*
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index f210d31..cf953c1 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -1,4 +1,4 @@
-*options.txt*	For Vim version 8.2.  Last change: 2021 Oct 20
+*options.txt*	For Vim version 8.2.  Last change: 2021 Nov 06
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -1420,6 +1420,8 @@
 	Also see |win_gettype()|, which returns the type of the window.
 
 	Be careful with changing this option, it can have many side effects!
+	One such effect is that Vim will not check the timestamp of the file,
+	if the file is changed by another program this will not be noticed.
 
 	A "quickfix" buffer is only used for the error list and the location
 	list.  This value is set by the |:cwindow| and |:lwindow| commands and
@@ -4906,9 +4908,10 @@
 						*'list'* *'nolist'*
 'list'			boolean	(default off)
 			local to window
-	List mode: Show tabs as CTRL-I is displayed, display $ after end of
-	line.  Useful to see the difference between tabs and spaces and for
-	trailing blanks.  Further changed by the 'listchars' option.
+	List mode: By default show tabs as CTRL-I is displayed, display $
+	after end of line.  Useful to see the difference between tabs and
+	spaces and for trailing blanks.  Further changed by the 'listchars'
+	option.
 
 	The cursor is displayed at the start of the space a Tab character
 	occupies, not at the end as usual in Normal mode.  To get this cursor
diff --git a/runtime/doc/syntax.txt b/runtime/doc/syntax.txt
index 9d4ea39..0e85475 100644
--- a/runtime/doc/syntax.txt
+++ b/runtime/doc/syntax.txt
@@ -1,4 +1,4 @@
-*syntax.txt*	For Vim version 8.2.  Last change: 2021 Aug 16
+*syntax.txt*	For Vim version 8.2.  Last change: 2021 Nov 07
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -1081,33 +1081,47 @@
 
 CLOJURE							*ft-clojure-syntax*
 
-The default syntax groups can be augmented through the
-*g:clojure_syntax_keywords* and *b:clojure_syntax_keywords* variables. The
-value should be a |Dictionary| of syntax group names to a |List| of custom
-identifiers:
+						*g:clojure_syntax_keywords*
+
+Syntax highlighting of public vars in "clojure.core" is provided by default,
+but additional symbols can be highlighted by adding them to the
+|g:clojure_syntax_keywords| variable.  The value should be a |Dictionary| of
+syntax group names, each containing a |List| of identifiers.
 >
 	let g:clojure_syntax_keywords = {
-	    \ 'clojureMacro': ["defproject", "defcustom"],
-	    \ 'clojureFunc': ["string/join", "string/replace"]
+	    \   'clojureMacro': ["defproject", "defcustom"],
+	    \   'clojureFunc': ["string/join", "string/replace"]
 	    \ }
 <
 Refer to the Clojure syntax script for valid syntax group names.
 
-If the |buffer-variable| *b:clojure_syntax_without_core_keywords* is set, only
-language constants and special forms are matched.
+There is also *b:clojure_syntax_keywords* which is a buffer-local variant of
+this variable intended for use by plugin authors to highlight symbols
+dynamically.
 
-Setting *g:clojure_fold* enables folding Clojure code via the syntax engine.
-Any list, vector, or map that extends over more than one line can be folded
-using the standard Vim |fold-commands|.
+By setting the *b:clojure_syntax_without_core_keywords* variable, vars from
+"clojure.core" will not be highlighted by default.  This is useful for
+namespaces that have set `(:refer-clojure :only [])`
 
-Please note that this option does not work with scripts that redefine the
-bracket syntax regions, such as rainbow-parentheses plugins.
 
-This option is off by default.
+							*g:clojure_fold*
+
+Setting |g:clojure_fold| to `1` will enable the folding of Clojure code.  Any
+list, vector or map that extends over more than one line can be folded using
+the standard Vim |fold-commands|.
+
+
+						*g:clojure_discard_macro*
+
+Set this variable to `1` to enable basic highlighting of Clojure's "discard
+reader macro".
 >
-	" Default
-	let g:clojure_fold = 0
+	#_(defn foo [x]
+	    (println x))
 <
+Note that this option will not correctly highlight stacked discard macros
+(e.g. `#_#_`).
+
 
 COBOL						*cobol.vim* *ft-cobol-syntax*
 
@@ -1673,16 +1687,6 @@
   :au! BufNewFile,BufRead /etc/X11/fvwm2/*  let b:fvwm_version = 2 |
 					 \ set filetype=fvwm
 
-If you'd like Vim to highlight all valid color names, tell it where to
-find the color database (rgb.txt) on your system.  Do this by setting
-"rgb_file" to its location.  Assuming your color database is located
-in /usr/X11/lib/X11/, you should add the line >
-
-	:let rgb_file = "/usr/X11/lib/X11/rgb.txt"
-
-to your .vimrc file.
-
-
 GSP						*gsp.vim* *ft-gsp-syntax*
 
 The default coloring style for GSP pages is defined by |html.vim|, and
@@ -4830,16 +4834,28 @@
 			Doesn't work recursively, thus you can't use
 			":colorscheme" in a color scheme script.
 
-			To customize a color scheme use another name, e.g.
+			You have two options for customizing a color scheme.
+			For changing the appearance of specific colors, you
+			can redefine a color name before loading the scheme.
+			The desert scheme uses the khaki color for the cursor.
+			To use a darker variation of the same color: >
+
+				let v:colornames['khaki'] = '#bdb76b'
+				colorscheme desert
+<
+			For further customization, such as changing
+			|:highlight-link| associations, use another name, e.g.
 			"~/.vim/colors/mine.vim", and use `:runtime` to load
 			the original color scheme: >
 				runtime colors/evening.vim
 				hi Statement ctermfg=Blue guifg=Blue
 
-<			Before the color scheme will be loaded the
-			|ColorSchemePre| autocommand event is triggered.
-			After the color scheme has been loaded the
-			|ColorScheme| autocommand event is triggered.
+<			Before the color scheme will be loaded all default
+			color list scripts (`colors/lists/default.vim`) will
+			be executed and then the |ColorSchemePre| autocommand
+			event is triggered.  After the color scheme has been
+			loaded the |ColorScheme| autocommand event is
+			triggered.
 			For info about writing a color scheme file: >
 				:edit $VIMRUNTIME/colors/README.txt
 
@@ -4863,7 +4879,9 @@
 
 :hi[ghlight] [default] {group-name} {key}={arg} ..
 			Add a highlight group, or change the highlighting for
-			an existing group.
+			an existing group. If a given color name is not
+			receognized, each `colors/lists/default.vim` found on
+			|'runtimepath'| will be loaded.
 			See |highlight-args| for the {key}={arg} arguments.
 			See |:highlight-default| for the optional [default]
 			argument.
diff --git a/runtime/doc/tags b/runtime/doc/tags
index e522fe8..442f6a2 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -3997,6 +3997,7 @@
 E1239	eval.txt	/*E1239*
 E124	eval.txt	/*E124*
 E1243	options.txt	/*E1243*
+E1244	message.txt	/*E1244*
 E125	eval.txt	/*E125*
 E126	eval.txt	/*E126*
 E127	eval.txt	/*E127*
@@ -5035,6 +5036,7 @@
 N<Del>	various.txt	/*N<Del>*
 NFA	pattern.txt	/*NFA*
 NL-used-for-Nul	pattern.txt	/*NL-used-for-Nul*
+NOT	eval.txt	/*NOT*
 Neovim	intro.txt	/*Neovim*
 NetBSD-backspace	options.txt	/*NetBSD-backspace*
 NetBeans	netbeans.txt	/*NetBeans*
@@ -6791,6 +6793,7 @@
 g:ada_withuse_ordinary	ft_ada.txt	/*g:ada_withuse_ordinary*
 g:clojure_align_multiline_strings	indent.txt	/*g:clojure_align_multiline_strings*
 g:clojure_align_subforms	indent.txt	/*g:clojure_align_subforms*
+g:clojure_discard_macro	syntax.txt	/*g:clojure_discard_macro*
 g:clojure_fold	syntax.txt	/*g:clojure_fold*
 g:clojure_fuzzy_indent	indent.txt	/*g:clojure_fuzzy_indent*
 g:clojure_fuzzy_indent_blacklist	indent.txt	/*g:clojure_fuzzy_indent_blacklist*
@@ -7282,6 +7285,7 @@
 hidden-quit	windows.txt	/*hidden-quit*
 highlight-args	syntax.txt	/*highlight-args*
 highlight-changed	version4.txt	/*highlight-changed*
+highlight-clear	syntax.txt	/*highlight-clear*
 highlight-cterm	syntax.txt	/*highlight-cterm*
 highlight-ctermbg	syntax.txt	/*highlight-ctermbg*
 highlight-ctermfg	syntax.txt	/*highlight-ctermfg*
@@ -7375,7 +7379,9 @@
 hl-debugPC	terminal.txt	/*hl-debugPC*
 hlID()	eval.txt	/*hlID()*
 hlexists()	eval.txt	/*hlexists()*
+hlget()	eval.txt	/*hlget()*
 hlsearch-variable	eval.txt	/*hlsearch-variable*
+hlset()	eval.txt	/*hlset()*
 holy-grail	index.txt	/*holy-grail*
 home	intro.txt	/*home*
 home-replace	editing.txt	/*home-replace*
@@ -8935,6 +8941,7 @@
 save-settings	starting.txt	/*save-settings*
 scheme.vim	syntax.txt	/*scheme.vim*
 scp	pi_netrw.txt	/*scp*
+scratch-buffer	windows.txt	/*scratch-buffer*
 screenattr()	eval.txt	/*screenattr()*
 screenchar()	eval.txt	/*screenchar()*
 screenchars()	eval.txt	/*screenchars()*
@@ -9062,6 +9069,9 @@
 sin()	eval.txt	/*sin()*
 single-repeat	repeat.txt	/*single-repeat*
 sinh()	eval.txt	/*sinh()*
+sizeofint-variable	eval.txt	/*sizeofint-variable*
+sizeoflong-variable	eval.txt	/*sizeoflong-variable*
+sizeofpointer-variable	eval.txt	/*sizeofpointer-variable*
 skeleton	autocmd.txt	/*skeleton*
 skip_defaults_vim	starting.txt	/*skip_defaults_vim*
 slice	eval.txt	/*slice*
@@ -9938,6 +9948,7 @@
 v:cmdarg	eval.txt	/*v:cmdarg*
 v:cmdbang	eval.txt	/*v:cmdbang*
 v:collate	eval.txt	/*v:collate*
+v:colornames	eval.txt	/*v:colornames*
 v:completed_item	eval.txt	/*v:completed_item*
 v:count	eval.txt	/*v:count*
 v:count1	eval.txt	/*v:count1*
@@ -9993,6 +10004,9 @@
 v:searchforward	eval.txt	/*v:searchforward*
 v:servername	eval.txt	/*v:servername*
 v:shell_error	eval.txt	/*v:shell_error*
+v:sizeofint	eval.txt	/*v:sizeofint*
+v:sizeoflong	eval.txt	/*v:sizeoflong*
+v:sizeofpointer	eval.txt	/*v:sizeofpointer*
 v:statusmsg	eval.txt	/*v:statusmsg*
 v:swapchoice	eval.txt	/*v:swapchoice*
 v:swapcommand	eval.txt	/*v:swapcommand*
diff --git a/runtime/doc/tips.txt b/runtime/doc/tips.txt
index af78965..5d6008c 100644
--- a/runtime/doc/tips.txt
+++ b/runtime/doc/tips.txt
@@ -1,4 +1,4 @@
-*tips.txt*      For Vim version 8.2.  Last change: 2020 Dec 29
+*tips.txt*      For Vim version 8.2.  Last change: 2021 Nov 06
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -549,6 +549,7 @@
 	  endif
 	  if !getcompletion(a:subject, 'help')->empty()
 	    execute mods .. ' edit ' .. &helpfile
+	    set buftype=help
 	  endif
 	  return 'help ' .. a:subject
 	endfunction
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index 80310f2..9e73d37 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 Oct 16
+*todo.txt*      For Vim version 8.2.  Last change: 2021 Nov 04
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -38,6 +38,10 @@
 							*known-bugs*
 -------------------- Known bugs and current work -----------------------
 
+mark ends up on last byte of char. (#9047)
+
+Delete runtime/rgb.txt after a while
+
 Vim9 - Make everything work:
 - "filter #pat# ls" should work, #pat# is not a comment
     vim9script
@@ -271,12 +275,13 @@
 Request to use "." for the cursor column in search pattern \%<.c and \%<.v.
 (#8179)
 
+Remove SPACE_IN_FILENAME ? It is only used for completion.
+
 Adding "10" to 'spellsuggest' causes spell suggestions to become very slow.
 (#4087)  Did patch 8.2.2379 help?
 Also, z= in German on a long word can take a very long time, but CTRL-C to
 interrupt does not work. Where to add ui_breakcheck()?
-
-Remove SPACE_IN_FILENAME ? It is only used for completion.
+New English spell files also have very slow suggestions.
 
 Searching for \%'> does not find anything when using line Visual selection.
 Probably because it's using MAXCOL.  #8238
@@ -4161,6 +4166,9 @@
 
 
 Syntax highlighting:
+    Long term goal: faster, better, etc.  Options:
+    - use treesitter, NeoVim uses it
+    - use TextMate, vscode uses it.  #9087
 8   Make ":syn off" use 'runtimepath' instead of $VIMRUNTIME. (Gary Johnson)
     Should do the same for ":syn on" and ":syn manual".
 8   Support "containedin" argument for ":syn include", so that the defined
diff --git a/runtime/doc/usr_06.txt b/runtime/doc/usr_06.txt
index 2cf672e..aefe45b 100644
--- a/runtime/doc/usr_06.txt
+++ b/runtime/doc/usr_06.txt
@@ -1,4 +1,4 @@
-*usr_06.txt*	For Vim version 8.2.  Last change: 2019 Jun 01
+*usr_06.txt*	For Vim version 8.2.  Last change: 2021 Nov 07
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
@@ -205,7 +205,7 @@
 
 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
-found on the |runtimepath| are loaded each time the colorscheme command is
+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).