Update runtime files.
diff --git a/runtime/compiler/dart.vim b/runtime/compiler/dart.vim
new file mode 100644
index 0000000..f9ebfe1
--- /dev/null
+++ b/runtime/compiler/dart.vim
@@ -0,0 +1,26 @@
+" Vim compiler file
+" Compiler:	Dart VM
+" Maintainer:	Doug Kearns <dougkearns@gmail.com>
+" Last Change:	2019 May 08
+
+if exists("current_compiler")
+  finish
+endif
+let current_compiler = "dart"
+
+if exists(":CompilerSet") != 2		" older Vim always used :setlocal
+  command -nargs=* CompilerSet setlocal <args>
+endif
+
+let s:cpo_save = &cpo
+set cpo&vim
+
+CompilerSet makeprg=dart
+CompilerSet errorformat=%E%f:%l:%c:\ Error:\ %m,
+		       \%CTry\ %.%#,
+		       \%Z\ %#^%\\+,
+		       \%C%.%#,
+		       \%-G%.%#
+
+let &cpo = s:cpo_save
+unlet s:cpo_save
diff --git a/runtime/compiler/dart2js.vim b/runtime/compiler/dart2js.vim
new file mode 100644
index 0000000..b6a4e4d
--- /dev/null
+++ b/runtime/compiler/dart2js.vim
@@ -0,0 +1,28 @@
+" Vim compiler file
+" Compiler:	Dart to JavaScript Compiler
+" Maintainer:	Doug Kearns <dougkearns@gmail.com>
+" Last Change:	2019 May 08
+
+if exists("current_compiler")
+  finish
+endif
+let current_compiler = "dart2js"
+
+if exists(":CompilerSet") != 2		" older Vim always used :setlocal
+  command -nargs=* CompilerSet setlocal <args>
+endif
+
+let s:cpo_save = &cpo
+set cpo&vim
+
+CompilerSet makeprg=dart2js
+CompilerSet errorformat=%E%f:%l:%c:,
+		       \%-GError:\ Compilation\ failed.,
+		       \%CError:\ %m,
+		       \%Z\ %#^%\\+,
+		       \%C%.%#,
+		       \%trror:\ %m,
+		       \%-G%.%#
+
+let &cpo = s:cpo_save
+unlet s:cpo_save
diff --git a/runtime/compiler/dart2native.vim b/runtime/compiler/dart2native.vim
new file mode 100644
index 0000000..51bdab0
--- /dev/null
+++ b/runtime/compiler/dart2native.vim
@@ -0,0 +1,28 @@
+" Vim compiler file
+" Compiler:	Dart to Native Compiler
+" Maintainer:	Doug Kearns <dougkearns@gmail.com>
+" Last Change:	2019 May 08
+
+if exists("current_compiler")
+  finish
+endif
+let current_compiler = "dart2native"
+
+if exists(":CompilerSet") != 2		" older Vim always used :setlocal
+  command -nargs=* CompilerSet setlocal <args>
+endif
+
+let s:cpo_save = &cpo
+set cpo&vim
+
+CompilerSet makeprg=dart2native
+CompilerSet errorformat=%E%f:%l:%c:\ Error:\ %m,
+		       \%CTry\ %.%#,
+		       \%Z\ %#^%\\+,
+		       \%Z%$,
+		       \%C%.%#,
+		       \%E%f:\ %trror:\ %m,
+		       \%-G%.%#
+
+let &cpo = s:cpo_save
+unlet s:cpo_save
diff --git a/runtime/compiler/dartanalyser.vim b/runtime/compiler/dartanalyser.vim
new file mode 100644
index 0000000..e691d80
--- /dev/null
+++ b/runtime/compiler/dartanalyser.vim
@@ -0,0 +1,23 @@
+" Vim compiler file
+" Compiler:	Dart Analyzer
+" Maintainer:	Doug Kearns <dougkearns@gmail.com>
+" Last Change:	2019 May 08
+
+if exists("current_compiler")
+  finish
+endif
+let current_compiler = "dartanalyzer"
+
+if exists(":CompilerSet") != 2		" older Vim always used :setlocal
+  command -nargs=* CompilerSet setlocal <args>
+endif
+
+let s:cpo_save = &cpo
+set cpo&vim
+
+CompilerSet makeprg=dartanalyzer\ --format\ machine
+CompilerSet errorformat=%t%\\w%\\+\|%\\w%\\+\|%\\w%\\+\|%f\|%l\|%c\|%\\d%\\+\|%m,
+		       \%-G%.%#
+
+let &cpo = s:cpo_save
+unlet s:cpo_save
diff --git a/runtime/compiler/dartdevc.vim b/runtime/compiler/dartdevc.vim
new file mode 100644
index 0000000..e8d1988
--- /dev/null
+++ b/runtime/compiler/dartdevc.vim
@@ -0,0 +1,28 @@
+" Vim compiler file
+" Compiler:	Dart Development Compiler
+" Maintainer:	Doug Kearns <dougkearns@gmail.com>
+" Last Change:	2019 May 08
+
+if exists("current_compiler")
+  finish
+endif
+let current_compiler = "dartdevc"
+
+if exists(":CompilerSet") != 2		" older Vim always used :setlocal
+  command -nargs=* CompilerSet setlocal <args>
+endif
+
+let s:cpo_save = &cpo
+set cpo&vim
+
+CompilerSet makeprg=dartdevc
+CompilerSet errorformat=%E%f:%l:%c:\ Error:\ %m,
+		       \%CTry\ %.%#,
+		       \%Z\ %#^%\\+,
+		       \%Z%$,
+		       \%C%.%#,
+		       \%E%f:\ %trror:\ %m,
+		       \%-G%.%#
+
+let &cpo = s:cpo_save
+unlet s:cpo_save
diff --git a/runtime/compiler/dartdoc.vim b/runtime/compiler/dartdoc.vim
new file mode 100644
index 0000000..26b38d8
--- /dev/null
+++ b/runtime/compiler/dartdoc.vim
@@ -0,0 +1,26 @@
+" Vim compiler file
+" Compiler:	Dart Documentation Generator
+" Maintainer:	Doug Kearns <dougkearns@gmail.com>
+" Last Change:	2019 May 08
+
+if exists("current_compiler")
+  finish
+endif
+let current_compiler = "dartdoc"
+
+if exists(":CompilerSet") != 2		" older Vim always used :setlocal
+  command -nargs=* CompilerSet setlocal <args>
+endif
+
+let s:cpo_save = &cpo
+set cpo&vim
+
+CompilerSet makeprg=dartdoc
+CompilerSet errorformat=\ \ %tarning:\ %m,
+		       \\ \ %trror:\ %m,
+		       \%+EGeneration\ failed:\ %m,
+		       \%+ISuccess!\ Docs\ generated\ into\ %f,
+		       \%-G%.%#
+
+let &cpo = s:cpo_save
+unlet s:cpo_save
diff --git a/runtime/compiler/dartfmt.vim b/runtime/compiler/dartfmt.vim
new file mode 100644
index 0000000..2e4ab02
--- /dev/null
+++ b/runtime/compiler/dartfmt.vim
@@ -0,0 +1,25 @@
+" Vim compiler file
+" Compiler:	Dart Formatter
+" Maintainer:	Doug Kearns <dougkearns@gmail.com>
+" Last Change:	2019 May 08
+
+if exists("current_compiler")
+  finish
+endif
+let current_compiler = "dartfmt"
+
+if exists(":CompilerSet") != 2		" older Vim always used :setlocal
+  command -nargs=* CompilerSet setlocal <args>
+endif
+
+let s:cpo_save = &cpo
+set cpo&vim
+
+CompilerSet makeprg=dartfmt
+CompilerSet errorformat=%Eline\ %l\\,\ column\ %c\ of\ %f:\ %m,
+		       \%Z\ %\\{3}│\ %\\+^%\\+,
+		       \%C%.%#,
+		       \%-G%.%#
+
+let &cpo = s:cpo_save
+unlet s:cpo_save
diff --git a/runtime/compiler/javac.vim b/runtime/compiler/javac.vim
index a50bdca..8507efd 100644
--- a/runtime/compiler/javac.vim
+++ b/runtime/compiler/javac.vim
@@ -1,7 +1,7 @@
 " Vim compiler file
