Update runtime files
diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
index 6aea29a..91f19a9 100644
--- a/.github/CODEOWNERS
+++ b/.github/CODEOWNERS
@@ -99,6 +99,7 @@
 runtime/ftplugin/modula3.vim		@dkearns
 runtime/ftplugin/nroff.vim		@a-vrma
 runtime/ftplugin/nsis.vim		@k-takata
+runtime/ftplugin/octave.vim		@dkearns
 runtime/ftplugin/pascal.vim		@dkearns
 runtime/ftplugin/pbtxt.vim		@lakshayg
 runtime/ftplugin/pdf.vim		@tpope
diff --git a/runtime/autoload/ada.vim b/runtime/autoload/ada.vim
index d04feb9..3f1b403 100644
--- a/runtime/autoload/ada.vim
+++ b/runtime/autoload/ada.vim
@@ -67,13 +67,13 @@
     endfor
 endif
 
-" Section: add	standart exception {{{2
+" Section: add	standard exception {{{2
 "
 for Item in ['Constraint_Error', 'Program_Error', 'Storage_Error', 'Tasking_Error', 'Status_Error', 'Mode_Error', 'Name_Error', 'Use_Error', 'Device_Error', 'End_Error', 'Data_Error', 'Layout_Error', 'Length_Error', 'Pattern_Error', 'Index_Error', 'Translation_Error', 'Time_Error', 'Argument_Error', 'Tag_Error', 'Picture_Error', 'Terminator_Error', 'Conversion_Error', 'Pointer_Error', 'Dereference_Error', 'Update_Error']
     let g:ada#Keywords += [{
 	    \ 'word':  Item,
 	    \ 'menu':  'exception',
-	    \ 'info':  'Ada standart exception.',
+	    \ 'info':  'Ada standard exception.',
 	    \ 'kind':  'x',
 	    \ 'icase': 1}]
 endfor
