diff --git a/runtime/doc/channel.txt b/runtime/doc/channel.txt
index 35a5548..669657a 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 Jun 04
+*channel.txt*      For Vim version 8.2.  Last change: 2022 Jun 23
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -464,8 +464,10 @@
 
 To read all normal output from a RAW channel that is available: >
 	let output = ch_readraw(channel)
-To read the error output: >
+To read all error output from a RAW channel that is available:: >
 	let output = ch_readraw(channel, {"part": "err"})
+Note that if the channel is in NL mode, ch_readraw() will only return one line
+for each call.
 
 ch_read() and ch_readraw() use the channel timeout.  When there is nothing to
 read within that time an empty string is returned.  To specify a different
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index 0b5022f..8d2d17a 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 Jun 21
+*options.txt*	For Vim version 8.2.  Last change: 2022 Jun 23
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -4955,8 +4955,8 @@
 	executing macros, registers and other commands that have not been
 	typed.  Also, updating the window title is postponed.  To force an
 	update use |:redraw|.
-	This may ocasionally cause display errors.  It is only meant to be set
-	termporarily when performaing an operation where redrawing may cause
+	This may occasionally cause display errors.  It is only meant to be set
+	temporarily when performing an operation where redrawing may cause
 	flickering or cause a slow down.
 
 			*'linebreak'* *'lbr'* *'nolinebreak'* *'nolbr'*
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index 048e3a2..40f9bc0 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -40,7 +40,6 @@
 
 Prepare for the Vim 9.0 release:
 - Update version9.txt
-- Adjust intro message to say "help version9".
 
 Further Vim9 improvements, possibly after launch:
 - Use Vim9 for more runtime files.
@@ -203,6 +202,8 @@
 
 Patches considered for including:
 - use ngettext() in a few more places #10606
+- move f_hasmapto() to map.c  #10611
+- allow for nesting of timeout, sketch in #10595
 - Add "-n" option to xxd. #10599
 - Support %e and %k in 'errorformat'. #9624
 - Add support for "underdouble", "underdot" and "underdash". #9553
diff --git a/runtime/doc/usr_40.txt b/runtime/doc/usr_40.txt
index af5c5d0..f963e20 100644
--- a/runtime/doc/usr_40.txt
+++ b/runtime/doc/usr_40.txt
@@ -1,4 +1,4 @@
-*usr_40.txt*	For Vim version 8.2.  Last change: 2022 Jun 20
+*usr_40.txt*	For Vim version 8.2.  Last change: 2022 Jun 23
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
@@ -464,7 +464,7 @@
 and finally, {command} is the command to be executed.
 
 When adding an autocommand the already existing ones remain.  To avoid adding
-the autocommand several time you should use this form: >
+the autocommand several times you should use this form: >
 
 	:augroup updateDate
 	:  autocmd!
diff --git a/runtime/doc/version9.txt b/runtime/doc/version9.txt
index d53754a..4438394 100644
--- a/runtime/doc/version9.txt
+++ b/runtime/doc/version9.txt
@@ -248,15 +248,18 @@
 Haiku support. |Haiku|
 
 Support for "lsp" channel mode to simplify LSP server RPC communication
-|language-server-protocol|.
+|language-server-protocol|.  Support for using a Unix domain socket with a
+|channel|.  IPv6 support in channels |channel-address|.
 
 Support for sourcing lines from the current buffer. |:source-range|
 
+Support for opening a terminal in a popup window. |popup-terminal|
+
 Support for stopping profiling a Vim script: `:profile stop` and dumping the
 report to a file: `:profile dump` .  |:profile|
 
-Argument completion support for the |:scriptnames|, |:profile|, |:profdel|,
-|:breakadd| and |:breakdel| commands.
+Argument completion support for the |:breakadd|, |:breakdel|, |:diffget|,
+|:diffput|, |:profile|, |:profdel| and |:scriptnames| commands.
 
 Support for setting the 'foldtext', 'completefunc', 'omnifunc',
 'operatorfunc', 'thesaurusfunc', 'quickfixtextfunc', 'tagfunc',
@@ -287,17 +290,9 @@
 Support for executing Ex commands in a map without changing the current mode
 |<Cmd>| and |<ScriptCmd>|.
 
