diff --git a/runtime/doc/autocmd.txt b/runtime/doc/autocmd.txt
index b1120e9..16bbbf5 100644
--- a/runtime/doc/autocmd.txt
+++ b/runtime/doc/autocmd.txt
@@ -1,4 +1,4 @@
-*autocmd.txt*   For Vim version 8.2.  Last change: 2022 Mar 04
+*autocmd.txt*   For Vim version 8.2.  Last change: 2022 Mar 27
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -690,9 +690,9 @@
 CursorMoved			After the cursor was moved in Normal or Visual
 				mode.  Also when the text of the cursor line
 				has been changed, e.g., with "x", "rx" or "p".
-				Not triggered when there is typeahead, while
-				executing commands in a script file, when
-				an operator is pending or when moving to
+				Not always triggered when there is typeahead,
+				while executing commands in a script file,
+				when an operator is pending or when moving to
 				another window while remaining at the same
 				cursor position.
 				For an example see |match-parens|.
diff --git a/runtime/doc/builtin.txt b/runtime/doc/builtin.txt
index 2d615c5..ba741e2 100644
--- a/runtime/doc/builtin.txt
+++ b/runtime/doc/builtin.txt
@@ -1,4 +1,4 @@
-*builtin.txt*	For Vim version 8.2.  Last change: 2022 Mar 08
+*builtin.txt*	For Vim version 8.2.  Last change: 2022 Mar 26
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -1562,14 +1562,15 @@
 		or another valid interrupt key, confirm() returns 0.
 
 		An example: >
-   :let choice = confirm("What do you want?", "&Apples\n&Oranges\n&Bananas", 2)
-   :if choice == 0
-   :	echo "make up your mind!"
-   :elseif choice == 3
-   :	echo "tasteful"
-   :else
-   :	echo "I prefer bananas myself."
-   :endif
+		   let choice = confirm("What do you want?",
+		   			\ "&Apples\n&Oranges\n&Bananas", 2)
+		   if choice == 0
+		   	echo "make up your mind!"
+		   elseif choice == 3
+		   	echo "tasteful"
+		   else
+		   	echo "I prefer bananas myself."
+		   endif
 <		In a GUI dialog, buttons are used.  The layout of the buttons
 		depends on the 'v' flag in 'guioptions'.  If it is included,
 		the buttons are always put vertically.  Otherwise,  confirm()
diff --git a/runtime/doc/channel.txt b/runtime/doc/channel.txt
index 6edb50b..f112119 100644
--- a/runtime/doc/channel.txt
+++ b/runtime/doc/channel.txt
@@ -1,4 +1,4 @@
-*channel.txt*      For Vim version 8.2.  Last change: 2022 Feb 27
+*channel.txt*      For Vim version 8.2.  Last change: 2022 Mar 26
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
diff --git a/runtime/doc/insert.txt b/runtime/doc/insert.txt
index 5dc3348..6ff7d45 100644
--- a/runtime/doc/insert.txt
+++ b/runtime/doc/insert.txt
@@ -1,4 +1,4 @@
-*insert.txt*    For Vim version 8.2.  Last change: 2022 Mar 13
+*insert.txt*    For Vim version 8.2.  Last change: 2022 Mar 28
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -800,7 +800,7 @@
 then just the text in the current line will be used.
 
 If the match found is at the end of a line, then the first word in the next
-line will be inserted and the message "word from next line" displayed, if
+line will be inserted and the message "Word from other line" displayed, if
 this word is accepted the next CTRL-X CTRL-P or CTRL-X CTRL-N will search
 for those lines starting with this word.
 
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index 5bafaff..bdc2522 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -1,4 +1,4 @@
-*options.txt*	For Vim version 8.2.  Last change: 2022 Mar 13
+*options.txt*	For Vim version 8.2.  Last change: 2022 Mar 29
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -987,7 +987,8 @@
 	nostop	like start, except CTRL-W and CTRL-U do not stop at the start of
 		insert.
 
-	When the value is empty, Vi compatible backspacing is used.
+	When the value is empty, Vi compatible backspacing is used, none of
+	the ways mentioned for the items above are possible.
 
 	For backwards compatibility with version 5.4 and earlier:
 	value	effect	~
diff --git a/runtime/doc/repeat.txt b/runtime/doc/repeat.txt
index 1ee547c..4285221 100644
--- a/runtime/doc/repeat.txt
+++ b/runtime/doc/repeat.txt
@@ -1,4 +1,4 @@
-*repeat.txt*    For Vim version 8.2.  Last change: 2022 Jan 21
+*repeat.txt*    For Vim version 8.2.  Last change: 2022 Mar 30
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -210,22 +210,26 @@
 
 			To source a range of lines that doesn't start with the
 			|:vim9script| command in Vim9 script context, the
-			|:vim9cmd| modifier can be used.
+			|:vim9cmd| modifier can be used.  If you use a Visual
+			selection and type ":", the range in the form "'<,'>"
+			can come before it: >
+				:'<,'>vim9cmd source
+<			Otherwise the range goes after the modifier and must
+			have a colon prefixed, like all Vim9 ranges: >
+				:vim9cmd :5,9source
 
-			When a range of lines in a buffer is sourced in the
+<			When a range of lines in a buffer is sourced in the
 			Vim9 script context, the previously defined
 			script-local variables and functions are not cleared.
 			This works like the range started with the
 			":vim9script noclear" command.  The "++clear" argument
 			can be used to clear the script-local variables and
 			functions before sourcing the script. This works like
