Update runtime files
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