diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index 6da5046..6057b57 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1,4 +1,4 @@
-*eval.txt*	For Vim version 8.2.  Last change: 2020 Jun 14
+*eval.txt*	For Vim version 8.2.  Last change: 2020 Jun 17
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -3667,7 +3667,7 @@
 		   "function"	     User defined completion |i_CTRL-X_CTRL-U|
 		   "omni"	     Omni completion |i_CTRL-X_CTRL-O|
 		   "spell"	     Spelling suggestions |i_CTRL-X_s|
-		   "eval"            |complete()| completion
+		   "eval"	     |complete()| completion
 		   "unknown"	     Other internal modes
 
 		If the optional {what} list argument is supplied, then only
@@ -4536,7 +4536,7 @@
 		a very large number.
 		The {list} is changed in place, make a copy first if you do
 		not want that.
-							        *E900*
+								*E900*
 		{maxdepth} means how deep in nested lists changes are made.
 		{list} is not modified when {maxdepth} is 0.
 		{maxdepth} must be positive number.
@@ -5163,7 +5163,7 @@
 		highlight	highlight groups
 		history		:history suboptions
 		locale		locale names (as output of locale -a)
-		mapclear        buffer argument
+		mapclear	buffer argument
 		mapping		mapping name
 		menu		menus
 		messages	|:messages| suboptions
@@ -5189,7 +5189,7 @@
 		If {type} is "cmdline", then the |cmdline-completion| result is
 		returned.  For example, to complete the possible values after
 		a ":call" command: >
-                	echo getcompletion('call ', 'cmdline')
+			echo getcompletion('call ', 'cmdline')
 <
 		If there are no matches, an empty list is returned.  An
 		invalid value for {type} produces an error.
@@ -5770,8 +5770,8 @@
 		Returns information about windows as a List with Dictionaries.
 
 		If {winid} is given Information about the window with that ID
-		is returned.  If the window does not exist the result is an
-		empty list.
+		is returned, as a List with one item.  If the window does not
+		exist the result is an empty list.
 
 		Without {winid} information about all the windows in all the
 		tab pages is returned.
@@ -8606,14 +8606,14 @@
 			    if result.total > result.maxcount &&
 			    \  result.current > result.maxcount
 			      return printf(' /%s [>%d/>%d]', @/,
-			      \             result.current, result.total)
+			      \		    result.current, result.total)
 			    elseif result.total > result.maxcount
 			      return printf(' /%s [%d/>%d]', @/,
-			      \             result.current, result.total)
+			      \		    result.current, result.total)
 			    endif
 			  endif
 			  return printf(' /%s [%d/%d]', @/,
-			  \             result.current, result.total)
+			  \		result.current, result.total)
 			endfunction
 			let &statusline .= '%{LastSearchCount()}'
 
@@ -9386,7 +9386,9 @@
 		Unix) are not resolved.  If the first path component in
 		{filename} designates the current directory, this will be
 		valid for the result as well.  A trailing path separator is
-		not removed either.
+		not removed either. On Unix "//path" is unchanged, but
+		"///path" is simplified to "/path" (this follows the Posix
+		standard).
 		Example: >
 			simplify("./dir/.././/file/") == "./file/"
 <		Note: The combination "dir/.." is only removed if "dir" is
@@ -9696,7 +9698,7 @@
 		    m	halfway a mapping, :normal command, feedkeys() or
 			stuffed command
 		    o	operator pending or waiting for a command argument,
-		        e.g. after |f|
+			e.g. after |f|
 		    a	Insert mode autocomplete active
 		    x	executing an autocommand
 		    w	blocked on waiting, e.g. ch_evalexpr(), ch_read() and
@@ -10450,9 +10452,9 @@
 		If the |+termresponse| feature is missing then the result is
 		an empty dictionary.
 
-		If "cursor_style" is 'y' then |t_RS| will be send to request the
+		If "cursor_style" is 'y' then |t_RS| will be sent to request the
 		current cursor style.
-		If "cursor_blink_mode" is 'y' then |t_RC| will be send to
+		If "cursor_blink_mode" is 'y' then |t_RC| will be sent to
 		request the cursor blink status.
 		"cursor_style" and "cursor_blink_mode" are also set if |t_u7|
 		is not empty, Vim will detect the working of sending |t_RS|
