diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index c9db884..0b5022f 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 07
+*options.txt*	For Vim version 8.2.  Last change: 2022 Jun 21
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -3402,8 +3402,9 @@
 <	This is similar to the default, except that these characters will also
 	be used when there is highlighting.
 
-	For "stl" and "stlnc" single-byte and multibyte characters are
-	supported.  But double-width characters are not supported.
+	For the "stl", "stlnc", "foldopen", "foldclose" and "foldsep" items
+	single-byte and multibyte characters are supported.  But double-width
+	characters are not supported.
 
 	The highlighting used for these items:
 	  item		highlight group ~
@@ -4954,6 +4955,9 @@
 	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
+	flickering or cause a slow down.
 
 			*'linebreak'* *'lbr'* *'nolinebreak'* *'nolbr'*
 'linebreak' 'lbr'	boolean	(default off)
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index 8285df9..048e3a2 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 Jun 20
+*todo.txt*      For Vim version 8.2.  Last change: 2022 Jun 23
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -38,10 +38,7 @@
 							*known-bugs*
 -------------------- Known bugs and current work -----------------------
 
-Prepare for Vim 9.0 release:
-- Update the user manual:
-  - Add more to usr_50.txt as an "advanced section" of usr_41.txt
-  - Move some from vim9.txt to the user manual?  Keep the specification.
+Prepare for the Vim 9.0 release:
 - Update version9.txt
 - Adjust intro message to say "help version9".
 
@@ -205,12 +202,14 @@
   conversions.
 
 Patches considered for including:
