Update runtime files
diff --git a/runtime/doc/builtin.txt b/runtime/doc/builtin.txt
index 4a05fdc..8030011 100644
--- a/runtime/doc/builtin.txt
+++ b/runtime/doc/builtin.txt
@@ -1,4 +1,4 @@
-*builtin.txt*	For Vim version 9.0.  Last change: 2022 Sep 10
+*builtin.txt*	For Vim version 9.0.  Last change: 2022 Sep 17
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
diff --git a/runtime/doc/change.txt b/runtime/doc/change.txt
index 5ac2f63..a51dadb 100644
--- a/runtime/doc/change.txt
+++ b/runtime/doc/change.txt
@@ -1,4 +1,4 @@
-*change.txt*    For Vim version 9.0.  Last change: 2022 May 26
+*change.txt*    For Vim version 9.0.  Last change: 2022 Sep 13
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -1188,11 +1188,20 @@
 the text to copy, Visually select the text to replace and use "0p .  You can
 repeat this as many times as you like, and the unnamed register will be
 changed each time.
-
-When you use a blockwise Visual mode command and yank only a single line into
-a register, a paste on a visual selected area will paste that single line on
-each of the selected lines (thus replacing the blockwise selected region by a
-block of the pasted line).
+							*blockwise-put*
+When a register contains text from one line (characterwise), using a
+blockwise Visual selection, putting that register will paste that text
+repeatedly in each of the selected lines, thus replacing the blockwise
+selected region by multiple copies of the register text.  For example:
+	- yank the word "TEXT" into a register with `yw`
+	- select a visual block, marked with "v" in this text:
+	    aaavvaaa
+	    bbbvvbbb
+	    cccvvccc
+	- press `p`, results in:
+	    aaaTEXTaaa
+	    bbbTEXTbbb
+	    cccTEXTccc
 
 							*blockwise-register*
 If you use a blockwise Visual mode command to get the text into the register,
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index 145d3bd..fe75169 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1,4 +1,4 @@
-*eval.txt*	For Vim version 9.0.  Last change: 2022 Sep 09
+*eval.txt*	For Vim version 9.0.  Last change: 2022 Sep 17
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
diff --git a/runtime/doc/intro.txt b/runtime/doc/intro.txt
index 6904091..7813177 100644
--- a/runtime/doc/intro.txt
+++ b/runtime/doc/intro.txt
@@ -1,4 +1,4 @@
-*intro.txt*     For Vim version 9.0.  Last change: 2022 Apr 03
+*intro.txt*     For Vim version 9.0.  Last change: 2022 Sep 12
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -533,6 +533,10 @@
 '>' characters.  This does NOT work for other commands, like ":set" and
 ":autocmd"!
 
+The notation can be used in a double quoted strings, using "\<" at the start,
+e.g. "\<C-Space>".  This results in a special key code.  To convert this back
+to readable text use `keytrans()`.
+
 ==============================================================================
 5. Modes, introduction				*vim-modes-intro* *vim-modes*
 
diff --git a/runtime/doc/map.txt b/runtime/doc/map.txt
index 6beae6e..f1bfd75 100644
--- a/runtime/doc/map.txt
+++ b/runtime/doc/map.txt
@@ -1,4 +1,4 @@
-*map.txt*       For Vim version 9.0.  Last change: 2022 Jun 18
+*map.txt*       For Vim version 9.0.  Last change: 2022 Sep 12
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -1583,7 +1583,7 @@
 
 For the "custom" argument, the function should return the completion
 candidates one per line in a newline separated string.
-
+							*E1303*
 For the "customlist" argument, the function should return the completion
 candidates as a Vim List.  Non-string items in the list are ignored.
 