-			the range started with the |:vimscript| command
+			the range started with the `:vim9script` command
 			without the "noclear" argument. See |vim9-reload| for
 			more information.
 			Examples: >
-
 				:4,5source
-				:vim9cmd :'<,'>source
 				:10,18source ++clear
 
 							*:source!*
diff --git a/runtime/doc/tags b/runtime/doc/tags
index e64bdd5..e6add95 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -8000,6 +8000,7 @@
 lambda	eval.txt	/*lambda*
 lang-variable	eval.txt	/*lang-variable*
 language-mapping	map.txt	/*language-mapping*
+language-server-protocol	channel.txt	/*language-server-protocol*
 last-pattern	pattern.txt	/*last-pattern*
 last-position-jump	usr_05.txt	/*last-position-jump*
 last_buffer_nr()	builtin.txt	/*last_buffer_nr()*
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index fd0817d..916b1db 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 Mar 18
+*todo.txt*      For Vim version 8.2.  Last change: 2022 Mar 30
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -38,6 +38,9 @@
 							*known-bugs*
 -------------------- Known bugs and current work -----------------------
 
+Allow for: "import autoload '../lib/script.vim'"
+    avoids going through 'runtimepath' and avoids name collisions.
+
 Really drop the Athena and NeXtaw GUI?  Decide end of March.
 
 Once Vim9 is stable:
@@ -48,6 +51,7 @@
 	vim9instr.c
 	vim9script.c
 	vim9type.c
+- Adjust intro message to say "help version9".
 
 Further Vim9 improvements, possibly after launch:
 - Check performance with callgrind and kcachegrind.
@@ -417,13 +421,6 @@
 
 File marks merging has duplicates since 7.4.1925. (Ingo Karkat, #5733)
 
-"make test_gui" crashed in submenu_change(). Fix and remove workaround in
-add_pixmap_args().
-Athena is OK.
-Motif: Build on Ubuntu can't enter any text in dialog text fields.
-Running test_gui and test_gui_init with Motif sometimes kills the window
-manager.  Problem with Motif?
-
 When editing a file with ":edit" the output of :swapname is relative, while
 editing it with "vim file" it is absolute. (#355)
 Which one should it be?
@@ -478,11 +475,6 @@
 
 Undo puts cursor in wrong line after "cG<Esc>" undo.
 
-Implement completion for "breakadd".  Should expand the second argument, e.g.
-"func", and then function names after ":breakadd func".  Including
-script-local functions.
-Also for ":profile".
-
 :unmap <c-n> gives error but does remove the mapping. (Antony Scriven, 2019
 Dec 19)
 
@@ -2501,10 +2493,6 @@
 8   Use a mechanism similar to omni completion to figure out the kind of tab
     for CTRL-] and jump to the appropriate matching tag (if there are
     several).
-    Alternative: be able to define a function that takes the tag name and uses
-    taglist() to find the right location.  With indication of using CTRL-] so
-    that the context can be taken into account. (Robert Webb)
-Patch by Christian Brabandt, 2013 May 31.
 
 The utf class table is missing some entries:
 	0x2212, minus sign
diff --git a/runtime/doc/vim9.txt b/runtime/doc/vim9.txt
index f494880..7af1002 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 Mar 18
+*vim9.txt*	For Vim version 8.2.  Last change: 2022 Mar 28
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -184,8 +184,8 @@
 	def DictFunc(d: dict<any>, arg: string)
 	   echo d[arg]
 	enddef
-	var d = {item: 'value', func: DictFunc}
-	d.func(d, 'item')
+	var ad = {item: 'value', func: DictFunc}
+	ad.func(d, 'item')
 
 You can call a legacy dict function though: >
 	func Legacy() dict
@@ -376,13 +376,23 @@
 	   }
 
 Although using a :def function probably works better.
+
 				*E1022* *E1103* *E1130* *E1131* *E1133*
 				*E1134* *E1235*
 Declaring a variable with a type but without an initializer will initialize to
 false (for bool), empty (for string, list, dict, etc.) or zero (for number,
 any, etc.).  This matters especially when using the "any" type, the value will
-default to the number zero.
-						*E1016* *E1052* *E1066*
+default to the number zero.  For example, when declaring a list, items can be
+added: >
+	var myList: list<number>
+	myList->add(7)
+
+Initializing a variable to a null value, e.g. `null_list`, differs from not
+initializing the variable.  This throws an error: >
+	var myList = null_list
+	myList->add(7)  # E1130: Cannot add to null list
+
+<						*E1016* *E1052* *E1066*
 In Vim9 script `:let` cannot be used.  An existing variable is assigned to
 without any command.  The same for global, window, tab, buffer and Vim
 variables, because they are not really declared.  Those can also be deleted
@@ -1243,7 +1253,7 @@
 A closure must be compiled in the context that it is defined in, so that
 variables in that context can be found.  This mostly happens correctly, except
 when a function is marked for debugging with `breakadd` after it was compiled.
-Make sure the define the breakpoint before compiling the outerh function.
+Make sure to define the breakpoint before compiling the outer function.
 
 The "inloop" variable will exist only once, all closures put in the list refer
 to the same instance, which in the end will have the value 4.  This is