-A large number of tests have been added to verify the Vim functionality.  Most
-of the old style tests have been converted to new style tests using the new
-style assert_* functions.
-
 Add optional error code to |:cquit|.
 
-Support for using a Unix domain socket with a |channel|.
-
-IPv6 support in channels |channel-address|.
-
-Call Vim functions from Lua (vim.call('func', 'arg')).
+Support for calling Vim functions from Lua (vim.call() and vim.fn()).
 
 Recognize numbers as unsigned when "unsigned" is set in 'nrformats'.
 
@@ -305,7 +300,8 @@
 
 Expand script ID using expand('<SID>'). |expand()|
 
-Jump to the last accessed tab page using |g<Tab>|.
+Jump to the last accessed tab page using |g<Tab>| and support using the
+last accessed tab page in |:tabnext| et al.
 
 Locale aware sorting using |:sort| and |sort()|.
 
@@ -343,15 +339,22 @@
 Add the |hl-CurSearch| default highlight group for the current search match.
 
 Add the 'P' command in visual mode to paste text in visual mode without
-yanking the deleted text to the unnamed register.
-
-Add support for parsing the end line number (%e) and end column number
-(%k) using 'errorformat'.
+yanking the deleted text to the unnamed register.  |put-Visual-mode|
 
 Add support for logging on Vim startup (|--log|).
 
 Add "/" in 'formatoptions' to stop inserting // when using "o" on a line with
-inline comment.
+inline comment. |fo-/|
+
+Add support for customizing the quickfix buffer contents using
+'quickfixtextfunc'.  Support for the "note" error type (%t) in |errorformat|.
+Add support for parsing the end line number (%e) and end column number (%k)
+using 'errorformat'.
+
+Support truncating the tag stack using |settagstack()|.
+
+Support using any Vim type for user_data with the completion functions
+(|complete-items|).
 
 Display every option in a separate line when "!" is used with |:set|.
 
@@ -367,6 +370,74 @@
 
 Stop insert mode completion without changing text (|i_CTRL-X_CTRL-Z|).
 
+Support for getting the number of lines (linecount) in a buffer using
+|getbufinfo()|.
+
+Support |filter()| and |map()| for blob and string types.
+
+Support for using a multi-byte character for the tag kind. |tags-file-format|
+
+Add support for checking whether a function name is valid using |exists()|.
+
+Update xdiff to version 2.33.  Update libvterm to revision 789.
+
+Added support for the |Haiku| OS.
+
+Support 'trim' for Python/Lua/Perl/Tcl/Ruby/MzScheme interface heredoc.
+
+Add the |t_AU| and |t_8u| termap codes for underline and undercurl.  Add the
+t_fd and t_fe termcap codes for detecting focus events.
+
+Support for indenting C pragmas like normal code. (|cino-P|)
+
+Add support for defining the syntax fold level (|:syn-foldlevel|)
+
+Add support for using \<*xxx> in a string to prepend a modifier to a
+character. (|expr-quote|).
+
+Add support trimming characters at the beginning or end of a string using
+|trim()|.
+
+Make ":verbose pwd" show the scope of the directory. |:pwd-verbose|
+
+Add the "0o" notation for specifying octal numbers |scriptversion-4|
+
+Support for changing to the previous tab-local and window-local directories
+using the "tcd -" and "lcd -" commands. (|:tcd-| and |:lcd-|)
+
+Add support for skipping an expression using |search()|.
+
+Add the "cmdline" option to |getcompletion()| to return the command line
+arguments.
+
+Add support for spell checking CamelCased words by adding "camel" to
+'spelloptions'.
+
+Add support for importing Vim scripts using |:import| from a Vimscript.
+
+Add support for sorting the directory contents returned by the |readdir()|
+and |readdirex()| functions by case.
+
+Add support for executing (|:@|) a register containing line continuation.
+
+Convert a Lua function and a closure to a Vim funcref so that it can be
+accessed in a Vimscript. (|lua-funcref|) Make Lua arrays one based.
+Add table.insert() and table.remove() functions.
+
+Support mouse left-right scrolling in a terminal window.
+
+Updated colorschemes from https://github.com/vim/colorschemes is included.
+
+TermDebug enhancements:
+Support for showing the disassembled code in a separate window.  Support for
+the GDB until command.  Use a separate group for the signs.
+
+A large number of tests have been added to verify the Vim functionality.  Most
+of the old style tests have been converted to new style tests using the new
+style assert_* functions.
+
+Many Coverity static analysis warnings are fixed.
+
 TODO: more
 
 ==============================================================================