@@ -210,7 +210,7 @@
    let l:Line = substitute (getline (l:Line_Nr), g:ada#Comment, '', '' )
 
    " Cope with tag searching for items in comments; if we are, don't loop
-   " backards looking for previous lines
+   " backwards looking for previous lines
    if l:Column_Nr > strlen(l:Line)
       " We were in a comment
       let l:Line = getline(l:Line_Nr)
diff --git a/runtime/autoload/adacomplete.vim b/runtime/autoload/adacomplete.vim
index 2659f51..d7bba93 100644
--- a/runtime/autoload/adacomplete.vim
+++ b/runtime/autoload/adacomplete.vim
@@ -14,7 +14,7 @@
 "		15.10.2006 MK Bram's suggestion for runtime integration
 "		05.11.2006 MK Bram suggested not to use include protection for
 "			      autoload
-"		05.11.2006 MK Bram suggested agaist using setlocal omnifunc 
+"		05.11.2006 MK Bram suggested against using setlocal omnifunc 
 "		05.11.2006 MK Bram suggested to save on spaces
 "    Help Page: ft-ada-omni
 "------------------------------------------------------------------------------
diff --git a/runtime/autoload/csscomplete.vim b/runtime/autoload/csscomplete.vim
index f6c5a6c..85e40c8 100644
--- a/runtime/autoload/csscomplete.vim
+++ b/runtime/autoload/csscomplete.vim
@@ -311,7 +311,7 @@
       let values = ["normal", "italic", "oblique", "small-caps", "bold", "bolder", "lighter", "100", "200", "300", "400", "500", "600", "700", "800", "900", "xx-small", "x-small", "small", "medium", "large", "x-large", "xx-large", "larger", "smaller", "sans-serif", "serif", "monospace", "cursive", "fantasy", "caption", "icon", "menu", "message-box", "small-caption", "status-bar"]
     elseif prop =~ '^\%(height\|width\)$'
       let values = ["auto", "border-box", "content-box", "max-content", "min-content", "available", "fit-content"]
-    elseif prop =~ '^\%(left\|rigth\)$'
+    elseif prop =~ '^\%(left\|right\)$'
       let values = ["auto"]
     elseif prop == 'image-rendering'
       let values = ["auto", "crisp-edges", "pixelated"]
diff --git a/runtime/autoload/decada.vim b/runtime/autoload/decada.vim
index 5124429..fda2b76 100644
--- a/runtime/autoload/decada.vim
+++ b/runtime/autoload/decada.vim
@@ -23,7 +23,7 @@
 
 function decada#Unit_Name () dict				     " {{{1
     "	Convert filename into acs unit:
-    "	    1:  remove the file extenstion.
+    "	    1:  remove the file extension.
     "	    2:  replace all double '_' or '-' with an dot (which denotes a separate)
     "	    3:  remove a trailing '_' (which denotes a specification)
     return substitute (substitute (expand ("%:t:r"), '__\|-', ".", "g"), '_$', "", '')
diff --git a/runtime/autoload/getscript.vim b/runtime/autoload/getscript.vim
index a266a55..1b14fe1 100644
--- a/runtime/autoload/getscript.vim
+++ b/runtime/autoload/getscript.vim
@@ -129,7 +129,7 @@
 " insure that wget is executable
   if executable(g:GetLatestVimScripts_wget) != 1
    echoerr "GetLatestVimScripts needs ".g:GetLatestVimScripts_wget." which apparently is not available on your system"
-"   call Dret("GetLatestVimScripts : wget not executable/availble")
+"   call Dret("GetLatestVimScripts : wget not executable/available")
    return
   endif
 
@@ -347,7 +347,7 @@
   set t_ti= t_te= nors
 
  " put current line on top-of-screen and interpret it into
- " a      script identifer  : used to obtain webpage
+ " a      script identifier  : used to obtain webpage
  "        source identifier : used to identify current version
  " and an associated comment: used to report on what's being considered
   if a:0 >= 3
diff --git a/runtime/autoload/haskellcomplete.vim b/runtime/autoload/haskellcomplete.vim
index 48fbac7..759ff87 100644
--- a/runtime/autoload/haskellcomplete.vim
+++ b/runtime/autoload/haskellcomplete.vim
@@ -54,7 +54,7 @@
 
     if b:completingLangExtension
         if a:base ==? ""
-            " Return all posible Lang extensions
+            " Return all possible Lang extensions
             return s:langExtensions
         else
             let l:matches = []
@@ -70,7 +70,7 @@
 
     elseif b:completingOptionsGHC
         if a:base ==? ""
-            " Return all posible GHC options
+            " Return all possible GHC options
             return s:optionsGHC
         else
             let l:matches = []
@@ -86,7 +86,7 @@
 
     elseif b:completingModule
         if a:base ==? ""
-            " Return all posible modules
+            " Return all possible modules
             return s:commonModules
         else
             let l:matches = []
diff --git a/runtime/autoload/htmlcomplete.vim b/runtime/autoload/htmlcomplete.vim
index 6b9d49a..267889d 100644
--- a/runtime/autoload/htmlcomplete.vim
+++ b/runtime/autoload/htmlcomplete.vim
@@ -486,7 +486,7 @@
 			endif
 		endif
 		" Value of attribute completion {{{
-		" If attr contains =\s*[\"'] we catched value of attribute
+		" If attr contains =\s*[\"'] we match value of attribute
 		if attr =~ "=\s*[\"']" || attr =~ "=\s*$"
 			" Let do attribute specific completion
 			let attrname = matchstr(attr, '.*\ze\s*=')
diff --git a/runtime/autoload/netrw.vim b/runtime/autoload/netrw.vim
index 5ea8319..9660a05 100644
--- a/runtime/autoload/netrw.vim
+++ b/runtime/autoload/netrw.vim
@@ -4267,7 +4267,7 @@
   endif
 "  call Decho("  bufnum#".bufnum,'~'.expand("<slnum>"))
 
-  " highjack the current buffer
+  " hijack the current buffer
   "   IF the buffer already has the desired name
   "   AND it is empty
   let curbuf = bufname("%")
@@ -4275,7 +4275,7 @@
    let curbuf = getcwd()
   endif
 "  call Dredir("ls!","NetrwGetFile (renamed buffer back to remote filename<".rfile."> : expand(%)<".expand("%").">)")
-"  call Decho("deciding if netrw may highjack the current buffer#".bufnr("%")."<".curbuf.">",'~'.expand("<slnum>"))
+"  call Decho("deciding if netrw may hijack the current buffer#".bufnr("%")."<".curbuf.">",'~'.expand("<slnum>"))
 "  call Decho("..dirname<".dirname.">  IF dirname == bufname",'~'.expand("<slnum>"))
 "  call Decho("..curbuf<".curbuf.">",'~'.expand("<slnum>"))
 "  call Decho("..line($)=".line("$")." AND this is 1",'~'.expand("<slnum>"))
@@ -4284,7 +4284,7 @@
 "   call Dret("s:NetrwGetBuffer 0<cleared buffer> : highjacking buffer#".bufnr("%"))
    return 0
   else  " DEBUG
-"   call Decho("..did NOT highjack buffer",'~'.expand("<slnum>"))
+"   call Decho("..did NOT hijack buffer",'~'.expand("<slnum>"))
   endif
   " Aug 14, 2021: was thinking about looking for a [No Name] buffer here and using it, but that might cause problems
 
@@ -6845,7 +6845,7 @@
 
   " sanity check
   if empty(a:fname)
-"   call Dret("s:NetrwMarkFile : emtpy fname")
+"   call Dret("s:NetrwMarkFile : empty fname")
    return
   endif
   let curdir = s:NetrwGetCurdir(a:islocal)
diff --git a/runtime/autoload/phpcomplete.vim b/runtime/autoload/phpcomplete.vim
index 4041a80..f9448cb 100644
--- a/runtime/autoload/phpcomplete.vim
+++ b/runtime/autoload/phpcomplete.vim
@@ -9,7 +9,7 @@
 "
 "		let g:phpcomplete_relax_static_constraint = 1/0  [default 0]
 "			Enables completion for non-static methods when completing for static context (::).
-"			This generates E_STRICT level warning, but php calls these methods nontheless.
+"			This generates E_STRICT level warning, but php calls these methods nonetheless.
 "
 "		let g:phpcomplete_complete_for_unknown_classes = 1/0 [default 0]
 "			Enables completion of variables and functions in "everything under the sun" fashion
@@ -28,7 +28,7 @@
 "			This option controls the number of characters the user needs to type before
 "			the tags will be searched for namespaces and classes in typed out namespaces in
 "			"use ..." context. Setting this to 0 is not recommended because that means the code
-"			have to scan every tag, and vim's taglist() function runs extremly slow with a
+"			have to scan every tag, and vim's taglist() function runs extremely slow with a
 "			"match everything" pattern.
 "
 "		let g:phpcomplete_parse_docblock_comments = 1/0 [default 0]
@@ -263,7 +263,7 @@
 				call add(no_namespace_matches, {'word': namespace_for_class.'\'.tag.name, 'kind': tag.kind, 'menu': tag.filename, 'info': tag.filename })
 			endif
 		endfor
-		" if it seems that the tags file have namespace informations we can safely throw
+		" if it seems that the tags file have namespace information we can safely throw
 		" away namespaceless tag matches since we can be sure they are invalid
 		if patched_ctags_detected
 			no_namespace_matches = []
@@ -805,7 +805,7 @@
 		endif
 	endfor
 
-	" resolve the typed in part with namespaces (if theres a \ in it)
+	" resolve the typed in part with namespaces (if there's a \ in it)
 	let [tag_match_pattern, namespace_for_class] = phpcomplete#ExpandClassName(a:base, a:current_namespace, a:imports)
 
 	let tags = []
@@ -921,11 +921,11 @@
 endfunction " }}}
 
 function! phpcomplete#EvaluateModifiers(modifiers, required_modifiers, prohibited_modifiers) " {{{
-	" if theres no modifier, and no modifier is allowed and no modifier is required
+	" if there's no modifier, and no modifier is allowed and no modifier is required
 	if len(a:modifiers) == 0 && len(a:required_modifiers) == 0
 		return 1
 	else
-		" check if every requred modifier is present
+		" check if every required modifier is present
 		for required_modifier in a:required_modifiers
 			if index(a:modifiers, required_modifier) == -1
 				return 0
@@ -1253,7 +1253,7 @@
 				endif
 			endif
 
-			" save the coma position for later use if theres a "naked" , possibly separating a parameter and it is not in a parented part
+			" save the coma position for later use if there's a "naked" , possibly separating a parameter and it is not in a parented part
 			if first_coma_break_pos == -1 && current_char == ','
 				let first_coma_break_pos = len(instruction)
 			endif
@@ -1299,7 +1299,7 @@
 
 	" there were a "naked" coma in the instruction
 	if first_coma_break_pos != -1
-		if instruction !~? '^use' && instruction !~? '^class' " use ... statements and class delcarations should not be broken up by comas
+		if instruction !~? '^use' && instruction !~? '^class' " use ... statements and class declarations should not be broken up by comas
 			let pos = (-1 * first_coma_break_pos) + 1
 			let instruction = instruction[pos :]
 		endif
@@ -1311,7 +1311,7 @@
 		" clear everything up until the first (
 		let instruction = substitute(instruction, '^\(if\|while\|foreach\|for\)\s*(\s*', '', '')
 
-		" lets iterate trough the instruction until we can find the pair for the opening (
+		" lets iterate through the instruction until we can find the pair for the opening (
 		let i = 0
 		let depth = 1
 		while i < len(instruction)
@@ -1419,7 +1419,7 @@
 						let parts = split(substitute(type, '^\\', '', ''), '\')
 						let class_candidate_namespace = join(parts[0:-2], '\')
 						let classname_candidate = parts[-1]
-						" check for renamed namepsace in imports
+						" check for renamed namespace in imports
 						if has_key(classstructure.imports, class_candidate_namespace)
 							let class_candidate_namespace = classstructure.imports[class_candidate_namespace].name
 						endif
@@ -2018,7 +2018,7 @@
 			if getftime(classstructure.file) != classstructure.mtime
 				let valid = 0
 				" we could break here, but the time required for checking probably worth
-				" the the memory we can free by checking every file in the cached hirearchy
+				" the the memory we can free by checking every file in the cached hierarchy
 				call phpcomplete#ClearCachedClassContents(classstructure.file)
 			endif
 		endfor
@@ -2032,7 +2032,7 @@
 			call remove(s:cache_classstructures, cache_key)
 			call phpcomplete#ClearCachedClassContents(full_file_path)
 
-			" fall trough for the read from files path
+			" fall through for the read from files path
 		endif
 	else
 		call phpcomplete#ClearCachedClassContents(full_file_path)
@@ -2141,7 +2141,7 @@
 			let l = lnum
 			let search_line = trait_line
 
-			" add lines from the file until theres no ';' in them
+			" add lines from the file until there's no ';' in them
 			while search_line !~? ';' && l > 0
 				" file lines are reversed so we need to go backwards
 				let l += 1
@@ -2573,7 +2573,7 @@
 				let search_line = line
 				let use_line = line
 
-				" add lines from the file until theres no ';' in them
+				" add lines from the file until there's no ';' in them
 				while search_line !~? ';' && l > 0
 					" file lines are reversed so we need to go backwards
 					let l -= 1
@@ -2605,7 +2605,7 @@
 			" find kind flags from tags or built in methods for the objects we extracted
 			" they can be either classes, interfaces or namespaces, no other thing is importable in php
 			for [key, import] in items(imports)
-				" if theres a \ in the name we have it's definitely not a built in thing, look for tags
+				" if there's a \ in the name we have it's definitely not a built in thing, look for tags
 				if import.name =~ '\\'
 					let patched_ctags_detected = 0
 					let [classname, namespace_for_classes] = phpcomplete#ExpandClassName(import.name, '\', {})
@@ -2662,10 +2662,10 @@
 						let import['kind'] = 'i'
 						let import['builtin'] = 1
 					else
-						" or can be a tag with exactly matchign name
+						" or can be a tag with exactly matching name
 						let tags = phpcomplete#GetTaglist('^'.import['name'].'$')
 						for tag in tags
-							" search for the first matchin namespace, class, interface with no namespace
+							" search for the first matching namespace, class, interface with no namespace
 							if !has_key(tag, 'namespace') && (tag.kind == 'n' || tag.kind == 'c' || tag.kind == 'i' || tag.kind == 't')
 								call extend(import, tag)
 								let import['builtin'] = 0
@@ -2883,7 +2883,7 @@
 	call extend(g:php_builtin_functions, data)
 endfor
 
-" Built in classs
+" Built in class
 let g:php_builtin_classes = {}
 for [ext, data] in items(php_builtin['classes'])
 	call extend(g:php_builtin_classes, data)
@@ -2901,10 +2901,10 @@
 	call extend(g:php_constants, data)
 endfor
 
-" When the classname not found or found but the tags dosen't contain that
-" class we will try to complate any method of any builtin class. To speed up
+" When the classname not found or found but the tags doesn't contain that
+" class we will try to complete any method of any builtin class. To speed up
 " that lookup we compile a 'ClassName::MethodName':'info' dictionary from the
-" builtin class informations
+" builtin class information
 let g:php_builtin_object_functions = {}
 
 " When completing for 'everyting imaginable' (no class context, not a
diff --git a/runtime/autoload/python3complete.vim b/runtime/autoload/python3complete.vim
index 6894bd6..0635ef8 100644
--- a/runtime/autoload/python3complete.vim
+++ b/runtime/autoload/python3complete.vim
@@ -173,7 +173,7 @@
                 pass
         if len(arg_text) == 0:
             # The doc string sometimes contains the function signature
-            #  this works for alot of C modules that are part of the
+            #  this works for a lot of C modules that are part of the
             #  standard library
             doc = func_obj.__doc__
             if doc:
diff --git a/runtime/autoload/pythoncomplete.vim b/runtime/autoload/pythoncomplete.vim
index 5f6fee5..aa28bb7 100644
--- a/runtime/autoload/pythoncomplete.vim
+++ b/runtime/autoload/pythoncomplete.vim
@@ -191,7 +191,7 @@
                 pass
         if len(arg_text) == 0:
             # The doc string sometimes contains the function signature
-            #  this works for alot of C modules that are part of the
+            #  this works for a lot of C modules that are part of the
             #  standard library
             doc = func_obj.__doc__
             if doc:
diff --git a/runtime/autoload/sqlcomplete.vim b/runtime/autoload/sqlcomplete.vim
index ef5ce2e..adbdbab 100644
--- a/runtime/autoload/sqlcomplete.vim
+++ b/runtime/autoload/sqlcomplete.vim
@@ -17,7 +17,7 @@
 "       and complete it.
 "
 " Version 16.0 (Dec 2015)
-"     - NF: If reseting the cache and table, procedure or view completion
+"     - NF: If resetting the cache and table, procedure or view completion
 "           had been used via dbext, have dbext delete or recreate the 
 "           dictionary so that new objects are picked up for the 
 "           next completion.
@@ -554,7 +554,7 @@
         let syn_group_arr = g:omni_sql_precache_syntax_groups
     endif
     " For each group specified in the list, precache all
-    " the sytnax items.
+    " the syntax items.
     if !empty(syn_group_arr)
         for group_name in syn_group_arr
             let syn_items = extend( syn_items, s:SQLCGetSyntaxList(group_name) )
@@ -577,7 +577,7 @@
         let syn_group_arr = g:omni_sql_precache_syntax_groups
     endif
     " For each group specified in the list, precache all
-    " the sytnax items.
+    " the syntax items.
     if !empty(syn_group_arr)
         for group_name in syn_group_arr
             let list_idx = index(s:syn_list, group_name, 0, &ignorecase)
@@ -617,7 +617,7 @@
     else
 	" If the popup is not visible, simple perform the normal
 	" key behaviour.
-	" Must use exec since they key must be preceeded by "\"
+	" Must use exec since the key must be preceded by "\"
 	" or feedkeys will simply push each character of the string
 	" rather than the "key press".
         exec 'call feedkeys("\'.g:ftplugin_sql_omni_key_right.'", "n")'
@@ -634,7 +634,7 @@
     else
 	" If the popup is not visible, simple perform the normal
 	" key behaviour.
-	" Must use exec since they key must be preceeded by "\"
+	" Must use exec since the key must be preceded by "\"
 	" or feedkeys will simply push each character of the string
 	" rather than the "key press".
         exec 'call feedkeys("\'.g:ftplugin_sql_omni_key_left.'", "n")'
@@ -843,7 +843,7 @@
          let curline    = line(".")
          let curcol     = col(".")
 
-         " Do not let searchs wrap
+         " Do not let searches wrap
          setlocal nowrapscan
          " If . was entered, look at the word just before the .
          " We are looking for something like this:
@@ -863,7 +863,7 @@
          " Search forward until one of the following:
          "     1.  Another select/update/delete statement
          "     2.  A ; at the end of a line (the delimiter)
-         "     3.  The end of the file (incase no delimiter)
+         "     3.  The end of the file (in case no delimiter)
          " Yank the visually selected text into the "y register.
          exec 'silent! normal! vl/\c\(\<select\>\|\<update\>\|\<delete\>\|;\s*$\|\%$\)'."\n".'"yy'
 
diff --git a/runtime/autoload/tar.vim b/runtime/autoload/tar.vim
index b6c4c66..e495e82 100644
--- a/runtime/autoload/tar.vim
+++ b/runtime/autoload/tar.vim
@@ -778,7 +778,7 @@
    elseif executable("gzip")
     silent exe "!gzip -d ".shellescape(tartail)
    else
-    echoerr "unable to decompress<".tartail."> on this sytem"
+    echoerr "unable to decompress<".tartail."> on this system"
     if simplify(curdir) != simplify(tarhome)
      " remove decompressed tarball, restore directory
 "     call Decho("delete(".tartail.".tar)")
diff --git a/runtime/autoload/tohtml.vim b/runtime/autoload/tohtml.vim
index 1f94b36..799cf0e 100644
--- a/runtime/autoload/tohtml.vim
+++ b/runtime/autoload/tohtml.vim
@@ -693,7 +693,7 @@
     let user_settings = {}
 
     " Define the correct option if the old option name exists and we haven't
-    " already defined the correct one. Maybe I'll put out a warnig message about
+    " already defined the correct one. Maybe I'll put out a warning message about
     " this sometime and remove the old option entirely at some even later time,
     " but for now just silently accept the old option.
     if exists('g:use_xhtml') && !exists("g:html_use_xhtml")
diff --git a/runtime/autoload/xmlcomplete.vim b/runtime/autoload/xmlcomplete.vim
index 4c1ac4f..55fb031 100644
--- a/runtime/autoload/xmlcomplete.vim
+++ b/runtime/autoload/xmlcomplete.vim
@@ -199,7 +199,7 @@
 	" 1. Events attributes
 	if context =~ '\s'
 
-		" If attr contains =\s*[\"'] we catched value of attribute
+		" If attr contains =\s*[\"'] we catch value of attribute
 		if attr =~ "=\s*[\"']" || attr =~ "=\s*$"
 			" Let do attribute specific completion
 			let attrname = matchstr(attr, '.*\ze\s*=')
diff --git a/runtime/autoload/zip.vim b/runtime/autoload/zip.vim
index f6b876d..9588bbf 100644
--- a/runtime/autoload/zip.vim
+++ b/runtime/autoload/zip.vim
@@ -81,7 +81,7 @@
   " sanity checks
   if !exists("*fnameescape")
    if &verbose > 1
-    echoerr "the zip plugin is not available (your vim doens't support fnameescape())"
+    echoerr "the zip plugin is not available (your vim doesn't support fnameescape())"
    endif
    return
   endif
diff --git a/runtime/compiler/fpc.vim b/runtime/compiler/fpc.vim
index fb4f424..de8e2fe 100644
--- a/runtime/compiler/fpc.vim
+++ b/runtime/compiler/fpc.vim
@@ -12,6 +12,6 @@
   command -nargs=* CompilerSet setlocal <args>
 endif
 
-" NOTE: compiler must be runned with -vb to write whole source path, not only file
+" NOTE: compiler must be run with -vb to write whole source path, not only file
 " name.
 CompilerSet errorformat=%f(%l\\,%c)\ %m
diff --git a/runtime/compiler/tex.vim b/runtime/compiler/tex.vim
index e43be8d..65e15cf 100644
--- a/runtime/compiler/tex.vim
+++ b/runtime/compiler/tex.vim
@@ -18,7 +18,7 @@
 if exists('b:tex_ignore_makefile') || exists('g:tex_ignore_makefile') ||
 			\(!filereadable('Makefile') && !filereadable('makefile'))
 	" If buffer-local variable 'tex_flavor' exists, it defines TeX flavor,
-	" otherwize the same for global variable with same name, else it will be
+	" otherwise the same for global variable with same name, else it will be
 	" LaTeX
 	if exists("b:tex_flavor")
 		let current_compiler = b:tex_flavor
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index e1e9a1b..562198e 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1,4 +1,4 @@
-*eval.txt*	For Vim version 8.2.  Last change: 2021 Aug 16
+*eval.txt*	For Vim version 8.2.  Last change: 2021 Sep 08
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -4864,14 +4864,17 @@
 		Find directory {name} in {path}.  Supports both downwards and
 		upwards recursive directory searches.  See |file-searching|
 		for the syntax of {path}.
+
 		Returns the path of the first found match.  When the found
 		directory is below the current directory a relative path is
 		returned.  Otherwise a full path is returned.
 		If {path} is omitted or empty then 'path' is used.
+
 		If the optional {count} is given, find {count}'s occurrence of
 		{name} in {path} instead of the first one.
 		When {count} is negative return all the matches in a |List|.
-		This is quite similar to the ex-command |:find|.
+
+		This is quite similar to the ex-command `:find`.
 		{only available when compiled with the |+file_in_path|
 		feature}
 
@@ -5094,7 +5097,7 @@
 		The string argument {name} may start with a `:` and can
 		include a [range], these are skipped and not returned.
 		Returns an empty string if a command doesn't exist or if it's
-		ambiguous (for user-defined functions).
+		ambiguous (for user-defined commands).
 
 		For example `fullcommand('s')`, `fullcommand('sub')`,
 		`fullcommand(':%substitute')` all return "substitute".
diff --git a/runtime/doc/index.txt b/runtime/doc/index.txt
index 8c114a2..4af59c6 100644
--- a/runtime/doc/index.txt
+++ b/runtime/doc/index.txt
@@ -1,4 +1,4 @@
-*index.txt*     For Vim version 8.2.  Last change: 2021 Aug 27
+*index.txt*     For Vim version 8.2.  Last change: 2021 Aug 31
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
diff --git a/runtime/doc/insert.txt b/runtime/doc/insert.txt
index 18b40f7..31b820f 100644
--- a/runtime/doc/insert.txt
+++ b/runtime/doc/insert.txt
@@ -1,4 +1,4 @@
-*insert.txt*    For Vim version 8.2.  Last change: 2021 Aug 27
+*insert.txt*    For Vim version 8.2.  Last change: 2021 Aug 31
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index 26b6683..a82bf82 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -1,4 +1,4 @@
-*options.txt*	For Vim version 8.2.  Last change: 2021 Aug 28
+*options.txt*	For Vim version 8.2.  Last change: 2021 Sep 06
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -7176,6 +7176,8 @@
 	If the name "cjk" is included East Asian characters are excluded from
 	spell checking.  This is useful when editing text that also has Asian
 	words.
+	Note that the "medical" dictionary does not exist, it is just an
+	example of a longer name.
 							*E757*
 	As a special case the name of a .spl file can be given as-is.  The
 	first "_xx" in the name is removed and used as the region name
diff --git a/runtime/doc/repeat.txt b/runtime/doc/repeat.txt
index e344ec7..04d85d7 100644
--- a/runtime/doc/repeat.txt
+++ b/runtime/doc/repeat.txt
@@ -1,4 +1,4 @@
-*repeat.txt*    For Vim version 8.2.  Last change: 2021 Jun 27
+*repeat.txt*    For Vim version 8.2.  Last change: 2021 Sep 09
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -893,8 +893,12 @@
 		Sets a breakpoint, that will break whenever the {expression}
 		evaluates to a different value. Example: >
 			:breakadd expr g:lnum
-
 <		Will break, whenever the global variable lnum changes.
+
+		Errors in evaluation are suppressed, you can use the name of a
+		variable that does not exist yet.  This also means you will
+		not notice anything if the expression has a mistake.
+
 		Note if you watch a |script-variable| this will break
 		when switching scripts, since the script variable is only
 		valid in the script where it has been defined and if that
diff --git a/runtime/doc/tags b/runtime/doc/tags
index aa7475f..63956e5 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -2321,6 +2321,7 @@
 :cope	quickfix.txt	/*:cope*
 :copen	quickfix.txt	/*:copen*
 :copy	change.txt	/*:copy*
+:count_quit	windows.txt	/*:count_quit*
 :cp	quickfix.txt	/*:cp*
 :cpf	quickfix.txt	/*:cpf*
 :cpfile	quickfix.txt	/*:cpfile*
@@ -3502,6 +3503,7 @@
 :y	change.txt	/*:y*
 :yank	change.txt	/*:yank*
 :z	various.txt	/*:z*
+:z!	various.txt	/*:z!*
 :z#	various.txt	/*:z#*
 :~	change.txt	/*:~*
 ;	motion.txt	/*;*
@@ -5920,6 +5922,7 @@
 compl-omni	insert.txt	/*compl-omni*
 compl-omni-filetypes	insert.txt	/*compl-omni-filetypes*
 compl-spelling	insert.txt	/*compl-spelling*
+compl-stop	insert.txt	/*compl-stop*
 compl-tag	insert.txt	/*compl-tag*
 compl-vim	insert.txt	/*compl-vim*
 compl-whole-line	insert.txt	/*compl-whole-line*
@@ -7479,6 +7482,7 @@
 i_CTRL-X_CTRL-U	insert.txt	/*i_CTRL-X_CTRL-U*
 i_CTRL-X_CTRL-V	insert.txt	/*i_CTRL-X_CTRL-V*
 i_CTRL-X_CTRL-Y	insert.txt	/*i_CTRL-X_CTRL-Y*
+i_CTRL-X_CTRL-Z	insert.txt	/*i_CTRL-X_CTRL-Z*
 i_CTRL-X_CTRL-]	insert.txt	/*i_CTRL-X_CTRL-]*
 i_CTRL-X_index	index.txt	/*i_CTRL-X_index*
 i_CTRL-X_s	insert.txt	/*i_CTRL-X_s*
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index b7972c0..edcca49 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 8.2.  Last change: 2021 Aug 25
+*todo.txt*      For Vim version 8.2.  Last change: 2021 Sep 08
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -38,13 +38,15 @@
 							*known-bugs*
 -------------------- Known bugs and current work -----------------------
 
+:delcommand -buffer should work
+
 Vim9 - Make everything work:
+- Disallow using numbered function with "g:123" in Vim9 script?  #8760
 - use CheckLegacyAndVim9Success(lines) in many more places
 - Check TODO items in vim9compile.c and vim9execute.c
 - For builtin functions using tv_get_string*() use check_for_string() to be
   more strict about the argument type (not a bool).
     done: balloon_()
-- Disallow using numbered function with "g:123" in Vim9 script?  #8760
 - Check many more builtin function arguments at compile time.
     map() could check that the return type of the function argument matches
     the type of the list or dict member. (#8092)
@@ -223,6 +225,9 @@
 Test_communicate_ipv6(): is flaky on many systems
 Fails in line 64 of Ch_communicate, no exception is thrown.
 
+Patch for Template string: #4634
+Have another look at the implementation.
+
 Rename getdigraphlist -> digraph_getlist() etc.
 
 Valgrind reports memory leaks in test_options.
@@ -259,9 +264,6 @@
 work. (ZyX, 2013 Sep 28) With examples: (Malcolm Rowe, 2015 Dec 24)
 Also see #8487 for an example.
 
-Patch for Template string: #4634
-Have another look at the implementation.
-
 Patch to implement the vimtutor with a plugin: #6414
 Was originally written by Felipe Morales.
 
@@ -1039,6 +1041,9 @@
 
 Problem with 'delcombine'. (agguser, 2017 Nov 10, #2313)
 
+'delcombine' does not work for the command line. (Tony Mechelynck, 2009 Jul
+20)
+
 MS-Windows: buffer completion doesn't work when using backslash (or slash)
 for a path separator. (xtal8, #2201)
 
@@ -2300,9 +2305,6 @@
 
 Now that colnr_T is int instead of unsigned, more type casts can be removed.
 
-'delcombine' does not work for the command line. (Tony Mechelynck, 2009 Jul
-20)
-
 Don't load macmap.vim on startup, turn it into a plugin. (Ron Aaron,
 2009 Apr 7)  Reminder Apr 14.
 
diff --git a/runtime/doc/various.txt b/runtime/doc/various.txt
index 10974ac..7adff41 100644
--- a/runtime/doc/various.txt
+++ b/runtime/doc/various.txt
@@ -1,4 +1,4 @@
-*various.txt*   For Vim version 8.2.  Last change: 2021 Mar 23
+*various.txt*   For Vim version 8.2.  Last change: 2021 Sep 06
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -170,7 +170,7 @@
 			If the mark is "=", a line of dashes is printed
 			around the current line.
 
-							*:z!
+							*:z!*
 :[range]z![+-^.=][count]
 			Like ":z:", but when [count] is not specified, it
 			defaults to the Vim window height minus one.
diff --git a/runtime/doc/vim9.txt b/runtime/doc/vim9.txt
index 346189b..a1d106d 100644
--- a/runtime/doc/vim9.txt
+++ b/runtime/doc/vim9.txt
@@ -1,4 +1,4 @@
-*vim9.txt*	For Vim version 8.2.  Last change: 2021 Aug 23
+*vim9.txt*	For Vim version 8.2.  Last change: 2021 Sep 08
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -1416,11 +1416,10 @@
 To import all exported items under a specific identifier: >
 	import * as That from 'thatscript.vim'
 
-{not implemented yet: using "This as That"}
-
 Then you can use "That.EXPORTED_CONST", "That.someValue", etc.  You are free
 to choose the name "That", but it is highly recommended to use the name of the
-script file to avoid confusion.
+script file to avoid confusion.  Also avoid command names, because the name
+will shadow them.
 
 `:import` can also be used in legacy Vim script.  The imported items still
 become script-local, even when the "s:" prefix is not given.
diff --git a/runtime/doc/windows.txt b/runtime/doc/windows.txt
index d0d67f8..cd39dac 100644
--- a/runtime/doc/windows.txt
+++ b/runtime/doc/windows.txt
@@ -1,4 +1,4 @@
-*windows.txt*   For Vim version 8.2.  Last change: 2021 Apr 10
+*windows.txt*   For Vim version 8.2.  Last change: 2021 Sep 09
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -296,7 +296,7 @@
 ----------------
 
 :q[uit]
-:{count}q[uit]
+:{count}q[uit]						*:count_quit*
 CTRL-W q						*CTRL-W_q*
 CTRL-W CTRL-Q						*CTRL-W_CTRL-Q*
 		Without {count}: Quit the current window.  If {count} is
@@ -390,7 +390,8 @@
 CTRL-W o						*CTRL-W_o* *E445*
 CTRL-W CTRL-O					*CTRL-W_CTRL-O* *:on* *:only*
 		Make the current window the only one on the screen.  All other
-		windows are closed.  For {count} see |:quit| command.
+		windows are closed.  For {count} see the `:quit` command
+		above |:count_quit|.
 
 		When the 'hidden' option is set, all buffers in closed windows
 		become hidden.
diff --git a/runtime/filetype.vim b/runtime/filetype.vim
index 0975ccd..d0d4053 100644
--- a/runtime/filetype.vim
+++ b/runtime/filetype.vim
@@ -1400,7 +1400,7 @@
 " Radiance
 au BufNewFile,BufRead *.rad,*.mat		setf radiance
 
-" Raku (formelly Perl6)
+" Raku (formerly Perl6)
 au BufNewFile,BufRead *.pm6,*.p6,*.t6,*.pod6,*.raku,*.rakumod,*.rakudoc,*.rakutest  setf raku
 
 " Ratpoison config/command files
diff --git a/runtime/ftplugin/dosini.vim b/runtime/ftplugin/dosini.vim
index 0d0f0f8..6a53dfd 100644
--- a/runtime/ftplugin/dosini.vim
+++ b/runtime/ftplugin/dosini.vim
@@ -1,5 +1,5 @@
 " Vim filetype plugin file
-" Language:             Configuration File (ini file) for MSDOS/MS Windows
+" Language:             Configuration File (ini file) for MS-DOS/MS Windows
 " Previous Maintainer:  Nikolai Weibull <now@bitwi.se>
 " Latest Revision:      2008-07-09
 
diff --git a/runtime/ftplugin/matlab.vim b/runtime/ftplugin/matlab.vim
index a1a282f..d3c74b4 100644
--- a/runtime/ftplugin/matlab.vim
+++ b/runtime/ftplugin/matlab.vim
@@ -1,7 +1,8 @@
 " Vim filetype plugin file
 " Language:	matlab
 " Maintainer:	Jake Wasserman <jwasserman at gmail dot com>
-" Last Change: 	2019 Sep 27
+" Update By:    Gabriel Dupras
+" Last Change: 	2021 Aug 30
 
 " Contributors:
 " Charles Campbell
@@ -15,9 +16,9 @@
 set cpo-=C
 
 if exists("loaded_matchit")
- let s:conditionalEnd = '\%(([^()]*\)\@!\<end\>\%([^()]*)\)\@!'
+ let s:conditionalEnd = '\%(\%(^\|;\)\s*\)\@<=end\>'
  let b:match_words=
-   \ '\<\%(if\|switch\|for\|while\)\>:\<\%(elseif\|case\|break\|continue\|else\|otherwise\)\>:'.s:conditionalEnd.','.
+   \ '\<\%(if\|switch\|for\|while\|try\)\>:\<\%(elseif\|case\|break\|continue\|else\|otherwise\|catch\)\>:' . s:conditionalEnd . ',' .
    \ '\<function\>:\<return\>:\<endfunction\>'
  unlet s:conditionalEnd
 endif
diff --git a/runtime/ftplugin/ocaml.vim b/runtime/ftplugin/ocaml.vim
index 8a62860..20172c9 100644
--- a/runtime/ftplugin/ocaml.vim
+++ b/runtime/ftplugin/ocaml.vim
@@ -371,7 +371,7 @@
               endif
             else
               let annot_file_name = ''
-              "(Pierre Vittet: I have commented 4b because this was chrashing
+              "(Pierre Vittet: I have commented 4b because this was crashing
               "my vim (it produced infinite loop))
               "
               " 4b. anarchy : the renamed _build directory may be higher in the hierarchy
@@ -462,8 +462,8 @@
 
   "b. 'search' and 'match' work to find the type information
 
-      "In:  - lin1,col1: postion of expression first char
-      "     - lin2,col2: postion of expression last char
+      "In:  - lin1,col1: position of expression first char
+      "     - lin2,col2: position of expression last char
       "Out: - the pattern to be looked for to find the block
       " Must be called in the source buffer (use of line2byte)
     function! s:Block_pattern(lin1,lin2,col1,col2)
@@ -581,7 +581,7 @@
       let res = substitute (a:res, "\n", "", "g" )
       "remove double space
       let res =substitute(res , "  ", " ", "g")
-      "remove space at begining of string.
+      "remove space at beginning of string.
       let res = substitute(res, "^ *", "", "g")
       return res
     endfunction
diff --git a/runtime/ftplugin/octave.vim b/runtime/ftplugin/octave.vim
new file mode 100644
index 0000000..7cab7c2
--- /dev/null
+++ b/runtime/ftplugin/octave.vim
@@ -0,0 +1,63 @@
+" Vim filetype plugin file
+" Language:	GNU Octave
+" Maintainer:	Doug Kearns <dougkearns@gmail.com>
+" Last Change:	2021 Sep 02
+
+if exists("b:did_ftplugin")
+  finish
+endif
+let b:did_ftplugin = 1
+
+let s:cpo_save = &cpo
+set cpo&vim
+
+" TODO: update Matlab ftplugin and source it as the base file?
+
+setlocal comments=s:%{,m:\ ,e:%},s:#{,m:\ ,e:#},:%,:#
+setlocal commentstring=#\ %s
+setlocal formatoptions-=t formatoptions+=croql
+
+setlocal keywordprg=info\ octave\ --vi-keys\ --index-search
+
+if exists("loaded_matchit") && !exists("b:match_words")
+  let b:match_words = '\<unwind_protect\>:\<unwind_protect_cleanup\>:\<end_unwind_protect\>'
+  if exists("octave_use_matlab_end")
+    let b:match_words ..= ',' ..
+	                \ '\<\%(classdef\|enumeration\|events\|for\|function\|if\|methods\|parfor\|properties\|switch\|while\|try\)\>' ..
+                        \ ':' ..
+			\ '\<\%(elseif\|else\|case\|otherwise\|break\|continue\|catch\)\>' ..
+                        \ ':' ..
+			\ '\<end\>'
+  else
+    let b:match_words ..= ',' ..
+                        \ '\<classdef\>:\<endclassdef\>,' ..
+			\ '\<enumeration\>:\<endenumeration\>,' ..
+			\ '\<events\>:\<endevents\>,' ..
+			\ '\<do\>:\<\%(break\|continue\)\>:\<until\>' ..
+			\ '\<for\>:\<\%(break\|continue\)\>:\<endfor\>,' ..
+			\ '\<function\>:\<return\>:\<endfunction\>,' ..
+			\ '\<if\>:\<\%(elseif\|else\)\>:\<endif\>,' ..
+			\ '\<methods\>:\<endmethods\>,' ..
+			\ '\<parfor\>:\<endparfor\>,' ..
+			\ '\<properties\>:\<endproperties\>,' ..
+			\ '\<switch\>:\<\%(case\|otherwise\)\>:\<endswitch\>,' ..
+			\ '\<while\>:\<\%(break\|continue\)\>:\<endwhile\>,' ..
+			\ '\<try\>:\<catch\>:\<end_try_catch\>'
+  endif
+  " only match in statement position
+  let s:statement_start = escape('\%(\%(^\|;\)\s*\)\@<=', '\')
+  let b:match_words = substitute(b:match_words, '\\<', s:statement_start, 'g')
+endif
+
+if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter")
+  let b:browsefilter = "GNU Octave Source Files (*.m)\t*.m\n" ..
+		     \ "All Files (*.*)\t*.*\n"
+endif
+
+let b:undo_ftplugin = "setl com< cms< fo< kp< " ..
+		    \ "| unlet! b:browsefilter b:match_words"
+
+let &cpo = s:cpo_save
+unlet s:cpo_save
+
+" vim: nowrap sw=2 sts=2 ts=8 noet:
diff --git a/runtime/ftplugin/systemverilog.vim b/runtime/ftplugin/systemverilog.vim
index e350427..38ed1ad 100644
--- a/runtime/ftplugin/systemverilog.vim
+++ b/runtime/ftplugin/systemverilog.vim
@@ -32,7 +32,7 @@
     \ '\<checker\>:\<endchecker\>,' .
     \ '\<class\>:\<endclass\>,' .
     \ '\<clocking\>:\<endclocking\>,' .
-    \ '\<gruop\>:\<endgruop\>,' .
+    \ '\<group\>:\<endgroup\>,' .
     \ '\<interface\>:\<endinterface\>,' .
     \ '\<package\>:\<endpackage\>,' .
     \ '\<program\>:\<endprogram\>,' .
diff --git a/runtime/ftplugin/tex.vim b/runtime/ftplugin/tex.vim
index 1147001..0d68b51 100644
--- a/runtime/ftplugin/tex.vim
+++ b/runtime/ftplugin/tex.vim
@@ -28,7 +28,7 @@
 
 " Tell Vim how to recognize LaTeX \include{foo} and plain \input bar :
 let &l:include .= '\|\\include{'
-" On some file systems, "{" and "}" are inluded in 'isfname'.  In case the
+" On some file systems, "{" and "}" are included in 'isfname'.  In case the
 " TeX file has \include{fname} (LaTeX only), strip everything except "fname".
 let &l:includeexpr = "substitute(v:fname, '^.\\{-}{\\|}.*', '', 'g')"
 
diff --git a/runtime/indent/ada.vim b/runtime/indent/ada.vim
index 1ca7fba..6c8ab05 100644
--- a/runtime/indent/ada.vim
+++ b/runtime/indent/ada.vim
@@ -219,7 +219,7 @@
       " Move indent in twice (next 'when' will move back)
       let ind = ind + 2 * shiftwidth()
    elseif line =~ '^\s*end\s*record\>'
-      " Move indent back to tallying 'type' preceeding the 'record'.
+      " Move indent back to tallying 'type' preceding the 'record'.
       " Allow indent to be equal to 'end record's.
       let ind = s:MainBlockIndent( ind+shiftwidth(), lnum, 'type\>', '' )
    elseif line =~ '\(^\s*new\>.*\)\@<!)\s*[;,]\s*$'
diff --git a/runtime/indent/cdl.vim b/runtime/indent/cdl.vim
index 4f9b7a8..fb4fe27 100644
--- a/runtime/indent/cdl.vim
+++ b/runtime/indent/cdl.vim
@@ -16,8 +16,8 @@
     "finish
 endif
 
-" find out if an "...=..." expresion is an assignment (or a conditional)
-" it scans 'line' first, and then the previos lines
+" find out if an "...=..." expression is an assignment (or a conditional)
+" it scans 'line' first, and then the previous lines
 fun! CdlAsignment(lnum, line)
   let f = -1
   let lnum = a:lnum
@@ -33,7 +33,7 @@
       endif
       " it's formula if there's a ';', 'elsE', 'theN', 'enDif' or 'expr'
       " conditional if there's a '<', '>', 'elseif', 'if', 'and', 'or', 'not',
-      " 'memberis', 'childrenof' and other \k\+of funcions
+      " 'memberis', 'childrenof' and other \k\+of functions
       let f = line[inicio-1] =~? '[en;]' || strpart(line, inicio-4, 4) =~? 'ndif\|expr'
     endw
     let lnum = prevnonblank(lnum-1)
@@ -106,7 +106,7 @@
     elseif c == '(' || c ==? 'f' " '(' or 'if'
       let ind = ind + shiftwidth()
     else " c == '='
-      " if it is an asignment increase indent
+      " if it is an assignment increase indent
       if f == -1 " we don't know yet, find out
 	let f = CdlAsignment(lnum, strpart(line, 0, inicio))
       end
@@ -117,11 +117,11 @@
   endw
 
   " CURRENT LINE, if it starts with a closing element, decrease indent
-  " or if it starts with '=' (asignment), increase indent
+  " or if it starts with '=' (assignment), increase indent
   if match(thisline, '^\c\s*\(else\|then\|endif\|[);]\)') >= 0
     let ind = ind - shiftwidth()
   elseif match(thisline, '^\s*=') >= 0
-    if f == -1 " we don't know yet if is an asignment, find out
+    if f == -1 " we don't know yet if is an assignment, find out
       let f = CdlAsignment(lnum, "")
     end
     if f == 1 " formula increase it
diff --git a/runtime/indent/config.vim b/runtime/indent/config.vim
index 074f467..c987a78 100644
--- a/runtime/indent/config.vim
+++ b/runtime/indent/config.vim
@@ -62,8 +62,8 @@
     let ind = s:GetOffsetOf(line, '\[')
   endif
 
-  " if previous line had an unmatched closing parantheses,
-  " indent to the matching opening parantheses
+  " if previous line had an unmatched closing parentheses,
+  " indent to the matching opening parentheses
   if line =~ '[^(]\+\\\@<!)$'
     call search(')', 'bW')
     let lnum = searchpair('\\\@<!(', '', ')', 'bWn')
diff --git a/runtime/indent/dtd.vim b/runtime/indent/dtd.vim
index 963ac40..30c06aa 100644
--- a/runtime/indent/dtd.vim
+++ b/runtime/indent/dtd.vim
@@ -119,16 +119,16 @@
     " Next comes the content model.  If the token we’ve found isn’t a
     " parenthesis it must be either ANY, EMPTY or some random junk.  Either
     " way, we’re done indenting this element, so set it to that of the first
-    " line so that the terminating “>” winds up having the same indention.
+    " line so that the terminating “>” winds up having the same indentation.
     if token != '('
       return indent
     endif
 
     " Now go through the content model.  We need to keep track of the nesting
     " of parentheses.  As soon as we hit 0 we’re done.  If that happens we must
-    " have a complete content model.  Thus set indention to be the same as that
+    " have a complete content model.  Thus set indentation to be the same as that
     " of the first line so that the terminating “>” winds up having the same
-    " indention.  Otherwise, we’ll indent to the innermost parentheses not yet
+    " indentation.  Otherwise, we’ll indent to the innermost parentheses not yet
     " matched.
     let [indent_of_innermost, end] = s:indent_to_innermost_parentheses(line, end)
     if indent_of_innermost != -1
diff --git a/runtime/indent/erlang.vim b/runtime/indent/erlang.vim
index 625cfde..4e7bf4e 100644
--- a/runtime/indent/erlang.vim
+++ b/runtime/indent/erlang.vim
@@ -57,7 +57,7 @@
 " ======================
 
 " Indtokens are "indentation tokens". See their exact format in the
-" documentaiton of the s:GetTokensFromLine function.
+" documentation of the s:GetTokensFromLine function.
 
 " Purpose:
 "   Calculate the new virtual column after the given segment of a line.
@@ -75,7 +75,7 @@
 "   s:CalcVCol("\t'\tx', b", 1, 4, 4)  -> 10
 function! s:CalcVCol(line, first_index, last_index, vcol, tabstop)
 
-  " We copy the relevent segment of the line, otherwise if the line were
+  " We copy the relevant segment of the line, otherwise if the line were
   " e.g. `"\t", term` then the else branch below would consume the `", term`
   " part at once.
   let line = a:line[a:first_index : a:last_index]
@@ -604,7 +604,7 @@
 function! s:BeginElementFoundIfEmpty(stack, token, curr_vcol, stored_vcol, sw)
   if empty(a:stack)
     if a:stored_vcol ==# -1
-      call s:Log('    "' . a:token . '" directly preceeds LTI -> return')
+      call s:Log('    "' . a:token . '" directly precedes LTI -> return')
       return [1, a:curr_vcol + a:sw]
     else
       call s:Log('    "' . a:token .
@@ -825,7 +825,7 @@
         if ret | return res | endif
 
         if stored_vcol ==# -1
-          call s:Log('    End of clause directly preceeds LTI -> return')
+          call s:Log('    End of clause directly precedes LTI -> return')
           return 0
         else
           call s:Log('    End of clause (but not end of line) -> return')
diff --git a/runtime/indent/json.vim b/runtime/indent/json.vim
index c649e37..09c7d7a 100644
--- a/runtime/indent/json.vim
+++ b/runtime/indent/json.vim
@@ -1,6 +1,6 @@
 " Vim indent file
 " Language:		JSON
-" Mantainer:		Eli Parra <eli@elzr.com> https://github.com/elzr/vim-json
+" Maintainer:		Eli Parra <eli@elzr.com> https://github.com/elzr/vim-json
 " Last Change:          2020 Aug 30
 "   https://github.com/jakar/vim-json/commit/20b650e22aa750c4ab6a66aa646bdd95d7cd548a#diff-e81fc111b2052e306d126bd9989f7b7c
 " Original Author:	Rogerz Zhang <rogerz.zhang at gmail.com> http://github.com/rogerz/vim-json
diff --git a/runtime/indent/lifelines.vim b/runtime/indent/lifelines.vim
index 0d9b2b4..e6d6161 100644
--- a/runtime/indent/lifelines.vim
+++ b/runtime/indent/lifelines.vim
@@ -11,7 +11,7 @@
 let b:did_indent = 1
 
 " LifeLines uses cindent without ; line terminator, C functions
-" declarations, C keywords, C++ formating
+" declarations, C keywords, C++ formatting
 setlocal cindent
 setlocal cinwords=""
 setlocal cinoptions+=+0
diff --git a/runtime/indent/objc.vim b/runtime/indent/objc.vim
index beadca9..a5451a5 100644
--- a/runtime/indent/objc.vim
+++ b/runtime/indent/objc.vim
@@ -15,7 +15,7 @@
 " Set the function to do the work.
 setlocal indentexpr=GetObjCIndent()
 
-" To make a colon (:) suggest an indentation other than a goto/swich label,
+" To make a colon (:) suggest an indentation other than a goto/switch label,
 setlocal indentkeys-=:
 setlocal indentkeys+=<:>
 
diff --git a/runtime/indent/pov.vim b/runtime/indent/pov.vim
index e806756..f74c96b 100644
--- a/runtime/indent/pov.vim
+++ b/runtime/indent/pov.vim
@@ -44,7 +44,7 @@
     return -1
   endif
 
-  " Search backwards for the frist non-empty, non-comment line.
+  " Search backwards for the first non-empty, non-comment line.
   let plnum = prevnonblank(v:lnum - 1)
   let plind = indent(plnum)
   while plnum > 0 && synIDattr(synID(plnum, plind+1, 0), "name") =~? "comment"
diff --git a/runtime/indent/ruby.vim b/runtime/indent/ruby.vim
index 2a267fd..559d865 100644
--- a/runtime/indent/ruby.vim
+++ b/runtime/indent/ruby.vim
@@ -265,7 +265,7 @@
         \ ]
 
   " Most Significant line based on the previous one -- in case it's a
-  " contination of something above
+  " continuation of something above
   let indent_info.plnum_msl = s:GetMSL(indent_info.plnum)
 
   for callback_name in indent_callback_names
diff --git a/runtime/indent/sqlanywhere.vim b/runtime/indent/sqlanywhere.vim
index 601c567..d39fa32 100644
--- a/runtime/indent/sqlanywhere.vim
+++ b/runtime/indent/sqlanywhere.vim
@@ -9,7 +9,7 @@
 " Notes:
 "    Indenting keywords are based on Oracle and Sybase Adaptive Server
 "    Anywhere (ASA).  Test indenting was done with ASA stored procedures and
-"    fuctions and Oracle packages which contain stored procedures and
+"    functions and Oracle packages which contain stored procedures and
 "    functions.
 "    This has not been tested against Microsoft SQL Server or
 "    Sybase Adaptive Server Enterprise (ASE) which use the Transact-SQL
diff --git a/runtime/indent/systemverilog.vim b/runtime/indent/systemverilog.vim
index 590fd4d..16fb451 100644
--- a/runtime/indent/systemverilog.vim
+++ b/runtime/indent/systemverilog.vim
@@ -64,7 +64,7 @@
     let vverb = 0
   endif
 
-  " Indent accoding to last line
+  " Indent according to last line
   " End of multiple-line comment
   if last_line =~ '\*/\s*$' && last_line !~ '/\*.\{-}\*/'
     let ind = ind - offset_comment1
@@ -220,7 +220,7 @@
 
   endif
 
-  " Return the indention
+  " Return the indentation
   return ind
 endfunction
 
diff --git a/runtime/indent/tex.vim b/runtime/indent/tex.vim
index 8a44ade..d356ba9 100644
--- a/runtime/indent/tex.vim
+++ b/runtime/indent/tex.vim
@@ -288,7 +288,7 @@
             let ind = ind - shiftwidth()
             let stay = 0
         endif
-        " lines following to '\item' are intented once again:
+        " lines following to '\item' are indented once again:
         if line =~ g:tex_items
             let ind = ind + shiftwidth()
             let stay = 0
diff --git a/runtime/indent/treetop.vim b/runtime/indent/treetop.vim
index 2c6eecf..42ec1c8 100644
--- a/runtime/indent/treetop.vim
+++ b/runtime/indent/treetop.vim
@@ -34,5 +34,5 @@
     let ind -= shiftwidth()
   end
 
-  retur ind
+  return ind
 endfunction
diff --git a/runtime/indent/typescript.vim b/runtime/indent/typescript.vim
index b6b2cb5..e899f83 100644
--- a/runtime/indent/typescript.vim
+++ b/runtime/indent/typescript.vim
@@ -460,7 +460,7 @@
         return 1
     endif
 
-    " Put all the lines on one line and do normal spliting after that
+    " Put all the lines on one line and do normal splitting after that
     if l:count > 1
         while l:count > 1
             let l:count -= 1
diff --git a/runtime/indent/verilog.vim b/runtime/indent/verilog.vim
index ab3d0ba..e81197c 100644
--- a/runtime/indent/verilog.vim
+++ b/runtime/indent/verilog.vim
@@ -76,7 +76,7 @@
     let vverb = 0
   endif
 
-  " Indent accoding to last line
+  " Indent according to last line
   " End of multiple-line comment
   if last_line =~ '\*/\s*$' && last_line !~ '/\*.\{-}\*/'
     let ind = ind - offset_comment1
@@ -219,7 +219,7 @@
 
   endif
 
-  " Return the indention
+  " Return the indentation
   return ind
 endfunction
 
diff --git a/runtime/keymap/kana.vim b/runtime/keymap/kana.vim
index 23b5f87..9aff4eb 100644
--- a/runtime/keymap/kana.vim
+++ b/runtime/keymap/kana.vim
@@ -364,7 +364,7 @@
 ppe っぺ
 ppo っぽ
 
-" Proceded by a small `tu' and followed by a small 'ya', 'yu' or 'yo'
+" Preceded by a small `tu' and followed by a small 'ya', 'yu' or 'yo'
 kkya っきゃ
 kkyu っきゅ
 kkyo っきょ
@@ -683,7 +683,7 @@
 PPE ッペ
 PPO ッポ
 
-" Proceded by a small `tu' and followed by a small 'ya', 'yu' or 'yo'
+" Preceded by a small `tu' and followed by a small 'ya', 'yu' or 'yo'
 KKYA ッキャ
 KKYU ッキュ
 KKYO ッキョ
diff --git a/runtime/keymap/korean.vim b/runtime/keymap/korean.vim
index 044e3b9..64ae519 100644
--- a/runtime/keymap/korean.vim
+++ b/runtime/keymap/korean.vim
@@ -10,7 +10,7 @@
 " BUT, simply mapping each letter of Hangul with sequence of alphabet 1 by 1
 " can fail to combine Hangul jamo (conconants and vowels) right.
 " For example, sequentially pressing `ㅅㅓㅇㅜㄹㄷㅐㅎㅏㄱㅛ` can not only be
-" combined as `서울대학교`, but alse `성ㅜㄹ댛ㅏㄱ교`, which is totally 
+" combined as `서울대학교`, but also `성ㅜㄹ댛ㅏㄱ교`, which is totally 
 " nonsense. 
 " Though combining Hangul is deterministic with law that each letter must be 
 " one of (consonant + vowel) or (consonant + vowel + consonant), there is no
diff --git a/runtime/keymap/russian-jcukenwintype.vim b/runtime/keymap/russian-jcukenwintype.vim
index 25d6286..2d5856a 100644
--- a/runtime/keymap/russian-jcukenwintype.vim
+++ b/runtime/keymap/russian-jcukenwintype.vim
@@ -4,7 +4,7 @@
 " Useful mainly with utf-8 but may work with other encodings
 
 " Derived from russian-jcuken.vim by Artem Chuprina <ran@ran.pp.ru>
-" Typewriter variant of standart russian layout
+" Typewriter variant of standard russian layout
 " Maintainer:   Denis Proskurin <danwerspb@gmail.com>
 " Last Changed: 2015 May 15
 
diff --git a/runtime/keymap/russian-typograph.vim b/runtime/keymap/russian-typograph.vim
index a85e861..e0fbf22 100644
--- a/runtime/keymap/russian-typograph.vim
+++ b/runtime/keymap/russian-typograph.vim
@@ -106,7 +106,7 @@
 <char-0x005d>	    <char-0x044a>	" CYRILLIC SMALL LETTER HARD SIGN
 <char-0x007d>	    <char-0x042a>	" CYRILLIC CAPITAL LETTER HARD SIGN
 
-"	    ALPHABETIC 2st ROW
+"	    ALPHABETIC 2nd ROW
 
 <char-0x0061>	    <char-0x0444>	" CYRILLIC SMALL LETTER EF
 <char-0x0041>	    <char-0x0424>	" CYRILLIC CAPITAL LETTER EF
@@ -131,7 +131,7 @@
 <char-0x0027>	    <char-0x044d>	" CYRILLIC SMALL LETTER E
 <char-0x0022>	    <char-0x042d>	" CYRILLIC CAPITAL LETTER E
 
-"	    ALPHABETIC 3st ROW
+"	    ALPHABETIC 3rd ROW
 
 <char-0x007a>	    <char-0x044f>	" CYRILLIC SMALL LETTER YA
 <char-0x005a>	    <char-0x042f>	" CYRILLIC CAPITAL LETTER YA
diff --git a/runtime/plugin/tohtml.vim b/runtime/plugin/tohtml.vim
index 2c85b57..08df19b 100644
--- a/runtime/plugin/tohtml.vim
+++ b/runtime/plugin/tohtml.vim
@@ -62,7 +62,7 @@
 "   7.3_v14 (Vim 7.3.1246): Allow suppressing line number anchors using
 "			    g:html_line_ids=0. Allow customizing
 "			    important IDs (like line IDs and fold IDs) using
-"			    g:html_id_expr evalutated when the buffer conversion
+"			    g:html_id_expr evaluated when the buffer conversion
 "			    is started.
 "   7.3_v13 (Vim 7.3.1088): Keep foldmethod at manual in the generated file and
 "			    insert modeline to set it to manual.
diff --git a/runtime/syntax/2html.vim b/runtime/syntax/2html.vim
index 13504ed..ea9db15 100644
--- a/runtime/syntax/2html.vim
+++ b/runtime/syntax/2html.vim
@@ -499,7 +499,7 @@
     endif
   elseif s:settings.line_ids
     " if lines are not being numbered the only reason this function gets called
-    " is to put the line IDs on each line; "text" will be emtpy but lnr will
+    " is to put the line IDs on each line; "text" will be empty but lnr will
     " always be non-zero, however we don't want to use the <input> because that
     " won't work as nice for empty text
     function! s:HtmlFormat_n(text, style_id, diff_style_id, lnr)
@@ -1034,7 +1034,7 @@
   " ProgressBar Indicator
   let s:progressbar={}
 
-  " Progessbar specific functions
+  " Progressbar specific functions
 
   func! s:SetProgbarColor()
     if hlID("TOhtmlProgress") != 0
diff --git a/runtime/syntax/abel.vim b/runtime/syntax/abel.vim
index 67d7e4f..dbed541 100644
--- a/runtime/syntax/abel.vim
+++ b/runtime/syntax/abel.vim
@@ -59,7 +59,7 @@
 syn match  abelTypeIdChar "[,']" contained
 syn match  abelTypeIdEnd  ";" contained
 
-" string contstants and special characters within them
+" string constants and special characters within them
 syn match  abelSpecial contained "\\['\\]"
 syn region abelString start=+'+ skip=+\\"+ end=+'+ contains=abelSpecial
 
diff --git a/runtime/syntax/ada.vim b/runtime/syntax/ada.vim
index c9d2b06..415c952 100644
--- a/runtime/syntax/ada.vim
+++ b/runtime/syntax/ada.vim
@@ -159,7 +159,7 @@
 
 " Section: end {{{1
 " Unless special ("end loop", "end if", etc.), "end" marks the end of a
-" begin, package, task etc. Assiging it to adaEnd.
+" begin, package, task etc. Assigning it to adaEnd.
 syntax match    adaEnd	/\<end\>/
 
 syntax keyword  adaPreproc		 pragma
diff --git a/runtime/syntax/ahdl.vim b/runtime/syntax/ahdl.vim
index 664bd38..3a40dcf 100644
--- a/runtime/syntax/ahdl.vim
+++ b/runtime/syntax/ahdl.vim
@@ -38,7 +38,7 @@
 
 syn keyword ahdlTodo contained TODO
 
-" String contstants
+" String constants
 syn region ahdlString start=+"+  skip=+\\"+  end=+"+
 
 " valid integer number formats (decimal, binary, octal, hex)
diff --git a/runtime/syntax/aspvbs.vim b/runtime/syntax/aspvbs.vim
index 8b4443b..44909b6 100644
--- a/runtime/syntax/aspvbs.vim
+++ b/runtime/syntax/aspvbs.vim
@@ -34,7 +34,7 @@
 
 
 " Functions and methods that are in VB but will cause errors in an ASP page
-" This is helpfull if your porting VB code to ASP
+" This is helpful if your porting VB code to ASP
 " I removed (Count, Item) because these are common variable names in AspVBScript
 syn keyword AspVBSError contained Val Str CVar CVDate DoEvents GoSub Return GoTo
 syn keyword AspVBSError contained Stop LinkExecute Add Type LinkPoke
@@ -56,7 +56,7 @@
 syn match AspVBSError contained "Respon\?ce\.\S*"
 syn match AspVBSError contained "Respose\.\S*"
 " When I looked up the VBScript syntax it mentioned that Property Get/Set/Let
-" statements are illegal, however, I have recived reports that they do work.
+" statements are illegal, however, I have received reports that they do work.
 " So I commented it out for now.
 " syn match AspVBSError contained "\<Property\s\+\(Get\|Let\|Set\)\>"
 
@@ -108,7 +108,7 @@
 " Colorize boolean constants:
 syn keyword AspVBSMethods contained true false
 
-" AspVBScript Number Contstants
+" AspVBScript Number Constants
 " Integer number, or floating point number without a dot.
 syn match  AspVBSNumber	contained	"\<\d\+\>"
 " Floating point number, with dot
@@ -116,7 +116,7 @@
 " Floating point number, starting with a dot
 syn match  AspVBSNumber	contained	"\.\d\+\>"
 
-" String and Character Contstants
+" String and Character Constants
 " removed (skip=+\\\\\|\\"+) because VB doesn't have backslash escaping in
 " strings (or does it?)
 syn region  AspVBSString	contained	  start=+"+  end=+"+ keepend
@@ -143,7 +143,7 @@
 syn region AspVBSFold start="^\s*\(class\)\s\+.*$" end="^\s*end\s\+\(class\)\>.*$" fold contained transparent keepend
 syn region AspVBSFold start="^\s*\(private\|public\)\=\(\s\+default\)\=\s\+\(sub\|function\)\s\+.*$" end="^\s*end\s\+\(function\|sub\)\>.*$" fold contained transparent keepend
 
-" Define AspVBScript delimeters
+" Define AspVBScript delimiters
 " <%= func("string_with_%>_in_it") %> This is illegal in ASP syntax.
 syn region  AspVBScriptInsideHtmlTags keepend matchgroup=Delimiter start=+<%=\=+ end=+%>+ contains=@AspVBScriptTop, AspVBSFold
 syn region  AspVBScriptInsideHtmlTags keepend matchgroup=Delimiter start=+<script\s\+language="\=vbscript"\=[^>]*\s\+runatserver[^>]*>+ end=+</script>+ contains=@AspVBScriptTop
diff --git a/runtime/syntax/cfg.vim b/runtime/syntax/cfg.vim
index a50297d..f347b13 100644
--- a/runtime/syntax/cfg.vim
+++ b/runtime/syntax/cfg.vim
@@ -32,7 +32,7 @@
 syn match  CfgComment	";.*"
 syn match  CfgComment	"\/\/.*"
 
-" Define the default hightlighting.
+" Define the default highlighting.
 " Only when an item doesn't have highlighting yet
 hi def link CfgOnOff     Label
 hi def link CfgComment	Comment
diff --git a/runtime/syntax/csc.vim b/runtime/syntax/csc.vim
index 6e5d8b9..b1bc4d6 100644
--- a/runtime/syntax/csc.vim
+++ b/runtime/syntax/csc.vim
@@ -141,7 +141,7 @@
 sy	match	cscBPMacro	contained	"!"
 sy	match	cscBPW	"!\s*\a*"	contains=cscBPmacro
 
-" when wanted, highlighting lhs members or erros in asignments (may lag the editing)
+" when wanted, highlighting lhs members or errors in assignments (may lag the editing)
 if exists("csc_asignment")
 	sy	match	cscEqError	'\("[^"]*"\s*\|[^][\t !%()*+,--/:;<=>{}~]\+\s*\|->\s*\)*=\([^=]\@=\|$\)'
 	sy	region	cscFormula	transparent matchgroup=cscVarName start='\("[^"]*"\|[^][\t !%()*+,--/:;<=>{}~]\+\)\s*=\([^=]\@=\|\n\)' skip='"[^"]*"' end=';' contains=ALLBUT,cscFormula,cscFormulaIn,cscBPMacro,cscCondition
diff --git a/runtime/syntax/cupl.vim b/runtime/syntax/cupl.vim
index 5b93b0d..54495f8 100644
--- a/runtime/syntax/cupl.vim
+++ b/runtime/syntax/cupl.vim
@@ -23,7 +23,7 @@
 " cuplHeaderContents uses default highlighting except for numbers
 syn match cuplHeaderContents ".\+;"me=e-1 contains=cuplNumber contained
 
-" String contstants
+" String constants
 syn region cuplString start=+'+ end=+'+
 syn region cuplString start=+"+ end=+"+
 
diff --git a/runtime/syntax/dosbatch.vim b/runtime/syntax/dosbatch.vim
index 249e6f7..f003a65 100644
--- a/runtime/syntax/dosbatch.vim
+++ b/runtime/syntax/dosbatch.vim
@@ -1,5 +1,5 @@
 " Vim syntax file
-" Language:	MSDOS batch file (with NT command extensions)
+" Language:	MS-DOS batch file (with NT command extensions)
 " Maintainer:	Mike Williams <mrw@eandem.co.uk>
 " Filenames:    *.bat
 " Last Change:	6th September 2009
diff --git a/runtime/syntax/doxygen.vim b/runtime/syntax/doxygen.vim
index cfd5452..167b17c 100644
--- a/runtime/syntax/doxygen.vim
+++ b/runtime/syntax/doxygen.vim
@@ -1,4 +1,4 @@
-" DoxyGen syntax hilighting extension for c/c++/idl/java
+" DoxyGen syntax highlighting extension for c/c++/idl/java
 " Language:     doxygen on top of c, cpp, idl, java, php
 " Maintainer:   Michael Geddes <vimmer@frog.wheelycreek.net>
 " Author:       Michael Geddes
@@ -54,7 +54,7 @@
 try
   set cpo&vim
 
-  " Start of Doxygen syntax hilighting:
+  " Start of Doxygen syntax highlighting:
   "
 
   " C/C++ Style line comments
@@ -256,7 +256,7 @@
   syn match doxygenLinkRest +[^*@\\]\|\*/\@!\|[@\\]\(endlink\>\)\@!+ contained skipnl nextgroup=doxygenLinkRest,doxygenContinueLinkComment
   syn match doxygenContinueLinkComment contained +^\s*\*\=[^/]+me=e-1 nextgroup=doxygenLinkRest
   syn match doxygenLinkError "\*/" contained
-  " #Link hilighting.
+  " #Link highlighting.
   syn match doxygenHashLink /\(\h\w*\)\?#\(\.\w\@=\|\w\+\|::\|()\)\+/ contained contains=doxygenHashSpecial
   syn match doxygenHashSpecial /#/ contained
   syn match doxygenHyperLink /\(\s\|^\s*\*\?\)\@<=\(http\|https\|ftp\):\/\/[-0-9a-zA-Z_?&=+#%/.!':;@~]\+/ contained
@@ -306,7 +306,7 @@
   syn region doxygenFormula contained matchgroup=doxygenFormulaEnds start=+f\[+ end=+[@\\]f]+ contains=doxygenFormulaSpecial,doxygenFormulaOperator,doxygenAtom
   syn region doxygenAtom contained transparent matchgroup=doxygenFormulaOperator start=+{+ end=+}+ contains=doxygenAtom,doxygenFormulaSpecial,doxygenFormulaOperator
 
-  " Add TODO hilighting.
+  " Add TODO highlighting.
   syn keyword doxygenTODO contained TODO README XXX FIXME
 
   " Supported HTML subset.  Not perfect, but okay.
diff --git a/runtime/syntax/focexec.vim b/runtime/syntax/focexec.vim
index a75aed4..187fd50 100644
--- a/runtime/syntax/focexec.vim
+++ b/runtime/syntax/focexec.vim
@@ -8,7 +8,7 @@
 " this is a very simple syntax file - I will be improving it
 " one thing is how to do computes
 " I don't like that &vars and FUSE() functions highlight to the same color
-" I think some of these things should get different hilights -
+" I think some of these things should get different highlights -
 "  should MODIFY commands look different than TABLE?
 
 " quit when a syntax file was already loaded
diff --git a/runtime/syntax/forth.vim b/runtime/syntax/forth.vim
index 9b39a7f..721bceb 100644
--- a/runtime/syntax/forth.vim
+++ b/runtime/syntax/forth.vim
@@ -181,7 +181,7 @@
 syn match forthInteger '\<-\=[0-9]\+.\=\>'
 syn match forthInteger '\<&-\=[0-9]\+.\=\>'
 " recognize hex and binary numbers, the '$' and '%' notation is for gforth
-syn match forthInteger '\<\$\x*\x\+\>' " *1* --- dont't mess
+syn match forthInteger '\<\$\x*\x\+\>' " *1* --- don't mess
 syn match forthInteger '\<\x*\d\x*\>'  " *2* --- this order!
 syn match forthInteger '\<%[0-1]*[0-1]\+\>'
 syn match forthFloat '\<-\=\d*[.]\=\d\+[DdEe]\d\+\>'
diff --git a/runtime/syntax/hamster.vim b/runtime/syntax/hamster.vim
index 64d9598..975562d 100644
--- a/runtime/syntax/hamster.vim
+++ b/runtime/syntax/hamster.vim
@@ -9,7 +9,7 @@
 " It allows the use of multiple news- and mailserver and combines them to one
 " mail- and newsserver for the news/mail-client. It load faster than a normal
 " newsreader because many threads can run simultaneous. It contains scorefile
-" for news and mail, a build-in script language, the GUI allows translation to
+" for news and mail, a built-in script language, the GUI allows translation to
 " other languages, it can be used in a network and that's not all features...
 "
 " quit when a syntax file was already loaded
diff --git a/runtime/syntax/idl.vim b/runtime/syntax/idl.vim
index 6a4ce7e..2f20dec 100644
--- a/runtime/syntax/idl.vim
+++ b/runtime/syntax/idl.vim
@@ -7,7 +7,7 @@
 
 " This is an experiment.  IDL's structure is simple enough to permit a full
 " grammar based approach to rather than using a few heuristics.  The result
-" is large and somewhat repetative but seems to work.
+" is large and somewhat repetitive but seems to work.
 
 " There are some Microsoft extensions to idl files that are here.  Some of
 " them are disabled by defining idl_no_ms_extensions.
diff --git a/runtime/syntax/iss.vim b/runtime/syntax/iss.vim
index e41de5d..34bb698 100644
--- a/runtime/syntax/iss.vim
+++ b/runtime/syntax/iss.vim
@@ -2,10 +2,10 @@
 " Language:             Inno Setup File (iss file) and My InnoSetup extension
 " Maintainer:           Jason Mills (jmills@cs.mun.ca)
 " Previous Maintainer:  Dominique Stéphan (dominique@mggen.com)
-" Last Change:          2019 Sep 27
+" Last Change:          2021 Aug 30
 "
 " Todo:
-"  - The paramter String: is matched as flag string (because of case ignore).
+"  - The parameter String: is matched as flag string (because of case ignore).
 "  - Pascal scripting syntax is not recognized.
 "  - Embedded double quotes confuse string matches. e.g. "asfd""asfa"
 
diff --git a/runtime/syntax/mma.vim b/runtime/syntax/mma.vim
index 0683adc..d2f22e9 100644
--- a/runtime/syntax/mma.vim
+++ b/runtime/syntax/mma.vim
@@ -12,7 +12,7 @@
 "
 "       let filetype_m="mma"
 "
-" I also recommend setting the default 'Comment' hilighting to something
+" I also recommend setting the default 'Comment' highlighting to something
 " other than the color used for 'Function', since both are plentiful in
 " most mathematica files, and they are often the same color (when using
 " background=dark).
@@ -109,7 +109,7 @@
 syntax region mmaComment start=+(\*+ end=+\*)+ skipempty contains=@mmaNotes,mmaItem,@mmaCommentStrings,mmaemPHAsis,mmaComment
 
 " Function Comments:
-"   just like a normal comment except the first sentance is Special ala Java
+"   just like a normal comment except the first sentence is Special ala Java
 "   (** *)
 "   TODO - fix this for nesting, or not...
 syntax region mmaFunctionComment start="(\*\*\+" end="\*\+)" contains=@mmaNotes,mmaItem,mmaFunctionTitle,@mmaCommentStrings,mmaemPHAsis,mmaComment
diff --git a/runtime/syntax/objc.vim b/runtime/syntax/objc.vim
index b29313a..7c6e2d5 100644
--- a/runtime/syntax/objc.vim
+++ b/runtime/syntax/objc.vim
@@ -64,7 +64,7 @@
 " ObjC type specifier
 syn keyword objcTypeSpecifier __kindof __covariant
 
-" ObjC Type Infomation Parameters
+" ObjC Type Information Parameters
 syn keyword objcTypeInfoParams ObjectType KeyType
 
 " shorthand
diff --git a/runtime/syntax/postscr.vim b/runtime/syntax/postscr.vim
index 00418f5..5af57aa 100644
--- a/runtime/syntax/postscr.vim
+++ b/runtime/syntax/postscr.vim
@@ -6,7 +6,7 @@
 " URL:          http://www.eandem.co.uk/mrw/vim
 "
 " Options Flags:
-" postscr_level                 - language level to use for highligting (1, 2, or 3)
+" postscr_level                 - language level to use for highlighting (1, 2, or 3)
 " postscr_display               - include display PS operators
 " postscr_ghostscript           - include GS extensions
 " postscr_fonts                 - highlight standard font names (a lot for PS 3)
@@ -469,12 +469,12 @@
   syn keyword postscrConstant   contained SubsVector UnderlineThickness FamilyName FontBBox CurMID
   syn keyword postscrConstant   contained Weight
 
-" PS2 User paramters
+" PS2 User parameters
   syn keyword postscrConstant   contained MaxFontItem MinFontCompress MaxUPathItem MaxFormItem MaxPatternItem
   syn keyword postscrConstant   contained MaxScreenItem MaxOpStack MaxDictStack MaxExecStack MaxLocalVM
   syn keyword postscrConstant   contained VMReclaim VMThreshold
 
-" PS2 System paramters
+" PS2 System parameters
   syn keyword postscrConstant   contained SystemParamsPassword StartJobPassword BuildTime ByteOrder RealFormat
   syn keyword postscrConstant   contained MaxFontCache CurFontCache MaxOutlineCache CurOutlineCache
   syn keyword postscrConstant   contained MaxUPathCache CurUPathCache MaxFormCache CurFormCache
@@ -496,15 +496,15 @@
 " Page duplexing operators
   syn keyword postscrL2Operator   duplexmode firstside newsheet setduplexmode settumble tumble
 
-" Device compatability operators
+" Device compatibility operators
   syn keyword postscrL2Operator   devdismount devformat devmount devstatus
   syn keyword postscrL2Repeat     devforall
 
-" Imagesetter compatability operators
+" Imagesetter compatibility operators
   syn keyword postscrL2Operator   accuratescreens checkscreen pagemargin pageparams setaccuratescreens setpage
   syn keyword postscrL2Operator   setpagemargin setpageparams
 
-" Misc compatability operators
+" Misc compatibility operators
   syn keyword postscrL2Operator   appletalktype buildtime byteorder checkpassword defaulttimeouts diskonline
   syn keyword postscrL2Operator   diskstatus manualfeed manualfeedtimeout margins mirrorprint pagecount
   syn keyword postscrL2Operator   pagestackorder printername processcolors sethardwareiomode setjobtimeout
diff --git a/runtime/syntax/sgml.vim b/runtime/syntax/sgml.vim
index d60040c..00d58d1 100644
--- a/runtime/syntax/sgml.vim
+++ b/runtime/syntax/sgml.vim
@@ -174,7 +174,7 @@
 " SGML specific
 " abbreviated regions
 "
-" No highlighing, highlighing is done by contained elements.
+" No highlighting, highlighting is done by contained elements.
 "
 " PROVIDES: @sgmlRegionHook
 "
@@ -192,7 +192,7 @@
 " real (non-empty) elements. We cannot do syntax folding
 " as in xml, because end tags may be optional in sgml depending
 " on the dtd.
-" No highlighing, highlighing is done by contained elements.
+" No highlighting, highlighting is done by contained elements.
 "
 " PROVIDES: @sgmlRegionHook
 "
@@ -225,7 +225,7 @@
 "
 " <tag id="lola"/>
 "
-" TODO use sgmlEmptyTag intead of sgmlTag
+" TODO use sgmlEmptyTag instead of sgmlTag
 syn match    sgmlEmptyRegion
     \ +<[^ /!?>"']\(\_[^"'<>]\|"\_[^"]*"\|'\_[^']*'\)*/>+
     \ contains=sgmlEmptyTag
diff --git a/runtime/syntax/spup.vim b/runtime/syntax/spup.vim
index e5f58be..9284abf 100644
--- a/runtime/syntax/spup.vim
+++ b/runtime/syntax/spup.vim
@@ -25,7 +25,7 @@
 let s:cpo_save = &cpo
 set cpo&vim
 
-" don't hightlight several keywords like subsections
+" don't highlight several keywords like subsections
 "let strict_subsections = 1
 
 " highlight types usually found in DECLARE section
@@ -35,7 +35,7 @@
 
 " one line comment syntax (# comments)
 " 1. allow appended code after comment, do not complain
-" 2. show code beginnig with the second # as an error
+" 2. show code beginning with the second # as an error
 " 3. show whole lines with more than one # as an error
 if !exists("oneline_comments")
     let oneline_comments = 2
@@ -177,7 +177,7 @@
 syn cluster spupOrdinary  add=spupError,spupString,spupComment
 syn cluster spupTextproc  contains=spupTextprocGeneric,spupTextprocError
 
-" define syncronizing; especially OPERATION sections can become very large
+" define synchronizing; especially OPERATION sections can become very large
 syn sync clear
 syn sync minlines=100
 syn sync maxlines=500
diff --git a/runtime/syntax/st.vim b/runtime/syntax/st.vim
index 8160c77..ffa7820 100644
--- a/runtime/syntax/st.vim
+++ b/runtime/syntax/st.vim
@@ -44,7 +44,7 @@
 
 syn case ignore
 
-" the symols prefixed by a '#'
+" the symbols prefixed by a '#'
 syn match  stSymbol	"\(#\<[a-z_][a-z0-9_]*\>\)"
 syn match  stSymbol	"\(#'[^']*'\)"
 
@@ -58,7 +58,7 @@
 
 syn case match
 
-" a try to higlight paren mismatches
+" a try to highlight paren mismatches
 syn region stParen	transparent start='(' end=')' contains=ALLBUT,stParenError
 syn match  stParenError	")"
 syn region stBlock	transparent start='\[' end='\]' contains=ALLBUT,stBlockError
diff --git a/runtime/syntax/tcl.vim b/runtime/syntax/tcl.vim
index 04dbbd2..64efd6f 100644
--- a/runtime/syntax/tcl.vim
+++ b/runtime/syntax/tcl.vim
@@ -168,7 +168,7 @@
 
 " PACK
 " commands associated with pack
-syn keyword tcltkPackSwitch	contained	forget info propogate slaves
+syn keyword tcltkPackSwitch	contained	forget info propagate slaves
 syn keyword tcltkPackConfSwitch	contained	after anchor before expand fill in ipadx ipady padx pady side
 syn region tcltkCommand matchgroup=tcltkCommandColor start="\<pack\>" matchgroup=NONE skip="^\s*$" end="]\|[^\\]*\s*$"he=e-1  contains=tclLineContinue,tcltkPackSwitch,tcltkPackConf,tcltkPackConfSwitch,tclNumber,tclVarRef,tclString,tcltkCommand keepend
 
diff --git a/runtime/syntax/tmux.vim b/runtime/syntax/tmux.vim
index d541998..4f435ab 100644
--- a/runtime/syntax/tmux.vim
+++ b/runtime/syntax/tmux.vim
@@ -8,7 +8,7 @@
     finish
 endif
 
-" Explicitly change compatiblity options to Vim's defaults because this file
+" Explicitly change compatibility options to Vim's defaults because this file
 " uses line continuations.
 let s:original_cpo = &cpo
 set cpo&vim