@@ -10916,7 +10918,7 @@
 			GetWinid()->win_screenpos()
 <
 win_splitmove({nr}, {target} [, {options}])		*win_splitmove()*
-	        Move the window {nr} to a new split of the window {target}.
+		Move the window {nr} to a new split of the window {target}.
 		This is similar to moving to {target}, creating a new window
 		using |:split| but having the same contents as window {nr}, and
 		then closing {nr}.
diff --git a/runtime/doc/mlang.txt b/runtime/doc/mlang.txt
index b453a39..2871e5e 100644
--- a/runtime/doc/mlang.txt
+++ b/runtime/doc/mlang.txt
@@ -1,4 +1,4 @@
-*mlang.txt*     For Vim version 8.2.  Last change: 2019 May 05
+*mlang.txt*     For Vim version 8.2.  Last change: 2020 Jun 16
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
diff --git a/runtime/doc/tags b/runtime/doc/tags
index 2ce3487..bdd63b2 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -3897,6 +3897,7 @@
 E107	eval.txt	/*E107*
 E108	eval.txt	/*E108*
 E109	eval.txt	/*E109*
+E1094	vim9.txt	/*E1094*
 E11	cmdline.txt	/*E11*
 E110	eval.txt	/*E110*
 E111	eval.txt	/*E111*
@@ -5798,6 +5799,7 @@
 col()	eval.txt	/*col()*
 coldfusion.vim	syntax.txt	/*coldfusion.vim*
 collapse	tips.txt	/*collapse*
+collate-variable	eval.txt	/*collate-variable*
 color-xterm	syntax.txt	/*color-xterm*
 coloring	syntax.txt	/*coloring*
 colortest.vim	syntax.txt	/*colortest.vim*
@@ -9723,6 +9725,7 @@
 v:charconvert_to	eval.txt	/*v:charconvert_to*
 v:cmdarg	eval.txt	/*v:cmdarg*
 v:cmdbang	eval.txt	/*v:cmdbang*
+v:collate	eval.txt	/*v:collate*
 v:completed_item	eval.txt	/*v:completed_item*
 v:count	eval.txt	/*v:count*
 v:count1	eval.txt	/*v:count1*
diff --git a/runtime/doc/testing.txt b/runtime/doc/testing.txt
index 64b8697..7ac2389 100644
--- a/runtime/doc/testing.txt
+++ b/runtime/doc/testing.txt
@@ -1,4 +1,4 @@
-*testing.txt*	For Vim version 8.2.  Last change: 2020 Jun 13
+*testing.txt*	For Vim version 8.2.  Last change: 2020 Jun 15
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index faf8680..c9716be 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 8.2.  Last change: 2020 Jun 14
+*todo.txt*      For Vim version 8.2.  Last change: 2020 Jun 21
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -40,16 +40,16 @@
 
 Include src/po/vim.pot ?
 
+See if resizing a terminal can be fixed.
+
 Vim9 script:
 Making everything work:
-- assignment to script var should check type
-- Compile: let [var, var] = expr
-  share code for :let between compiled and uncompiled?
-- do not allow "let g:var = value", must drop "let"
+- Error for "g:var: string = 'value'" 
+- Make func()->append('$') work - value is last argument, not first. #6305
 - possible memory leak in test_vim9_func through compile_nested_function.
 - memory leaks in test_vim9_expr
 - memory leaks in test_vim9_script
-- Test that a script-local function in Vim9 script cannot be deleted.
+- more return types depending on the first argument, like sort().
 - Check that when sourcing a Vim9 script, only the global items can be used.
 - Make "true" and "false" work in vim9script
 - Test that a function defined inside a :def function is local to that
@@ -240,10 +240,12 @@
   conversions.
 
 Error numbers available:
-E489, E610, E611, E653, E856, E857, E861
+E489, E610, E611, E653, E856
 
 Remove SPACE_IN_FILENAME ? It is only used for completion.
 
+Patch to use collaction based sorting. (Christian Brabandt, #6229)
+
 Can we detect true color support?  https://gist.github.com/XVilka/8346728
 Try setting a color then request the current color, like using t_u7.
 
@@ -272,6 +274,8 @@
 How about removing Atari MiNT support?
     src/Make_mint.mak, src/os_mint.h, matches with __MINT__
 
+Patch to make :q work with local arglist. (Christian Brabandt, #6286)
+
 Patch to fix drawing error with DirectX. (James Grant, #5688)
 Causes flicker on resizing. Workaround from Ken Takata.
 How about only setting the attribute when part of the Vim window is offscreen?
@@ -285,6 +289,8 @@
 Running test_gui and test_gui_init with Motif sometimes kills the window
 manager.  Problem with Motif?
 
+Patch to add :argdedupe. (Nir Lichtman, #6235)
+
 :map output does not clear the reset of the command line.
 (#5623, also see #5962)
 
@@ -1402,9 +1408,6 @@
 MS-Windows: use WS_HIDE instead of SW_SHOWMINNOACTIVE in os_win32.c?
 Otherwise task flickers in taskbar.
 
-Should make ":@r" handle line continuation. (Cesar Romani, 2016 Jun 26)
-Also for ":@.".
-
 Repeating 'opfunc' in a function only works once. (Tarmean, 2016 Jul 15, #925)
 
 Have a way to get the call stack, in a function and from an exception.
diff --git a/runtime/doc/usr_11.txt b/runtime/doc/usr_11.txt
index 3aca185..f8d0f15 100644
--- a/runtime/doc/usr_11.txt
+++ b/runtime/doc/usr_11.txt
@@ -211,7 +211,7 @@
 - The flag that the file was modified is not set.
 - The process is not running.
 
-You can programatically deal with this situation with the |FileChangedShell|
+You can programmatically deal with this situation with the |FileChangedShell|
 autocommand event.
 
 
diff --git a/runtime/doc/usr_46.txt b/runtime/doc/usr_46.txt
index b588223..b05a660 100644
--- a/runtime/doc/usr_46.txt
+++ b/runtime/doc/usr_46.txt
@@ -112,7 +112,7 @@
 
 Legacy Vim script does have type checking, but this happens at runtime, when
 the code is executed.  And it's permissive, often a computation gives an
-unexpected value instead of reporting an error .  Thus you can define a
+unexpected value instead of reporting an error.  Thus you can define a
 function and think it's fine, but see a problem only later when it is called: >
 	let s:collected = ''
 	func ExtendAndReturn(add)
@@ -142,7 +142,7 @@
 
 Vim9 script is strict, it uses the "+" operator only for numbers and floats.
 For string concatenation ".." must be used.  This avoids mistakes and avoids
-the automatic conversion that gave a suprising result above.  So you change
+the automatic conversion that gave a surprising result above.  So you change
 the first line of the function to: >
 	   s:collected ..= add
 And now it works.
diff --git a/runtime/doc/usr_toc.txt b/runtime/doc/usr_toc.txt
index d5d7615..b17a87d 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: 2020 Jun 11
+*usr_toc.txt*	For Vim version 8.2.  Last change: 2020 Jun 15
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
@@ -340,6 +340,12 @@
 		|45.4|	Editing files with a different encoding
 		|45.5|	Entering language text
 
+|usr_46.txt|  Write plugins using Vim9 script
+		|46.1|	Introduction
+		|46.2|	Variable declarations
+		|46.3|	Functions and types
+		|46.?|	Using a Vim9 script from legacy script
+
 ==============================================================================
 Making Vim Run ~
 
diff --git a/runtime/doc/vim9.txt b/runtime/doc/vim9.txt
index 1f3f120..9a40959 100644
--- a/runtime/doc/vim9.txt
+++ b/runtime/doc/vim9.txt
@@ -1,4 +1,4 @@
-*vim9.txt*	For Vim version 8.2.  Last change: 2020 Jun 14
+*vim9.txt*	For Vim version 8.2.  Last change: 2020 Jun 21
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -30,7 +30,7 @@
 
 Vim script has been growing over time, while preserving backwards
 compatibility.  That means bad choices from the past often can't be changed
-and compability with Vi restricts possible solutions.  Execution is quite
+and compatibility with Vi restricts possible solutions.  Execution is quite
 slow, each line is parsed every time it is executed.
 
 The main goal of Vim9 script is to drastically improve performance.  This is
@@ -68,7 +68,7 @@
 start of a string, thus in many places it cannot be used.  In Vim9 script a
 comment can also start with #.  In Vi this is a command to list text with
 numbers, but you can also use `:number` for that. >
-	let count = 0  # number of occurences
+	let count = 0  # number of occurrences
 
 To improve readability there must be a space between the command and the #
 that starts a comment.  Note that #{ is the start of a dictionary, therefore
@@ -269,6 +269,13 @@
 			PosFunc(arg) :
 			NegFunc(arg)
 
+A special case is "->" for function call chains, it can appear in the next
+line: >
+	let result = GetBuilder()
+			->BuilderSetWidth(333)
+			->BuilderSetHeight(777)
+			->BuilderBuild()
+
 Note that "enddef" cannot be used at the start of a continuation line, it ends
 the current function.
 
@@ -566,7 +573,7 @@
 
 
 Import ~
-							*:import* *:imp*
+						*:import* *:imp* *E1094*
 The exported items can be imported individually in another Vim9 script: >
 	import EXPORTED_CONST from "thatscript.vim"
 	import MyClass from "myclass.vim"
@@ -692,7 +699,7 @@
 to reorder the functions to avoid forward references.
 
 An alternative would be to first scan through the file to locate items and
-figure out their type, so that forward refeferences are found, and only then
+figure out their type, so that forward references are found, and only then
 execute the script and compile the functions.  This means the script has to be
 parsed twice, which is slower, and some conditions at the script level, such
 as checking if a feature is supported, are hard to use.  An attempt was made
diff --git a/runtime/filetype.vim b/runtime/filetype.vim
index b94951c..c0bdef7 100644
--- a/runtime/filetype.vim
+++ b/runtime/filetype.vim
@@ -1,7 +1,7 @@
 " Vim support file to detect file types
 "
 " Maintainer:	Bram Moolenaar <Bram@vim.org>
-" Last Change:	2020 Jun 07
+" Last Change:	2020 Jun 15
 
 " Listen very carefully, I will say this only once
 if exists("did_load_filetypes")
@@ -237,7 +237,7 @@
 au BufNewFile,BufRead *bsd,*.bsdl		setf bsdl
 
 " Bazel (http://bazel.io)
-autocmd BufRead,BufNewFile *.bzl,WORKSPACE,BUILD.bazel 	setf bzl
+autocmd BufRead,BufNewFile *.bzl,WORKSPACE,BUILD.bazel	setf bzl
 if has("fname_case")
   " There is another check for BUILD further below.
   autocmd BufRead,BufNewFile BUILD		setf bzl
@@ -625,8 +625,8 @@
 au BufNewFile,BufRead *.ged,lltxxxxx.txt	setf gedcom
 
 " Git
-au BufNewFile,BufRead COMMIT_EDITMSG,MERGE_MSG,TAG_EDITMSG 	setf gitcommit
-au BufNewFile,BufRead *.git/config,.gitconfig,/etc/gitconfig 	setf gitconfig
+au BufNewFile,BufRead COMMIT_EDITMSG,MERGE_MSG,TAG_EDITMSG	setf gitcommit
+au BufNewFile,BufRead *.git/config,.gitconfig,/etc/gitconfig	setf gitconfig
 au BufNewFile,BufRead */.config/git/config			setf gitconfig
 au BufNewFile,BufRead .gitmodules,*.git/modules/*/config	setf gitconfig
 if !empty($XDG_CONFIG_HOME)
@@ -770,11 +770,11 @@
 au BufNewFile,BufRead */etc/initng/*/*.i,*.ii	setf initng
 
 " Innovation Data Processing
-au BufRead,BufNewFile upstream.dat\c,upstream.*.dat\c,*.upstream.dat\c 	setf upstreamdat
-au BufRead,BufNewFile fdrupstream.log,upstream.log\c,upstream.*.log\c,*.upstream.log\c,UPSTREAM-*.log\c 	setf upstreamlog
+au BufRead,BufNewFile upstream.dat\c,upstream.*.dat\c,*.upstream.dat\c	setf upstreamdat
+au BufRead,BufNewFile fdrupstream.log,upstream.log\c,upstream.*.log\c,*.upstream.log\c,UPSTREAM-*.log\c	setf upstreamlog
 au BufRead,BufNewFile upstreaminstall.log\c,upstreaminstall.*.log\c,*.upstreaminstall.log\c setf upstreaminstalllog
-au BufRead,BufNewFile usserver.log\c,usserver.*.log\c,*.usserver.log\c 	setf usserverlog
-au BufRead,BufNewFile usw2kagt.log\c,usw2kagt.*.log\c,*.usw2kagt.log\c 	setf usw2kagtlog
+au BufRead,BufNewFile usserver.log\c,usserver.*.log\c,*.usserver.log\c	setf usserverlog
+au BufRead,BufNewFile usw2kagt.log\c,usw2kagt.*.log\c,*.usw2kagt.log\c	setf usw2kagtlog
 
 " Ipfilter
 au BufNewFile,BufRead ipf.conf,ipf6.conf,ipf.rules	setf ipfilter
@@ -1073,7 +1073,7 @@
 au BufRead,BufNewfile *.n1ql,*.nql		setf n1ql
 
 " Nano
-au BufNewFile,BufRead */etc/nanorc,*.nanorc  	setf nanorc
+au BufNewFile,BufRead */etc/nanorc,*.nanorc	setf nanorc
 
 " Nastran input/DMAP
 "au BufNewFile,BufRead *.dat			setf nastran