@@ -383,9 +454,9 @@
 
 The following features have been removed.  They are either obsolete or didn't
 work properly:
-  - Athena GUI support (use Motif instead)
+  - Athena and neXTaw GUI support (use Motif instead)
   - EBCDIC support
-  - Atari MiNT
+  - Atari MiNT and BeOS
   - Mac Carbon GUI (use MacVim instead)
 
 The rgb.txt file is no longer included, use colors/lists/default.vim instead.
@@ -393,6 +464,8 @@
 Several source files were split, mainly to make it easier to inspect code
 coverage information.
 
+Support for building Vim with Mingw64 clang compiler on MS-Windows.
+
 ==============================================================================
 PATCHES						*patches-9* *bug-fixes-9*
 						*patches-after-8.2*
diff --git a/runtime/indent/testdir/vim.in b/runtime/indent/testdir/vim.in
index 699e4c2..873045b 100644
--- a/runtime/indent/testdir/vim.in
+++ b/runtime/indent/testdir/vim.in
@@ -30,6 +30,12 @@
 eval 0
 endfor
 
+let t = [
+\ {
+\ 'k': 'val',
+\ },
+\  ]
+
 " END_INDENT
 
 " START_INDENT
diff --git a/runtime/indent/testdir/vim.ok b/runtime/indent/testdir/vim.ok
index f597d97..8e70abe 100644
--- a/runtime/indent/testdir/vim.ok
+++ b/runtime/indent/testdir/vim.ok
@@ -30,6 +30,12 @@
     eval 0
 endfor
 
+let t = [
+	    \ {
+	    \ 'k': 'val',
+	    \ },
+	    \  ]
+
 " END_INDENT
 
 " START_INDENT
diff --git a/runtime/indent/vim.vim b/runtime/indent/vim.vim
index 8579b3f..8a2502a 100644
--- a/runtime/indent/vim.vim
+++ b/runtime/indent/vim.vim
@@ -1,7 +1,7 @@
 " Vim indent file
 " Language:	Vim script
 " Maintainer:	Bram Moolenaar <Bram@vim.org>
-" Last Change:	2022 Mar 01
+" Last Change:	2022 Jun 24
 
 " Only load this indent file when no other was loaded.
 if exists("b:did_indent")
@@ -36,6 +36,14 @@
 let s:lineContPat = '^\s*\(\\\|"\\ \)'
 
 function GetVimIndentIntern()
+  " If the current line has line continuation and the previous one too, use
+  " the same indent.  This does not skip empty lines.
+  let cur_text = getline(v:lnum)
+  let cur_has_linecont = cur_text =~ s:lineContPat
+  if cur_has_linecont && v:lnum > 1 && getline(v:lnum - 1) =~ s:lineContPat
+    return indent(v:lnum - 1)
+  endif
+
   " Find a non-blank line above the current line.
   let lnum = prevnonblank(v:lnum - 1)
 
@@ -44,8 +52,7 @@
 
   " If the current line doesn't start with '\' or '"\ ' and below a line that
   " starts with '\' or '"\ ', use the indent of the line above it.
-  let cur_text = getline(v:lnum)
-  if cur_text !~ s:lineContPat
+  if !cur_has_linecont
     while lnum > 0 && getline(lnum) =~ s:lineContPat
       let lnum = lnum - 1
     endwhile
diff --git a/runtime/spell/main.aap b/runtime/spell/main.aap
index c6050a4..9f051e2 100644
--- a/runtime/spell/main.aap
+++ b/runtime/spell/main.aap
@@ -16,12 +16,6 @@
 diff: $*LANG/diff
         :print Done.
 
-# Use "aap publish" to upload the .spl files.
-SPL_files = eu.utf-8.spl
-
-UPDIR = rsync://bram@ftp1.nluug.nl//var/ftp/pub/vim/runtime/spell
-:attr {publish = $UPDIR/%file%} $SPL_files
-
 @for l in string.split(_no.LANG):
         :child $l/main.aap
 
