diff --git a/runtime/doc/indent.txt b/runtime/doc/indent.txt
index d82f742..6e8f35b 100644
--- a/runtime/doc/indent.txt
+++ b/runtime/doc/indent.txt
@@ -1,4 +1,4 @@
-*indent.txt*    For Vim version 8.2.  Last change: 2019 Dec 07
+*indent.txt*    For Vim version 8.2.  Last change: 2022 Jan 31
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -778,6 +778,15 @@
       "auto"	auto indent (same indent as the blocktag)
       "inc"	auto indent + one indent step
 
+You can set the indent for attributes after an open <tag line: >
+
+      :let g:html_indent_attribute = 1
+<
+      VALUE	MEANING ~
+      1		auto indent, one indent step more than <tag
+      2		auto indent, two indent steps (default)
+      > 2	auto indent, more indent steps
+
 Many tags increase the indent for what follows per default (see "Add Indent
 Tags" in the script).  You can add further tags with: >
 
diff --git a/runtime/doc/tags b/runtime/doc/tags
index 15f017d..0016643 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -7779,7 +7779,6 @@
 interfaces-5.2	version5.txt	/*interfaces-5.2*
 internal-variables	eval.txt	/*internal-variables*
 internal-wordlist	spell.txt	/*internal-wordlist*
-internal_get_nv_cmdchar()	builtin.txt	/*internal_get_nv_cmdchar()*
 internet	intro.txt	/*internet*
 interrupt()	builtin.txt	/*interrupt()*
 intro	intro.txt	/*intro*
@@ -9919,10 +9918,7 @@
 test_garbagecollect_now()	testing.txt	/*test_garbagecollect_now()*
 test_garbagecollect_soon()	testing.txt	/*test_garbagecollect_soon()*
 test_getvalue()	testing.txt	/*test_getvalue()*
-test_gui_drop_files()	testing.txt	/*test_gui_drop_files()*
-test_gui_mouse_event()	testing.txt	/*test_gui_mouse_event()*
-test_gui_tabline_event()	testing.txt	/*test_gui_tabline_event()*
-test_gui_tabmenu_event()	testing.txt	/*test_gui_tabmenu_event()*
+test_gui_event()	testing.txt	/*test_gui_event()*
 test_ignore_error()	testing.txt	/*test_ignore_error()*
 test_null_blob()	testing.txt	/*test_null_blob()*
 test_null_channel()	testing.txt	/*test_null_channel()*
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index 6743b64..5861fa8 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 8.2.  Last change: 2022 Jan 29
+*todo.txt*      For Vim version 8.2.  Last change: 2022 Jan 31
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -38,19 +38,16 @@
 							*known-bugs*
 -------------------- Known bugs and current work -----------------------
 
-Only find a global function from Vim9 script when using "g:" ?  #9637
-
-Disallow defining a script#Func() in Vim9 script.
-
 Cannot use command modifier for "import 'name.vim' as vim9"
 
+range() returns list<number>, but it's OK if map() changes the type.
+#9665  Change internal_func_ret_type() to return current and declared type?
+
 When making a copy of a list or dict, do not keep the type? #9644
     With deepcopy() all, with copy() this still fails:
     var l: list<list<number>> = [[1], [2]]
     l->copy()[0][0] = 'x'
 
-Remove EBCDIC support?
-
 Once Vim9 is stable:
 - Add all the error numbers in a good place in documentation.
     done until E1145
diff --git a/runtime/doc/vim9.txt b/runtime/doc/vim9.txt
index 2baf46c..06f8925 100644
--- a/runtime/doc/vim9.txt
+++ b/runtime/doc/vim9.txt
@@ -1,4 +1,4 @@
-*vim9.txt*	For Vim version 8.2.  Last change: 2022 Jan 29
+*vim9.txt*	For Vim version 8.2.  Last change: 2022 Jan 30
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -372,13 +372,12 @@
 	g:global = 'value'
 	var Funcref = g:ThatFunction
 
-Global functions must be prefixed with "g:" when defining them, but can be
-called without "g:". >
+Global functions must be prefixed with "g:": >
 	vim9script
 	def g:GlobalFunc(): string
 	  return 'text'
 	enddef
-	echo GlobalFunc()
+	echo g:GlobalFunc()
 The "g:" prefix is not needed for auto-load functions.
 
 					*vim9-function-defined-later*
@@ -1334,10 +1333,10 @@
 When a type has been declared this is attached to a list or string.  When
 later some expression attempts to change the type an error will be given: >
 	var ll: list<number> = [1, 2, 3]
-	ll->extend('x')  # Error, 'x' is not a number
+	ll->extend(['x'])  # Error, 'x' is not a number
 
 If the type is inferred then the type is allowed to change: >
-	[1, 2, 3]->extend('x')  # result: [1, 2, 3, 'x']
+	[1, 2, 3]->extend(['x'])  # result: [1, 2, 3, 'x']
 
 
 Stricter type checking ~