diff --git a/runtime/doc/mlang.txt b/runtime/doc/mlang.txt
index 724ec46..8997e1c 100644
--- a/runtime/doc/mlang.txt
+++ b/runtime/doc/mlang.txt
@@ -1,4 +1,4 @@
-*mlang.txt*     For Vim version 9.0.  Last change: 2020 Aug 15
+*mlang.txt*     For Vim version 9.0.  Last change: 2022 Sep 17
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
diff --git a/runtime/doc/os_win32.txt b/runtime/doc/os_win32.txt
index 10dcdf4..e72ecc8 100644
--- a/runtime/doc/os_win32.txt
+++ b/runtime/doc/os_win32.txt
@@ -1,4 +1,4 @@
-*os_win32.txt*  For Vim version 9.0.  Last change: 2022 May 24
+*os_win32.txt*  For Vim version 9.0.  Last change: 2022 Sep 18
 
 
 		  VIM REFERENCE MANUAL    by George Reilly
diff --git a/runtime/doc/quickref.txt b/runtime/doc/quickref.txt
index 2cc2358..b309091 100644
--- a/runtime/doc/quickref.txt
+++ b/runtime/doc/quickref.txt
@@ -1,4 +1,4 @@
-*quickref.txt*  For Vim version 9.0.  Last change: 2022 May 05
+*quickref.txt*  For Vim version 9.0.  Last change: 2022 Sep 14
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -919,7 +919,7 @@
 'spellsuggest'	  'sps'     method(s) used to suggest spelling corrections
 'splitbelow'	  'sb'	    new window from split is below the current one
 'splitright'	  'spr'     new window is put right of the current one
-'splitscroll'	  'spsc'    determines scroll behavior when splitting windows
+'splitscroll'	  'spsc'    determines scroll behavior for split windows
 'startofline'	  'sol'     commands move cursor to first non-blank in line
 'statusline'	  'stl'     custom format for the status line
 'suffixes'	  'su'	    suffixes that are ignored with multiple match
diff --git a/runtime/doc/spell.txt b/runtime/doc/spell.txt
index f15d3b1..024f265 100644
--- a/runtime/doc/spell.txt
+++ b/runtime/doc/spell.txt
@@ -1600,7 +1600,7 @@
 		Forbid three identical characters when compounding.  Not
 		supported.
 
-CHECKSHARPS  (Hunspell))			*spell-CHECKSHARPS*
+CHECKSHARPS  (Hunspell)				*spell-CHECKSHARPS*
 		SS letter pair in uppercased (German) words may be upper case
 		sharp s (ß). Not supported.
 