@@ -1156,7 +1156,7 @@
 au BufNewFile,BufRead *.pdf			setf pdf
 
 " PCMK - HAE - crm configure edit
-au BufNewFile,BufRead *.pcmk 			setf pcmk
+au BufNewFile,BufRead *.pcmk			setf pcmk
 
 " Perl
 if has("fname_case")
@@ -1646,10 +1646,10 @@
 
 " Swift
 au BufNewFile,BufRead *.swift			setf swift
-au BufNewFile,BufRead *.swift.gyb 		setf swiftgyb
+au BufNewFile,BufRead *.swift.gyb		setf swiftgyb
 
 " Swift Intermediate Language
-au BufNewFile,BufRead *.sil 			setf sil
+au BufNewFile,BufRead *.sil			setf sil
 
 " Sysctl
 au BufNewFile,BufRead */etc/sysctl.conf,*/etc/sysctl.d/*.conf	setf sysctl
@@ -2066,7 +2066,7 @@
 au BufNewFile,BufRead */tmp/lltmp*		call s:StarSetf('gedcom')
 
 " Git
-au BufNewFile,BufRead */.gitconfig.d/*,/etc/gitconfig.d/* 	call s:StarSetf('gitconfig')
+au BufNewFile,BufRead */.gitconfig.d/*,/etc/gitconfig.d/*	call s:StarSetf('gitconfig')
 
 " Gitolite
 au BufNewFile,BufRead */gitolite-admin/conf/*	call s:StarSetf('gitolite')
diff --git a/runtime/ftplugin/vim.vim b/runtime/ftplugin/vim.vim
index 150f54a..d76fb7f 100644
--- a/runtime/ftplugin/vim.vim
+++ b/runtime/ftplugin/vim.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin
 " Language:	Vim
 " Maintainer:	Bram Moolenaar <Bram@vim.org>
-" Last Change:	2020 May 17
+" Last Change:	2020 Jun 16
 
 " Only do this when not done yet for this buffer
 if exists("b:did_ftplugin")
@@ -83,8 +83,7 @@
 if exists("loaded_matchit")
   let b:match_ignorecase = 0
   let b:match_words =
-	\ '\<fu\%[nction]\>:\<retu\%[rn]\>:\<endf\%[unction]\>,' .
-	\ '\<def\>:\<retu\%[rn]\>:\<enddef\>,' .
+	\ '\<\%(fu\%[nction]\|def\)\>:\<retu\%[rn]\>:\<\%(endf\%[unction]\|enddef\)\>,' .
  	\ '\<\(wh\%[ile]\|for\)\>:\<brea\%[k]\>:\<con\%[tinue]\>:\<end\(w\%[hile]\|fo\%[r]\)\>,' .
 	\ '\<if\>:\<el\%[seif]\>:\<en\%[dif]\>,' .
 	\ '{:},' .
diff --git a/runtime/indent/html.vim b/runtime/indent/html.vim
index 1d2043a..c99eb28 100644
--- a/runtime/indent/html.vim
+++ b/runtime/indent/html.vim
@@ -2,7 +2,7 @@
 " Header: "{{{
 " Maintainer:	Bram Moolenaar
 " Original Author: Andy Wokula <anwoku@yahoo.de>
-" Last Change:	2019 Mar 20
+" Last Change:	2020 Jun 18
 " Version:	1.0
 " Description:	HTML indent script with cached state for faster indenting on a
 "		range of lines.
@@ -223,7 +223,7 @@
 call s:AddITags(s:indent_tags, [
     \ 'a', 'abbr', 'acronym', 'address', 'b', 'bdo', 'big',
     \ 'blockquote', 'body', 'button', 'caption', 'center', 'cite', 'code',
-    \ 'colgroup', 'del', 'dfn', 'dir', 'div', 'dl', 'em', 'fieldset', 'font',
+    \ 'colgroup', 'dd', 'del', 'dfn', 'dir', 'div', 'dl', 'dt', 'em', 'fieldset', 'font',
     \ 'form', 'frameset', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'html',
     \ 'i', 'iframe', 'ins', 'kbd', 'label', 'legend', 'li',
     \ 'map', 'menu', 'noframes', 'noscript', 'object', 'ol',
diff --git a/runtime/indent/testdir/html.in b/runtime/indent/testdir/html.in
index 9c776d6..80ce0cd 100644
--- a/runtime/indent/testdir/html.in
+++ b/runtime/indent/testdir/html.in
@@ -23,4 +23,14 @@
 text
 </div>
 
+<dl>
+<dd>
+dd text
+</dd>
+<dt>
+dt text
+</dt>
+</dl>
+
+
 " END_INDENT
diff --git a/runtime/indent/testdir/html.ok b/runtime/indent/testdir/html.ok
index ad81933..a96141f 100644
--- a/runtime/indent/testdir/html.ok
+++ b/runtime/indent/testdir/html.ok
@@ -23,4 +23,14 @@
     text
 </div>
 
+<dl>
+    <dd>
+	dd text
+    </dd>
+    <dt>
+	dt text
+    </dt>
+</dl>
+
+
 " END_INDENT
diff --git a/runtime/plugin/matchparen.vim b/runtime/plugin/matchparen.vim
index 59d33f4..162430e 100644
--- a/runtime/plugin/matchparen.vim
+++ b/runtime/plugin/matchparen.vim
@@ -1,6 +1,6 @@
 " Vim plugin for showing matching parens
 " Maintainer:  Bram Moolenaar <Bram@vim.org>
-" Last Change: 2019 Oct 28
+" Last Change: 2020 Jun 18
 
 " Exit quickly when:
 " - this plugin was already loaded (or disabled)
@@ -21,6 +21,7 @@
 augroup matchparen
   " Replace all matchparen autocommands
   autocmd! CursorMoved,CursorMovedI,WinEnter * call s:Highlight_Matching_Pair()
+  autocmd! WinLeave * call s:Remove_Matches()
   if exists('##TextChanged')
     autocmd! TextChanged,TextChangedI * call s:Highlight_Matching_Pair()
   endif
@@ -38,10 +39,7 @@
 " for any matching paren.
 func s:Highlight_Matching_Pair()
   " Remove any previous match.
-  if exists('w:paren_hl_on') && w:paren_hl_on
-    silent! call matchdelete(3)
-    let w:paren_hl_on = 0
-  endif
+  call s:Remove_Matches()
 
   " Avoid that we remove the popup menu.
   " Return when there are no colors (looks like the cursor jumps).
@@ -195,6 +193,14 @@
   endif
 endfunction
 
+func s:Remove_Matches()
+  if exists('w:paren_hl_on') && w:paren_hl_on
+    silent! call matchdelete(3)
+    let w:paren_hl_on = 0
+  endif
+endfunc
+
+
 " Define commands that will disable and enable the plugin.
 command DoMatchParen call s:DoMatchParen()
 command NoMatchParen call s:NoMatchParen()