-" Compiler:	javac
+" Compiler:	Java Development Kit Compiler
 " Maintainer:	Doug Kearns <dougkearns@gmail.com>
-" Last Change:	2004 Nov 27
+" Last Change:	2019 Oct 21
 
 if exists("current_compiler")
   finish
@@ -12,6 +12,15 @@
   command -nargs=* CompilerSet setlocal <args>
 endif
 
-CompilerSet makeprg=javac
+let s:cpo_save = &cpo
+set cpo&vim
 
-CompilerSet errorformat=%E%f:%l:\ %m,%-Z%p^,%-C%.%#,%-G%.%#
+CompilerSet makeprg=javac
+CompilerSet errorformat=%E%f:%l:\ error:\ %m,
+		       \%W%f:%l:\ warning:\ %m,
+		       \%-Z%p^,
+		       \%-C%.%#,
+		       \%-G%.%#
+
+let &cpo = s:cpo_save
+unlet s:cpo_save
diff --git a/runtime/compiler/rhino.vim b/runtime/compiler/rhino.vim
new file mode 100644
index 0000000..30f3dd3
--- /dev/null
+++ b/runtime/compiler/rhino.vim
@@ -0,0 +1,30 @@
+" Vim compiler file
+" Compiler:	Rhino Shell (JavaScript in Java)
+" Maintainer:	Doug Kearns <dougkearns@gmail.com>
+" Last Change:	2019 Jul 10
+
+if exists("current_compiler")
+  finish
+endif
+let current_compiler = "rhino"
+
+if exists(":CompilerSet") != 2		" older Vim always used :setlocal
+  command -nargs=* CompilerSet setlocal <args>
+endif
+
+let s:cpo_save = &cpo
+set cpo&vim
+
+" CompilerSet makeprg=java\ -jar\ lib/rhino-X.X.XX.jar\ -w\ -strict
+
+CompilerSet makeprg=rhino
+CompilerSet errorformat=%-Gjs:\ %.%#Compilation\ produced%.%#,
+		       \%Ejs:\ \"%f\"\\,\ line\ %l:\ %m,
+		       \%Ejs:\ uncaught\ JavaScript\ runtime\ exception:\ %m,
+		       \%Wjs:\ warning:\ \"%f\"\\,\ line\ %l:\ %m,
+		       \%Zjs:\ %p^,
+		       \%Cjs:\ %.%#,
+		       \%-G%.%#
+
+let &cpo = s:cpo_save
+unlet s:cpo_save
diff --git a/runtime/compiler/xmllint.vim b/runtime/compiler/xmllint.vim
index 96cfa55..79d38b4 100644
--- a/runtime/compiler/xmllint.vim
+++ b/runtime/compiler/xmllint.vim
@@ -1,7 +1,7 @@
 " Vim compiler file
-" Compiler:	xmllint
+" Compiler:	Libxml2 Command-Line Tool
 " Maintainer:	Doug Kearns <dougkearns@gmail.com>
-" Last Change:	2013 Jul 8
+" Last Change:	2020 Jul 30
 
 if exists("current_compiler")
   finish
@@ -13,14 +13,16 @@
 endif
 
 let s:cpo_save = &cpo
-set cpo-=C
+set cpo&vim
 
 CompilerSet makeprg=xmllint\ --valid\ --noout
-
-CompilerSet errorformat=%+E%f:%l:\ %.%#\ error\ :\ %m,
-		    \%+W%f:%l:\ %.%#\ warning\ :\ %m,
-		    \%-Z%p^,
-		    \%-G%.%#
+CompilerSet errorformat=%E%f:%l:\ %.%#\ error\ :\ %m,
+		       \%W%f:%l:\ %.%#\ warning\ :\ %m,
+		       \%-Z%p^,
+		       \%C%.%#,
+		       \%terror:\ %m,
+		       \%tarning:\ %m,
+		       \%-G%.%#
 
 let &cpo = s:cpo_save
 unlet s:cpo_save