+- use ngettext() in a few more places #10606
 - Add "-n" option to xxd. #10599
 - Support %e and %k in 'errorformat'. #9624
 - Add support for "underdouble", "underdot" and "underdash". #9553
 - Patch to implement the vimtutor with a plugin: #6414
   Was originally written by Felipe Morales.
 - Patch to make fillchars global-local. (#5206)
+- Version of getchar() that does not move the cursor - #10603
 
 Autoconf: must use autoconf 2.69, later version generates lots of warnings
 - try using autoconf 2.71 and fix all "obsolete" warnings
@@ -233,9 +232,6 @@
 
 Can "CSI nr X" be used instead of outputting spaces?  Is it faster?  #8002
 
-Problems reported by Valgrind:
-Memory leaks in test_channel, in func Test_job_start_fails().  Weird.
-
 With a window height of 6 and 'scrolloff' set to 3, using "j" does not scroll
 evenly. (#10545)  Need to handle this in scroll_cursor_bot().
 
@@ -382,6 +378,10 @@
 
 File marks merging has duplicates since 7.4.1925. (Ingo Karkat, #5733)
 
+A syntax plugin cannot use autocommands, it could be sourced from setting
+'syntax' in a modeline.  Add a function that indicates whethere "secure"
+and/or "sandbox" are set.
+
 Problem with auto-formatting - inserting space and putting cursor before added
 character. (#6154)
 
diff --git a/runtime/doc/usr_40.txt b/runtime/doc/usr_40.txt
index 9ed777f..af5c5d0 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 Jan 03
+*usr_40.txt*	For Vim version 8.2.  Last change: 2022 Jun 20
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
@@ -463,6 +463,17 @@
 The optional [++nested] flag allows for nesting of autocommands (see below),
 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: >
+
+	:augroup updateDate
+	:  autocmd!
+	:  autocmd BufWritePre *  call DateInsert()
+	:augroup END
+
+This will delete any previously defined autocommand with `:autocmd!` before
+defining the new one.  Groups are explained later.
+
 
 EVENTS
 
diff --git a/runtime/doc/usr_41.txt b/runtime/doc/usr_41.txt
index e2dc463..f5527cd 100644
--- a/runtime/doc/usr_41.txt
+++ b/runtime/doc/usr_41.txt
@@ -1,4 +1,4 @@
-*usr_41.txt*	For Vim version 8.2.  Last change: 2022 Jun 10
+*usr_41.txt*	For Vim version 8.2.  Last change: 2022 Jun 23
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
@@ -1745,9 +1745,10 @@
 ==============================================================================
 *41.9*	White space
 
-Blank lines are allowed and ignored.
+Blank lines are allowed in a script and ignored.
 
-Leading whitespace characters (blanks and TABs) are always ignored.
+Leading whitespace characters (blanks and TABs) are ignored, except when using
+|:let-heredoc| without "trim".
 
 Trailing whitespace is often ignored, but not always.  One command that
 includes it is `map`.  You have to watch out for that, it can cause hard to
@@ -1866,13 +1867,16 @@
 *41.12*	Fileformat
 
 The end-of-line character depends on the system.  For Vim scripts it is
-recommended to always use the Unix fileformat.  This also works on any other
-system.  That way you can copy your Vim scripts from MS-Windows to Unix and
-they still work.  See |:source_crnl|.  To be sure it is set right, do this
-before writing the file: >
-
+recommended to always use the Unix fileformat.  Lines are then separated with
+the Newline character.  This also works on any other system.  That way you can
+copy your Vim scripts from MS-Windows to Unix and they still work.  See
+|:source_crnl|.  To be sure it is set right, do this before writing the file:
+>
 	:setlocal fileformat=unix
 
+When using "dos" fileformat, lines are separated with CR-NL, two characters.
+The CR character causes various problems, better avoid this.
+
 ==============================================================================
 
 Advance information about writing Vim script is in |usr_50.txt|.
diff --git a/runtime/doc/usr_50.txt b/runtime/doc/usr_50.txt
index 417bdd2..7d69364 100644
--- a/runtime/doc/usr_50.txt
+++ b/runtime/doc/usr_50.txt
@@ -1,4 +1,4 @@
-*usr_50.txt*	For Vim version 8.2.  Last change: 2022 Jun 03
+*usr_50.txt*	For Vim version 8.2.  Last change: 2022 Jun 20
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
@@ -116,26 +116,13 @@
 ==============================================================================
 *50.3*	Restoring the view
 
-Sometimes you want to make a change and go back to where the cursor was.
-Restoring the relative position would also be nice, so that the same line
-appears at the top of the window.
+Sometimes you want to jump around, make a change and then go back to the same
+position and view.  For example to change something in the file header.  This
+can be done with two functions: >
 
-This example yanks the current line, puts it above the first line in the file
-and then restores the view: >
-
-	map ,p ma"aYHmbgg"aP`bzt`a
-
-What this does: >
-	ma"aYHmbgg"aP`bzt`a
-<	ma			set mark a at cursor position
-	  "aY			yank current line into register a
-	     Hmb		go to top line in window and set mark b there
-		gg		go to first line in file
-		  "aP		put the yanked line above it
-		     `b		go back to top line in display
-		       zt	position the text in the window as before
-			 `a	go back to saved cursor position
-
+	var view = winsaveview()
+	# Move around, make changes
+	winrestview(view)
 
 ==============================================================================
 
diff --git a/runtime/doc/usr_toc.txt b/runtime/doc/usr_toc.txt
index 79222f8..31576c6 100644
--- a/runtime/doc/usr_toc.txt
+++ b/runtime/doc/usr_toc.txt
@@ -1,4 +1,4 @@
-*usr_toc.txt*	For Vim version 8.2.  Last change: 2022 Jun 03
+*usr_toc.txt*	For Vim version 8.2.  Last change: 2022 Jun 20
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
@@ -46,8 +46,8 @@
 
 Writing Vim script ~
 |usr_50.txt|  Advanced Vim script writing
-|usr_51.txt|  Create a plugin
-|usr_52.txt|  Write plugins using Vim9 script
+|usr_51.txt|  Write plugins
+|usr_52.txt|  Write larger plugins
 
 Making Vim Run ~
 |usr_90.txt|  Installing Vim
diff --git a/runtime/doc/version9.txt b/runtime/doc/version9.txt
index b9713b3..d53754a 100644
--- a/runtime/doc/version9.txt
+++ b/runtime/doc/version9.txt
@@ -245,6 +245,8 @@
 
 Fuzzy match support for |:vimgrep|.
 
+Haiku support. |Haiku|
+
 Support for "lsp" channel mode to simplify LSP server RPC communication
 |language-server-protocol|.
 
@@ -256,17 +258,32 @@
 Argument completion support for the |:scriptnames|, |:profile|, |:profdel|,
 |:breakadd| and |:breakdel| commands.
 
-Support for using a funcref/lambda value with the 'foldtext', 'completefunc',
-'omnifunc', 'operatorfunc', 'thesaurusfunc', 'quickfixtextfunc', 'tagfunc',
-'imactivatefunc' and 'imstatusfunc' options.
+Support for setting the 'foldtext', 'completefunc', 'omnifunc',
+'operatorfunc', 'thesaurusfunc', 'quickfixtextfunc', 'tagfunc',
+'imactivatefunc' and 'imstatusfunc' options to a function reference or a
+lambda function or a script-local function.
 
-Support for using multibyte items with the 'fillchars', 'stl' and 'stlnc'
-options.
+Support directly setting the 'balloonexpr', 'charconvert' 'foldexpr',
+'formatexpr', 'includeexpr', 'printexpr', 'patchexpr', 'indentexpr',
+'modelineexpr', 'diffexpr' and 'printexpr' options to a script-local function.
 
-Support for xchacha20 encryption method 'cryptmethod'
+Support for configuring the character used to mark the beginning of a fold,
+show a closed fold and show a fold separator using "foldopen", "foldclose" and
+"foldsep" respectively in 'fillchars'.
+
+Support for configuring the character displayed in non existing lines using
+"eob" in 'fillchars'.
+
+Support for using multibyte items with the "stl", "stlnc", "foldopen",
+"foldclose" and "foldsep" items in the 'fillchars' option.
+
+Support for the XChaCha20 encryption method. 'cryptmethod'
 
 Spell check current word with |z=| even when 'spell' is off.
 
+Add "timeout" to 'spellsuggest' to limit the searching time for spell
+suggestions.
+
 Support for executing Ex commands in a map without changing the current mode
 |<Cmd>| and |<ScriptCmd>|.
 
@@ -282,7 +299,7 @@
 
 Call Vim functions from Lua (vim.call('func', 'arg')).
 
-Add unsigned to 'nrformats'.
+Recognize numbers as unsigned when "unsigned" is set in 'nrformats'.
 
 Allow setting underline color in terminal.
 
@@ -296,7 +313,12 @@
 
 Detect focus events in terminal (|FocusGained| and |FocusLost|).
 
-Highlight leading spaces when 'list' is set (|'listchars'|)
+Add "multispace" to 'listchars' to show two or more spaces no matter where
+they appear.  Add "leadmultispace" to 'listchars' to show two or more leading
+spaces.  Add "lead" to 'listchars' to set the character used to show leading
+spaces.
+
+Make 'listchars', 'virtualedit' and 'thesaurusfunc' global-local options.
 
 Support for looping over a string using |:for|.
 
@@ -315,24 +337,14 @@
 a numbered or bulleted list.  Add "column" to 'breakindentopt' to indent
 soft-wrapped lines at a specific column.
 
-Add "multispace" to 'listchars' to show two or more spaces no matter where
-they appear.
-
-Add |hl-CursorLineSign| and |hl-CursorLineFold| default highlight groups to
+Add the |hl-CursorLineSign| and |hl-CursorLineFold| default highlight groups to
 adjust sign highlighting for 'cursorline'.
 
 Add the |hl-CurSearch| default highlight group for the current search match.
 
-Support directly setting the 'balloonexpr', 'foldexpr', 'formatexpr',
-'includeexpr', 'printexpr', 'patchexpr', 'indentexpr', 'modelineexpr',
-'diffexpr' and 'printexpr' options to a script-local function.
-
 Add the 'P' command in visual mode to paste text in visual mode without
 yanking the deleted text to the unnamed register.
 
-Add "timeout" to 'spellsuggest' to limit the searching time for spell
-suggestions.
-
 Add support for parsing the end line number (%e) and end column number
 (%k) using 'errorformat'.
 
@@ -341,13 +353,45 @@
 Add "/" in 'formatoptions' to stop inserting // when using "o" on a line with
 inline comment.
 
+Display every option in a separate line when "!" is used with |:set|.
+
+Add "nostop" to 'backspace' to allow backspacing over the start of insert for
+|CTRL-W| and |CTRL-U| also.
+
+Add bell support for the terminal window. ('belloff')
+
+Sync the undo file if 'fsync' is set.
+
+Support excluding the 'runtimepath' and 'packpath' options from a session file
+using "skiprtp" in 'sessionoptions'.
+
+Stop insert mode completion without changing text (|i_CTRL-X_CTRL-Z|).
 
 TODO: more
 
 ==============================================================================
 COMPILE TIME CHANGES					*compile-changes-9*
 
-TODO
+The following features are now enabled in all the builds:
+  |+cindent|
+  |+jumplist|
+  |+lispindent|
+  |+num64|
+  |+smartindent|
+  |+tag_binary|
+  |+title|
+
+The following features have been removed.  They are either obsolete or didn't
+work properly:
+  - Athena GUI support (use Motif instead)
+  - EBCDIC support
+  - Atari MiNT
+  - Mac Carbon GUI (use MacVim instead)
+
+The rgb.txt file is no longer included, use colors/lists/default.vim instead.
+
+Several source files were split, mainly to make it easier to inspect code
+coverage information.
 
 ==============================================================================
 PATCHES						*patches-9* *bug-fixes-9*
diff --git a/runtime/doc/vim9.txt b/runtime/doc/vim9.txt
index 9b7c8dc..7b1bc26 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 Jun 10
+*vim9.txt*	For Vim version 8.2.  Last change: 2022 Jun 20
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -1844,13 +1844,6 @@
 	test_override('ALL', 0)
 
 
-Import in legacy Vim script ~
-
-If an `import` statement is used in legacy Vim script, the script-local "s:"
-namespace will be used for the imported items, even when "s:" is not
-specified.
-
-
 ==============================================================================
 
 6. Future work: classes					*vim9-classes*
diff --git a/runtime/lang/README.txt b/runtime/lang/README.txt
index e5823f9..150ccd9 100644
--- a/runtime/lang/README.txt
+++ b/runtime/lang/README.txt
@@ -10,6 +10,9 @@
 	:help 'langmenu'
 	:help :language
 
+You can find a couple of helper tools for translating menus on github:
+https://github.com/adaext/vim-menutrans-helper
+
 The "$VIMRUNTIME/menu.vim" file will search for a menu translation file.  This
 depends on the value of the "v:lang" variable.
 
diff --git a/runtime/pack/dist/opt/termdebug/plugin/termdebug.vim b/runtime/pack/dist/opt/termdebug/plugin/termdebug.vim
index a9acbb2..87fb94b 100644
--- a/runtime/pack/dist/opt/termdebug/plugin/termdebug.vim
+++ b/runtime/pack/dist/opt/termdebug/plugin/termdebug.vim
@@ -2,7 +2,7 @@
 "
 " Author: Bram Moolenaar
 " Copyright: Vim license applies, see ":help license"
-" Last Change: 2022 May 23
+" Last Change: 2022 Jun 22
 "
 " WORK IN PROGRESS - The basics works stable, more to come
 " Note: In general you need at least GDB 7.12 because this provides the
@@ -1326,12 +1326,12 @@
 echomsg 'different fname: "' .. expand('%:p') .. '" vs "' .. fnamemodify(fname, ':p') .. '"'
 	augroup Termdebug
 	  " Always open a file read-only instead of showing the ATTENTION
-	  " prompt, since we are unlikely to want to edit the file.
+	  " prompt, since it is unlikely we want to edit the file.
 	  " The file may be changed but not saved, warn for that.
 	  au SwapExists * echohl WarningMsg
 		\ | echo 'Warning: file is being edited elsewhere'
 		\ | echohl None
-		\ | let v:swapchoice = '0'
+		\ | let v:swapchoice = 'o'
         augroup END
         if &modified
           " TODO: find existing window
diff --git a/runtime/spell/sr/README_sr.txt b/runtime/spell/sr/README_sr.txt
new file mode 100644
index 0000000..6d71973
--- /dev/null
+++ b/runtime/spell/sr/README_sr.txt
@@ -0,0 +1,43 @@
+﻿The location of source files for Serbian spelling dictionary were downloaded
+from 
+https://github.com/LibreOffice/dictionaries/tree/master/sr
+(Serbian Spelling and Hyphenation for LibreOffice).
+
+Here is the content of original README file from the repository:
+
+	"LibreOffice Spelling and Hyphenation
+	extension package for Serbian (Cyrillic and Latin)
+	
+	This extension package includes the Hunspell dictionary and Hyphen
+	hyphenation patterns for the Serbian language adapted for usage in
+	LibreOffice.
+	
+	Serbian spelling dictionary is developed by Milutin Smiljanic
+	<msmiljanic.gm@gmail.com> and is released under GNU LGPL version 3 or
+	later / MPL version 2 or later / GNU GPL version 3 or later, giving
+	you the choice of one of the three sets of free software licensing
+	terms.
+	
+	Serbian hyphenation patterns are derived from the official TeX
+	patterns for Serbocroatian language (Cyrillic and Latin) created by
+	Dejan Muhamedagić, version 2.02 from 22 June 2008 adopted for usage
+	with Hyphen hyphenation library and released under GNU LGPL version
+	2.1 or later."
+
+
+This dictionary used to create Vim spl file is the result of merging the two
+LibreOffice dictionaries, for cyrillic and latin script.
+
+The merge was accomplished by concatenating two .dic files, removing 1061
+duplicates using the fixdup Vim script and updating the word count.
+
+In both affix files each SFX (and two PFX) directive had to be appended with
+the . at the end of the line. KEY and WORDCHAR directives were removed, and
+MIDWORD was added.  Each SFX block is the union of corresponding blocks from
+sr.aff and sr-Latn.aff.  Header line of each block was updated to the new
+count (2 times the value from the corresponding block in the input affix
+file).
+
+
+Ivan Pešić
+23.06.2022. 
diff --git a/runtime/spell/sr/main.aap b/runtime/spell/sr/main.aap
index 87af4bc..5b2d95e 100644
--- a/runtime/spell/sr/main.aap
+++ b/runtime/spell/sr/main.aap
@@ -1,4 +1,5 @@
 # Aap recipe for Serbian Vim spell files.
+# See README_sr.txt for instructions to get the .aff and .dic files.
 
 # Use a freshly compiled Vim if it exists.
 @if os.path.exists('../../../src/vim'):
@@ -7,136 +8,16 @@
     :progsearch VIM vim
 
 SPELLDIR = ..
-FILES    = sr_RS.aff sr_RS.dic
-           'sr_RS@latin.aff' 'sr_RS@latin.dic'
+FILES    = sr.aff sr.dic
 
-all: $SPELLDIR/sr.utf-8.spl $SPELLDIR/'sr@latin.utf-8.spl' ../README_sr.txt
-
-# Original files will be in the subfolder hunspell-sr after unpacking:
-#    sr.dic    original cyrillic dictionary
-#    sr.aff     original cyrillic affix file
-#    sr-Latn.dic     original latin dictionary file
-#    sr-Latn.aff    original latin affix file
-# Just before using the dictionary files, the right ones are copied to
-#    sr_RS.aff
-#    sr_RS.dic
-#    and
-#    sr_RS@latin.aff
-#    sr_RS@latin.dic
+all: $SPELLDIR/sr.utf-8.spl ../README_sr.txt
 
 $SPELLDIR/sr.utf-8.spl : $FILES
         :sys env LANG=sr_RS.UTF-8
-		$VIM -u NONE -e -c "set enc=utf-8" -c "mkspell! $SPELLDIR/sr sr_RS" -c q
+		$VIM -u NONE -e -c "set enc=utf-8" -c "mkspell! $SPELLDIR/sr sr" -c q
 
-$SPELLDIR/"sr@latin.utf-8.spl" : $FILES
-        :sys env LANG=sr_RS@latin.UTF-8
-		$VIM -u NONE -e -c "set enc=utf-8" -c "mkspell! $SPELLDIR/sr@latin sr_RS@latin" -c q
-
-../README_sr.txt : hunspell-sr/README_sr.txt README_sr_RS.txt
-        :cat README_sr_RS.txt >!$target
-        :print >>$target
-        :print ============================================================== >>$target
-        :print Следи оригинална README датотека: >>$target
-        :print >>$target
-        :cat hunspell-sr/README_sr.txt >>$target
-
-#
-# Used to fetch the files.
-#
-ZIPFILE = http://devbase.net/dict-sr/hunspell-sr-20130715.zip
-
-:attr {fetch = $ZIPFILE} sr_RS.zip
-
-# The files don't depend on the .zip file so that we can delete it.
-# Only download the zip file if the targets don't exist.
-sr_RS.aff sr_RS.dic: {buildcheck=}
-        :assertpkg unzip patch
-        :fetch sr_RS.zip
-        :sys $UNZIP sr_RS.zip
-        :delete sr_RS.zip
-        @if not os.path.exists('sr_RS.orig.aff'):
-            :copy hunspell-sr/sr.aff sr_RS.orig.aff
-        @if not os.path.exists('sr_RS.orig.dic'):
-            :copy hunspell-sr/sr.dic sr_RS.orig.dic
-        @if os.path.exists('sr_RS.diff'):
-            :sys patch <sr_RS.diff
-        :copy sr_RS.orig.aff sr_RS.aff
-        :copy sr_RS.orig.dic sr_RS.dic
-
-        # Remove the 3 misspelled words and update the word count
-#        :sys $VIM -u NONE -e -c "set enc=utf-8"
-#                    -c "e sr_RS.orig.dic"
-#                    -c "%g/ажуриранје/d"
-#                    -c "%g/вишнја/d"
-#                    -c "%g/вишнјевац/d"
-#                    -c "%s/263909/263906/e"
-#                    -c "w! sr_RS.dic"
-#                    -c q
-
-sr_RS@latin.aff sr_RS@latin.dic: {buildcheck=}
-        :assertpkg unzip patch
-        :fetch sr_RS.zip
-        :sys $UNZIP sr_RS.zip
-        :delete sr_RS.zip
-        @if not os.path.exists('sr_RS@latin.orig.aff'):
-            :copy hunspell-sr/sr-Latn.aff 'sr_RS@latin.orig.aff'
-        @if not os.path.exists('sr_RS@latin.orig.dic'):
-            :copy hunspell-sr/sr-Latn.dic 'sr_RS@latin.orig.dic'
-        @if os.path.exists('sr_RS@latin.diff'):
-            :sys patch <'sr_RS@latin.diff'
-        :copy 'sr_RS@latin.orig.aff' 'sr_RS@latin.aff'
-        :copy 'sr_RS@latin.orig.dic' 'sr_RS@latin.dic'
-
-
-        # Remove the 3 duplicated words and update the word count
-#        :sys $VIM -u NONE -e -c "set enc=utf-8"
-#                    -c "e sr_RS@latin.orig.dic"
-#                    -c "%g/\v(ažuriranje)(\_.*\1)@=/d"
-#                    -c "%g/\v(višnja)(\_.*\1)@=/d"
-#                    -c "%g/\v(višnjevac)(\_.*\1)@=/d"
-#                    -c "%s/263909/263906/e"
-#                    -c "w! sr_RS@latin.dic"
-#                    -c q
-
-# Generate diff files, so that others can get the files and apply
-# the diffs to get the Vim versions.
-diff:
-        :assertpkg diff
-        :sys {force} diff -a -C 1 sr_RS.orig.aff sr_RS.aff >sr_RS.diff
-        :sys {force} diff -a -C 1 sr_RS.orig.dic sr_RS.dic >>sr_RS.diff
-        :sys {force} diff -a -C 1 'sr_RS@latin.orig.aff' 'sr_RS@latin.aff' >'sr_RS@latin.diff'
-        :sys {force} diff -a -C 1 'sr_RS@latin.orig.dic' 'sr_RS@latin.dic' >>'sr_RS@latin.diff'
-
-# Delete all the unpacked and generated files, including the "orig" files.
-clean:
-        :delete {force} sr_RS.zip sr_RS.dic
-                        sr_RS.orig.aff sr_RS.orig.dic
-                        sr_RS.aff
-                        'sr_RS@latin.dic' 'sr_RS@latin.aff'
-                        'sr_RS@latin.orig.aff' 'sr_RS@latin.orig.dic'
-        :sys rm -f -r hunspell-sr/
-
-# Check for updated OpenOffice spell files.  When there are changes the
-# ".new.aff" and ".new.dic" files are left behind for manual inspection.
-#
-#check:
-#        :assertpkg unzip diff
-#        :fetch fr_FR.zip
-#        :mkdir tmp
-#        :cd tmp
-#        @try:
-#            @import stat
-#            :sys $UNZIP ../fr_FR.zip
-#            :sys {force} diff ../fr_FR.orig.aff fr_FR.aff >d
-#            @if os.stat('d')[stat.ST_SIZE] > 0:
-#                :copy fr_FR.aff ../fr_FR.new.aff
-#            :sys {force} diff ../fr_FR.orig.dic fr_FR.dic >d
-#            @if os.stat('d')[stat.ST_SIZE] > 0:
-#                :copy fr_FR.dic ../fr_FR.new.dic
-#        @finally:
-#            :cd ..
-#            :delete {r}{f}{q} tmp
-#            :delete fr_FR.zip
+../README_sr.txt : README_sr.txt
+        :copy README_sr.txt $target
 
 
 vim: set sts=4 sw=4 : 
diff --git a/runtime/spell/sr/sr_RS.diff b/runtime/spell/sr/sr_RS.diff
deleted file mode 100644
index 0be9ff0..0000000
--- a/runtime/spell/sr/sr_RS.diff
+++ /dev/null
@@ -1,68 +0,0 @@
-*** sr_RS.orig.aff	Fri Feb 23 20:04:41 2018
---- sr_RS.aff	Fri Feb 23 18:18:48 2018
-***************
-*** 1,10 ****
-! SET UTF-8
-  
-! LANG sr
-! TRY аиоенртсвумклпјдгзбшчцхћњљжфђџАИОЕНРТСВУМКЛПЈДГЗБШЧЦХЋЊЉЖФЂЏ
-! KEY љњертжуиопшђж|асдфгхјклчћ|зџцвбнм|жшђ|ћшч|жчђ|ђћж|зж|љањседрфтгжхуј|јиколпч|азсџдцфвгбх|хнјмк
-! 
-! MAP 4
-! MAP цћ
-! MAP цч
-  MAP зж
---- 1,5 ----
-! SET utf-8
-  
-! MAP 3
-! MAP цћч
-  MAP зж
-***************
-*** 12,14 ****
-  
-! REP 8
-  REP дј ђ
---- 7,11 ----
-  
-! MIDWORD -’
-! 
-! REP 4
-  REP дј ђ
-***************
-*** 17,28 ****
-  REP дж џ
-- REP ц с # Ако хоћу да откуцам слово „С“ могу се залетети за ознаком на тастатури и уписати „Ц“ (C)
-- REP п р # Ако хоћу да откуцам слово „В“ могу се залетети за ознаком и уписати „Б“ (B)
-- REP џ х # Ако хоћу да откуцам слово „Р“ могу се залетети за ознаком и уписати „П“ (P)
-- REP х н # Ако хоћу да откуцам слово „Х“ могу се залетети за ознаком и уписати „Џ“ (X)
--         # Ако хоћу да откуцам слово „В“ могу се залетети за ознаком и уписати „Б“ (B) (покривено KEY паром „в - б“)
-- 
-- ICONV 3
-- ICONV ҵ тц
-- ICONV ҥ нг
-- ICONV ӕ ае
-  
---- 14,15 ----
-*** sr_RS.orig.dic	Fri Feb 23 20:04:42 2018
---- sr_RS.dic	Fri Feb 23 20:04:46 2018
-***************
-*** 1,2 ****
-! 263909
-  а
---- 1,2 ----
-! 263906
-  а
-***************
-*** 882,884 ****
-  ажурираних
-- ажуриранје
-  ажурирано
---- 882,883 ----
-***************
-*** 22177,22180 ****
-  вишку
-- вишнја
-- вишнјевац
-  Вишну
---- 22176,22177 ----
diff --git a/runtime/spell/sr/sr_RS@latin.diff b/runtime/spell/sr/sr_RS@latin.diff
deleted file mode 100644
index 5ff1836..0000000
--- a/runtime/spell/sr/sr_RS@latin.diff
+++ /dev/null
@@ -1,66 +0,0 @@
-*** sr_RS@latin.orig.aff	Fri Feb 23 20:08:28 2018
---- sr_RS@latin.aff	Fri Feb 23 18:18:48 2018
-***************
-*** 1,10 ****
-! SET UTF-8
-  
-! LANG sr-Latn
-! TRY aioenrtsvumklpjdgzbščchćnjljžfđdžAIOENRTSVUMKLPJDGZBŠČCHĆNJLJŽFĐDŽ
-! KEY qwertyuiopšđž|asdfghjklčć|zxcvbnm|žšđ|ćšč|žčđ|đćž|zy|qawsedrftgyhuj|jikolpč|azsxdcfvgbh|hnjmk
-! 
-! MAP 4
-! MAP cć
-! MAP cč
-  MAP zž
---- 1,5 ----
-! SET utf-8
-  
-! MAP 3
-! MAP cćč
-  MAP zž
-***************
-*** 12,20 ****
-  
-! REP 1
-! REP dj đ
-  
-! ICONV ﬁ fi
-! ICONV ﬂ fl
-! ICONV ﬆ st
-! ICONV ĳ ij
-! ICONV œ oe
---- 7,14 ----
-  
-! MIDWORD -’
-  
-! REP 4
-! REP dj đ
-! REP ﬂ fl
-! REP ﬀ ff
-! REP ﬁ fi
-*** sr_RS@latin.orig.dic	Fri Feb 23 20:08:28 2018
---- sr_RS@latin.dic	Fri Feb 23 20:08:53 2018
-***************
-*** 1,2 ****
-! 263909
-  a
---- 1,2 ----
-! 263906
-  a
-***************
-*** 882,884 ****
-  ažuriranih
-- ažuriranje
-  ažurirano
---- 882,883 ----
-***************
-*** 22177,22184 ****
-  višku
-- višnja
-- višnjevac
-  Višnu
-  višnja
-  višnjama
-  višnjare
-  višnje
---- 22176,22181 ----
diff --git a/runtime/syntax/doxygen.vim b/runtime/syntax/doxygen.vim
index 167b17c..36d527b 100644
--- a/runtime/syntax/doxygen.vim
+++ b/runtime/syntax/doxygen.vim
@@ -498,12 +498,16 @@
 
     syn match doxygenLeadingWhite +\(^\s*\*\)\@<=\s*+ contained
 
-    " This is still a proposal, but won't do any harm.
-    aug doxygengroup
-    au!
-    au Syntax UserColor_reset nested call s:Doxygen_Hilights_Base()
-    au Syntax UserColor_{on,reset,enable} nested call s:Doxygen_Hilights()
-    aug END
+    " This is still a proposal, but it is probably fine.  However, it doesn't
+    " work when 'syntax' is set in a modeline, catch the security error.
+    try
+      aug doxygengroup
+        au!
+        au Syntax UserColor_reset nested call s:Doxygen_Hilights_Base()
+        au Syntax UserColor_{on,reset,enable} nested call s:Doxygen_Hilights()
+      aug END
+    catch /E12:/
+    endtry
 
 
     SynLink doxygenBody                   Comment