diff --git a/runtime/doc/tags b/runtime/doc/tags
index b38f1cc..1fdc74f 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -718,7 +718,9 @@
 'nospell'	options.txt	/*'nospell'*
 'nosplitbelow'	options.txt	/*'nosplitbelow'*
 'nosplitright'	options.txt	/*'nosplitright'*
+'nosplitscroll'	options.txt	/*'nosplitscroll'*
 'nospr'	options.txt	/*'nospr'*
+'nospsc'	options.txt	/*'nospsc'*
 'nosr'	options.txt	/*'nosr'*
 'nossl'	options.txt	/*'nossl'*
 'nosta'	options.txt	/*'nosta'*
@@ -952,9 +954,11 @@
 'spl'	options.txt	/*'spl'*
 'splitbelow'	options.txt	/*'splitbelow'*
 'splitright'	options.txt	/*'splitright'*
+'splitscroll'	options.txt	/*'splitscroll'*
 'spo'	options.txt	/*'spo'*
 'spr'	options.txt	/*'spr'*
 'sps'	options.txt	/*'sps'*
+'spsc'	options.txt	/*'spsc'*
 'sr'	options.txt	/*'sr'*
 'srr'	options.txt	/*'srr'*
 'ss'	options.txt	/*'ss'*
@@ -4087,7 +4091,6 @@
 E1073	vim9.txt	/*E1073*
 E1074	vim9.txt	/*E1074*
 E1075	vim9.txt	/*E1075*
-E1076	eval.txt	/*E1076*
 E1077	vim9.txt	/*E1077*
 E1078	autocmd.txt	/*E1078*
 E1079	vim9.txt	/*E1079*
@@ -4335,7 +4338,11 @@
 E1299	tagsrch.txt	/*E1299*
 E13	message.txt	/*E13*
 E1300	userfunc.txt	/*E1300*
+E1301	vim9.txt	/*E1301*
 E1302	eval.txt	/*E1302*
+E1303	map.txt	/*E1303*
+E1304	vim9.txt	/*E1304*
+E1305	textprop.txt	/*E1305*
 E131	userfunc.txt	/*E131*
 E132	userfunc.txt	/*E132*
 E133	userfunc.txt	/*E133*
@@ -5922,6 +5929,7 @@
 blob2list()	builtin.txt	/*blob2list()*
 blockwise-examples	visual.txt	/*blockwise-examples*
 blockwise-operators	visual.txt	/*blockwise-operators*
+blockwise-put	change.txt	/*blockwise-put*
 blockwise-register	change.txt	/*blockwise-register*
 blockwise-visual	visual.txt	/*blockwise-visual*
 blowfish	options.txt	/*blowfish*
@@ -8122,6 +8130,7 @@
 keypad-plus	intro.txt	/*keypad-plus*
 keypad-point	intro.txt	/*keypad-point*
 keys()	builtin.txt	/*keys()*
+keytrans()	builtin.txt	/*keytrans()*
 known-bugs	todo.txt	/*known-bugs*
 l	motion.txt	/*l*
 l:	eval.txt	/*l:*
@@ -10714,6 +10723,7 @@
 vim9-mix	vim9.txt	/*vim9-mix*
 vim9-namespace	vim9.txt	/*vim9-namespace*
 vim9-no-dict-function	vim9.txt	/*vim9-no-dict-function*
+vim9-no-shorten	vim9.txt	/*vim9-no-shorten*
 vim9-rationale	vim9.txt	/*vim9-rationale*
 vim9-reload	vim9.txt	/*vim9-reload*
 vim9-s-namespace	vim9.txt	/*vim9-s-namespace*
diff --git a/runtime/doc/textprop.txt b/runtime/doc/textprop.txt
index 8d7c0ec..5fb53af 100644
--- a/runtime/doc/textprop.txt
+++ b/runtime/doc/textprop.txt
@@ -1,4 +1,4 @@
-*textprop.txt*  For Vim version 9.0.  Last change: 2021 Nov 23
+*textprop.txt*  For Vim version 9.0.  Last change: 2022 Sep 17
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -142,9 +142,11 @@
 				then "id" must not be present and will be set
 				automatically to a negative number; otherwise
 				zero is used
+							*E1305*
 		   text		text to be displayed before {col}, or after the
 				line if {col} is zero; prepend and/or append
-				spaces for padding with highlighting
+				spaces for padding with highlighting; cannot
+				be used with "length", "end_lnum" and "end_col"
 		   					*E1294*
 		   text_align	when "text" is present and {col} is zero;
 				specifies where to display the text:
@@ -156,7 +158,7 @@
 				   above   just above the line
 				When omitted "after" is used.  Only one
 				"right" property can fit in each line, if
-				there are two ore more these will go in a
+				there are two or more these will go in a
 				separate line (still right aligned).
 		   text_padding_left				*E1296*
 				used when "text" is present and {col} is zero;
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index b22c256..864f0b2 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 9.0.  Last change: 2022 Sep 10
+*todo.txt*      For Vim version 9.0.  Last change: 2022 Sep 18
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -38,6 +38,39 @@
 							*known-bugs*
 -------------------- Known bugs and current work -----------------------
 
+Closure created in for loop can use loop variable?  #11094
+    Nested loops do not work correctly yet.
+    Would need to save vars for each block separately.
+
+Virtual text:
+- Virtual text below: padding is highlighted when 'number' is set  #11138
+- Virtual text above: do not highlight until end of line?  #11138
+- 'number' should be below "above" virtual text?  Might be difficult to
+  implement.
+- Add highlight for the gap before/after virtual text above/below?
+- option to hide virtual text?
+
+Fail with valgrind: test_edit
+Found errors in Test_edit_insertmode_ex_edit():
+        Run 1, 01:19:51 - 01:20:01:
+        command line..script /home/mool/vim/vim90/src/testdir/runtest.vim[469]..function RunTheTest[44]..Test_edit_insertmode_ex_edit[13]..WaitForAssert[2]..<SNR>6_WaitForCommon[11]..<lambda>4 line 1: Pattern '^-- INSERT --\\s*$' does not match ''
+
+From test_global
+        Found errors in Test_interrupt_global():
+        Run 1, 02:16:22 - 02:16:27:
+        command line..script /home/mool/vim/vim90/src/testdir/runtest.vim[469]..function RunTheTest[44]..Test_interrupt_global[13]..WaitForAssert[2]..<SNR>7_WaitForCommon[11]..<lambda>20 line 1: Pattern 'Interrupted' does not match 'Type  :qa!  and press...l changes and exit Vim           1,1           All'
+        command line..script /home/mool/vim/vim90/src/testdir/runtest.vim[469]..function RunTheTest[44]..Test_interrupt_global[20]..WaitForAssert[2]..<SNR>7_WaitForCommon[11]..<lambda>21 line 1: Pattern 'Interrupted' does not match 'Entering Ex mode.  Type "visual" to go to Normal mode.'
+
+test_terminal3:
+Conditional jump or move depends on uninitialised value(s)
+==2819005==    at 0x2E9134: jump_to_mouse (mouse.c:2015)
+==2819005==    by 0x2E69E6: do_mouse (mouse.c:702)
+==2819005==    by 0x2E95C2: nv_mouse (mouse.c:2166)
+
+option_set():  "get a bit too much"
+    - refactor to separate function
+    - check for empty result
+
 Use :defer command:
     - Use "D" flag of writefile() and mkdir() in tests.
 	(testdir/test_c*.vim done)
@@ -45,7 +78,7 @@
 When using :echomessage do use msg_row and msg_col, but save and restore.
 How to test any failure?  If nothing fails perhaps it's OK alrady.
 
-Drop Windows XP?  #11089
+New Vim indent script: #11079  Not done yet.
 
 Further Vim9 improvements, possibly after launch:
 - Use Vim9 for more runtime files.
@@ -185,8 +218,6 @@
 - When 'encoding' is not utf-8, or the job is using another encoding, setup
   conversions.
 
-Add 'splitscroll'  #10682  Anything remaining
-
 Autoconf: must use autoconf 2.69, later version generates lots of warnings
 - try using autoconf 2.71 and fix all "obsolete" warnings
 
@@ -197,6 +228,13 @@
 
 Add BufDeletePost.  #11041
 
+Add a string to the 'display' option ("smoothscroll" ?) to make CTRL-E and
+CTRL-Y scroll one screen line, also if this means the first line doesn't start
+with the first character (like what happens with a last line that doesn't
+fit).  Display "<<<" at the start of the first visible line (like "@@@" is
+displayed in the last line). (Arseny Nasokin,  #5154)
+Neovim PR: https://github.com/neovim/neovim/pull/11014
+
 NFA regexp does not handle composing characters well: #10286
     [ɔ̃] matches both ɔ and ɔ̃
     \(ɔ\|ɔ̃\) matches ɔ and not ɔ̃
@@ -556,12 +594,6 @@
 read with "-s scriptin" expects escape codes.  Probably "scriptout" needs to
 be adjusted. (Daniel Steinberg, 2019 Feb 24, #4041)
 
-Add a string to the 'display' option ("smoothscroll" ?) to make CTRL-E and
-CTRL-Y scroll one screen line, also if this means the first line doesn't start
-with the first character (like what happens with a last line that doesn't
-fit).  Display "<<<" at the start of the first visible line (like "@@@" is
-displayed in the last line). (Arseny Nasokin,  #5154)
-
 Window size changes after closing a tab. (#4741)
 
 Problem with colors in terminal window. (Jason Franklin, 2019 May 12)
diff --git a/runtime/doc/userfunc.txt b/runtime/doc/userfunc.txt
index 24e3fd7..806d8f7 100644
--- a/runtime/doc/userfunc.txt
+++ b/runtime/doc/userfunc.txt
@@ -15,7 +15,7 @@
 
 ==============================================================================
 
-1. Defining a fuction ~
+1. Defining a function ~
 						*define-function*
 New functions can be defined.  These can be called just like builtin
 functions.  The function executes a sequence of Ex commands.  Normal mode
@@ -308,7 +308,7 @@
 <
 ==============================================================================
 
-2. Calling a fuction ~
+2. Calling a function ~
 						*:cal* *:call* *E107*
 :[range]cal[l] {name}([arguments])
 		Call a function.  The name of the function and its arguments
diff --git a/runtime/doc/various.txt b/runtime/doc/various.txt
index 6e4afec..fa4ad07 100644
--- a/runtime/doc/various.txt
+++ b/runtime/doc/various.txt
@@ -1,4 +1,4 @@
-*various.txt*   For Vim version 9.0.  Last change: 2022 Jun 25
+*various.txt*   For Vim version 9.0.  Last change: 2022 Sep 17
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
diff --git a/runtime/doc/vim9.txt b/runtime/doc/vim9.txt
index ce9cbdf..2a953ee 100644
--- a/runtime/doc/vim9.txt
+++ b/runtime/doc/vim9.txt
@@ -1,4 +1,4 @@
-*vim9.txt*	For Vim version 9.0.  Last change: 2022 Sep 10
+*vim9.txt*	For Vim version 9.0.  Last change: 2022 Sep 15
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -107,7 +107,7 @@
 	`:t`
   	`:xit`
 - Some commands, especially those used for flow control, cannot be shortened.
-  E.g., `:throw` cannot be written as `:th`.
+  E.g., `:throw` cannot be written as `:th`.  *vim9-no-shorten*
 - You cannot use curly-braces names.
 - A range before a command must be prefixed with a colon: >
 	:%s/this/that
@@ -1336,16 +1336,15 @@
 	       })
 	endfor
 
-You need to create a closure to store the current value of "n", so that it is
-evaluated at the time the closure is created: >
-	def GetClosure(nr: number): func
-	  return (_) => {
-	    echowindow nr
-	  }
-	enddef
-
+You need to use a block and define a variable there, and use that one in the
+closure: >
 	for n in range(4)
-	    timer_start(500 * n, GetClosure(n))
+	{
+	   var nr = n
+	   timer_start(500 * n, (_) => {
+	          echowin nr
+	      })
+	}
 	endfor
 
 Using `echowindow` is useful in a timer, the messages go into a popup and will
@@ -1684,7 +1683,7 @@
 
 In Vim9 script the global "g:" namespace can still be used as before.  And the
 "w:", "b:" and "t:" namespaces.  These have in common that variables are not
-declared and they can be deleted.
+declared, have no specific type and they can be deleted.  *E1304*
 
 A side effect of `:vim9script` is that the 'cpoptions' option is set to the
 Vim default value, like with: >
@@ -1825,7 +1824,7 @@
 	import "otherfile.vim9script" as that
 	call s:that.OtherFunc()
 
-However, the namespace cannot be resolved on it's own: >
+However, the namespace cannot be resolved on its own: >
 	import "that.vim"
 	echo s:that
 	" ERROR: E1060: Expected dot after name: s:that