updated for version 7.0001
diff --git a/runtime/compiler/README.txt b/runtime/compiler/README.txt
new file mode 100644
index 0000000..3f0b97b
--- /dev/null
+++ b/runtime/compiler/README.txt
@@ -0,0 +1,11 @@
+This directory contains Vim scripts to be used with a specific compiler.
+They are used with the ":compiler" command.
+
+These scripts usually set options, for example 'errorformat'.
+See ":help write-compiler-plugin".
+
+If you want to write your own compiler plugin, have a look at the other files
+for how to do it, the format is simple.
+
+If you think a compiler plugin you have written is useful for others, please
+send it to Bram@vim.org.
diff --git a/runtime/compiler/ant.vim b/runtime/compiler/ant.vim
new file mode 100644
index 0000000..51cd931
--- /dev/null
+++ b/runtime/compiler/ant.vim
@@ -0,0 +1,38 @@
+" Vim Compiler File
+" Compiler:	ant
+" Maintainer:	Johannes Zellner <johannes@zellner.org>
+" Last Change:	Tue, 27 Apr 2004 15:01:45 CEST
+
+if exists("current_compiler")
+    finish
+endif
+let current_compiler = "ant"
+
+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=ant
+
+" first  line:
+"     ant with jikes +E, which assumes  the following
+"     two property lines in your 'build.xml':
+"
+"	  <property name = "build.compiler"	  value = "jikes"/>
+"	  <property name = "build.compiler.emacs" value = "true"/>
+"
+" second line:
+"     ant with javac
+"
+" note that this will work also for tasks like [wtkbuild]
+"
+setlocal errorformat=\ %#[%.%#]\ %#%f:%l:%v:%*\\d:%*\\d:\ %t%[%^:]%#:%m,
+    \%A\ %#[%.%#]\ %f:%l:\ %m,%-Z\ %#[%.%#]\ %p^,%C\ %#[%.%#]\ %#%m
+
+" ,%-C%.%#
+
+let &cpo = s:cpo_save
+unlet s:cpo_save
diff --git a/runtime/compiler/bcc.vim b/runtime/compiler/bcc.vim
new file mode 100644
index 0000000..5bd284a
--- /dev/null
+++ b/runtime/compiler/bcc.vim
@@ -0,0 +1,19 @@
+" Vim compiler file
+" Compiler:		bcc - Borland C
+" Maintainer:	Emile van Raaij (eraaij@xs4all.nl)
+" Last Change:	2004 Mar 27
+
+if exists("current_compiler")
+  finish
+endif
+let current_compiler = "bcc"
+
+if exists(":CompilerSet") != 2		" older Vim always used :setlocal
+  command -nargs=* CompilerSet setlocal <args>
+endif
+
+" A workable errorformat for Borland C
+CompilerSet errorformat=%*[^0-9]%n\ %f\ %l:\ %m
+
+" default make
+CompilerSet makeprg=make
diff --git a/runtime/compiler/bdf.vim b/runtime/compiler/bdf.vim
new file mode 100644
index 0000000..ae2da75
--- /dev/null
+++ b/runtime/compiler/bdf.vim
@@ -0,0 +1,30 @@
+" Vim compiler file
+" Compiler:	    BDF to PCF Conversion
+" Maintainer:	    Nikolai Weibull <sourc@pcppopper.org>
+" URL:		    http://www.pcppopper.org/vim/compiler/pcp/bdf/
+" Latest Revision:  2004-05-22
+" arch-tag:	    2e2f3a55-199b-468c-aa2e-d6b1a7b87806
+
+if exists("current_compiler")
+  finish
+endif
+let current_compiler = "bdf"
+
+if exists(":CompilerSet") != 2          " older Vim always used :setlocal
+  command -nargs=* CompilerSet setlocal <args>
+endif
+
+let s:cpo_save = &cpo
+set cpo-=C
+
+CompilerSet makeprg=bdftopcf\ $*
+
+CompilerSet errorformat=%ABDF\ %trror\ on\ line\ %l:\ %m,
+      \%-Z%p^,
+      \%Cbdftopcf:\ bdf\ input\\,\ %f\\,\ corrupt,
+      \%-G%.%#
+
+let &cpo = s:cpo_save
+unlet s:cpo_save
+
+" vim: set sts=2 sw=2:
diff --git a/runtime/compiler/checkstyle.vim b/runtime/compiler/checkstyle.vim
new file mode 100644
index 0000000..8d696f0
--- /dev/null
+++ b/runtime/compiler/checkstyle.vim
@@ -0,0 +1,20 @@
+" Vim compiler file
+" Compiler:	Checkstyle
+" Maintainer:	Doug Kearns <djkea2@mugca.its.monash.edu.au>
+" URL:		http://mugca.its.monash.edu.au/~djkea2/vim/compiler/checkstyle.vim
+" Last Change:	2004 Mar 27
+
+if exists("current_compiler")
+  finish
+endif
+let current_compiler = "checkstyle"
+
+if exists(":CompilerSet") != 2		" older Vim always used :setlocal
+  command -nargs=* CompilerSet setlocal <args>
+endif
+
+CompilerSet makeprg=java\ com.puppycrawl.tools.checkstyle.Main\ -f\ plain
+
+" sample error: WebTable.java:282: '+=' is not preceeded with whitespace.
+"		WebTable.java:201:1: '{' should be on the previous line.
+CompilerSet errorformat=%f:%l:\ %m,%f:%l:%v:\ %m,%-G%.%#
diff --git a/runtime/compiler/cs.vim b/runtime/compiler/cs.vim
new file mode 100644
index 0000000..5b75d6d
--- /dev/null
+++ b/runtime/compiler/cs.vim
@@ -0,0 +1,19 @@
+" Vim compiler file
+" Compiler:	ms C#
+" Maintainer:	Joseph H. Yao (hyao@sina.com)
+" Last Change:	2004 Mar 27
+
+if exists("current_compiler")
+  finish
+endif
+let current_compiler = "cs"
+
+if exists(":CompilerSet") != 2		" older Vim always used :setlocal
+  command -nargs=* CompilerSet setlocal <args>
+endif
+
+" default errorformat
+CompilerSet errorformat&
+
+" default make
+CompilerSet makeprg=csc\ %
diff --git a/runtime/compiler/dot.vim b/runtime/compiler/dot.vim
new file mode 100644
index 0000000..0327739
--- /dev/null
+++ b/runtime/compiler/dot.vim
@@ -0,0 +1,15 @@
+" Vim compiler file
+" Compiler:     ATT dot
+" Maintainer:	Marcos Macedo <bar4ka@bol.com.br>
+" Last Change:	2004 May 16
+
+if exists("current_compiler")
+  finish
+endif
+let current_compiler = "dot"
+
+if exists(":CompilerSet") != 2		" older Vim always used :setlocal
+  command -nargs=* CompilerSet setlocal <args>
+endif
+
+CompilerSet makeprg=dot\ -T$*\ \"%:p\"\ -o\ \"%:p:r.$*\"
diff --git a/runtime/compiler/fortran_F.vim b/runtime/compiler/fortran_F.vim
new file mode 100644
index 0000000..d9cb47c
--- /dev/null
+++ b/runtime/compiler/fortran_F.vim
@@ -0,0 +1,27 @@
+" Vim compiler file
+" Compiler:	Fortran Company/NAGWare F compiler
+" URL:		http://www.unb.ca/chem/ajit/compiler/fortran_F.vim
+" Maintainer:	Ajit J. Thakkar (ajit AT unb.ca); <http://www.unb.ca/chem/ajit/>
+" Version:	0.2
+" Last Change: 2004 Mar 27
+
+if exists("current_compiler")
+  finish
+endif
+let current_compiler = "fortran_F"
+
+if exists(":CompilerSet") != 2		" older Vim always used :setlocal
+  command -nargs=* CompilerSet setlocal <args>
+endif
+
+let s:cposet=&cpoptions
+set cpoptions-=C
+
+CompilerSet errorformat=%trror:\ %f\\,\ line\ %l:%m,
+      \%tarning:\ %f\\,\ line\ %l:%m,
+      \%tatal\ Error:\ %f\\,\ line\ %l:%m,
+      \%-G%.%#
+CompilerSet makeprg=F
+
+let &cpoptions=s:cposet
+unlet s:cposet
diff --git a/runtime/compiler/fortran_cv.vim b/runtime/compiler/fortran_cv.vim
new file mode 100644
index 0000000..089d3b2
--- /dev/null
+++ b/runtime/compiler/fortran_cv.vim
@@ -0,0 +1,30 @@
+" Vim compiler file
+" Compiler:	Compaq Visual Fortran
+" Maintainer:	Joh.-G. Simon (johann-guenter.simon@linde-le.com)
+" Last Change:	11/05/2002
+
+if exists("current_compiler")
+  finish
+endif
+let current_compiler = "fortran_cv"
+
+if exists(":CompilerSet") != 2		" older Vim always used :setlocal
+  command -nargs=* CompilerSet setlocal <args>
+endif
+
+let s:cposet = &cpoptions
+set cpoptions-=C
+
+" A workable errorformat for Compaq Visual Fortran
+CompilerSet errorformat=
+		\%E%f(%l)\ :\ Error:%m,
+		\%W%f(%l)\ :\ Warning:%m,
+		\%-Z%p%^%.%#,
+		\%-G%.%#,
+" Compiler call
+CompilerSet makeprg=df\ /nologo\ /noobj\ /c\ %
+" Visual fortran defaults to printing output on stderr
+" Adjust option shellpipe accordingly
+
+let &cpoptions = s:cposet
+unlet s:cposet
diff --git a/runtime/compiler/fortran_elf90.vim b/runtime/compiler/fortran_elf90.vim
new file mode 100644
index 0000000..34c33cf
--- /dev/null
+++ b/runtime/compiler/fortran_elf90.vim
@@ -0,0 +1,33 @@
+" Vim compiler file
+" Compiler:	Essential Lahey Fortran 90
+"		Probably also works for Lahey Fortran 90
+" URL:		http://www.unb.ca/chem/ajit/compiler/fortran_elf90.vim
+" Maintainer:	Ajit J. Thakkar (ajit AT unb.ca); <http://www.unb.ca/chem/ajit/>
+" Version:	0.2
+" Last Change: 2004 Mar 27
+
+if exists("current_compiler")
+  finish
+endif
+let current_compiler = "fortran_elf90"
+
+if exists(":CompilerSet") != 2		" older Vim always used :setlocal
+  command -nargs=* CompilerSet setlocal <args>
+endif
+
+let s:cposet=&cpoptions
+set cpoptions-=C
+
+CompilerSet errorformat=\%ALine\ %l\\,\ file\ %f,
+      \%C%tARNING\ --%m,
+      \%C%tATAL\ --%m,
+      \%C%tBORT\ --%m,
+      \%+C%\\l%.%#\.,
+      \%C%p\|,
+      \%C%.%#,
+      \%Z%$,
+      \%-G%.%#
+CompilerSet makeprg=elf90
+
+let &cpoptions=s:cposet
+unlet s:cposet
diff --git a/runtime/compiler/fortran_g77.vim b/runtime/compiler/fortran_g77.vim
new file mode 100644
index 0000000..94018e7
--- /dev/null
+++ b/runtime/compiler/fortran_g77.vim
@@ -0,0 +1,48 @@
+" Vim compiler file
+" Compiler:     g77 (GNU Fortran)
+" Maintainer:   Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+" Last Change:  $Date$
+" $Revision$
+
+if exists("current_compiler")
+  finish
+endif
+let current_compiler = "fortran_g77"
+
+if exists(":CompilerSet") != 2		" older Vim always used :setlocal
+  command -nargs=* CompilerSet setlocal <args>
+endif
+
+let s:cpo_save = &cpo
+set cpo-=C
+
+" Note: The errorformat assumes GNU make
+
+" sample multiline errors (besides gcc backend one-liners):
+" gev.f:14:
+"	   parameter UPLO = 'Upper-triangle'
+"	   ^
+" Unsupported VXT statement at (^)
+" gev.f:6:
+"	   integer	   desca( * ), descb( * )
+"			   1
+" gev.f:19: (continued):
+"	   end subroutine
+"	   2
+" Invalid declaration of or reference to symbol `desca' at (2) [initially seen at (1)]
+
+CompilerSet errorformat=
+	\%Omake:\ %r,
+	\%f:%l:\ warning:\ %m,
+	\%A%f:%l:\ (continued):,
+	\%W%f:%l:\ warning:,
+	\%A%f:%l:\ ,
+	\%-C\ \ \ %p%*[0123456789^]%.%#,
+	\%-C\ \ \ %.%#,
+	\%D%*\\a[%*\\d]:\ Entering\ directory\ `%f',
+	\%X%*\\a[%*\\d]:\ Leaving\ directory\ `%f',
+	\%DMaking\ %*\\a\ in\ %f,
+	\%Z%m
+
+let &cpo = s:cpo_save
+unlet s:cpo_save
diff --git a/runtime/compiler/fortran_lf95.vim b/runtime/compiler/fortran_lf95.vim
new file mode 100644
index 0000000..685fee7
--- /dev/null
+++ b/runtime/compiler/fortran_lf95.vim
@@ -0,0 +1,27 @@
+" Vim compiler file
+" Compiler:	Lahey/Fujitsu Fortran 95
+" URL:		http://www.unb.ca/chem/ajit/compiler/fortran_lf95.vim
+" Maintainer:	Ajit J. Thakkar (ajit AT unb.ca); <http://www.unb.ca/chem/ajit/>
+" Version:	0.2
+" Last Change: 2004 Mar 27
+
+if exists("current_compiler")
+  finish
+endif
+let current_compiler = "fortran_lf95"
+
+if exists(":CompilerSet") != 2		" older Vim always used :setlocal
+  command -nargs=* CompilerSet setlocal <args>
+endif
+
+let s:cposet=&cpoptions
+set cpoptions-=C
+
+CompilerSet errorformat=\ %#%n-%t:\ \"%f\"\\,\ line\ %l:%m,
+      \Error\ LINK\.%n:%m,
+      \Warning\ LINK\.%n:%m,
+      \%-G%.%#
+CompilerSet makeprg=lf95
+
+let &cpoptions=s:cposet
+unlet s:cposet
diff --git a/runtime/compiler/hp_acc.vim b/runtime/compiler/hp_acc.vim
new file mode 100644
index 0000000..eaf61b2
--- /dev/null
+++ b/runtime/compiler/hp_acc.vim
@@ -0,0 +1,28 @@
+" Vim compiler file
+" Compiler:	HP aCC
+" Maintainer:	Matthias Ulrich <matthias-ulrich@web.de>
+" URL:		http://www.subhome.de/vim/hp_acc.vim
+" Last Change:	2004 Mar 27
+"
+"  aCC --version says: "HP ANSI C++ B3910B A.03.13"
+"  This compiler has been tested on:
+"       hp-ux 10.20, hp-ux 11.0 and hp-ux 11.11 (64bit)
+"
+"  Tim Brown's aCC is: "HP ANSI C++ B3910B A.03.33"
+"  and it also works fine...
+
+if exists("current_compiler")
+  finish
+endif
+let current_compiler = "hp_acc"
+
+if exists(":CompilerSet") != 2		" older Vim always used :setlocal
+  command -nargs=* CompilerSet setlocal <args>
+endif
+
+CompilerSet errorformat=%A%trror\ %n\:\ \"%f\"\\,\ line\ %l\ \#\ %m,
+         \%A%tarning\ %n\:\ \"%f\"\\,\ line\ %l\ \#\ %m\ %#,
+         \%Z\ \ \ \ %p^%.%#,
+         \%-C%.%#
+
+" vim:ts=8:sw=4:cindent
diff --git a/runtime/compiler/icc.vim b/runtime/compiler/icc.vim
new file mode 100644
index 0000000..751fba6
--- /dev/null
+++ b/runtime/compiler/icc.vim
@@ -0,0 +1,18 @@
+" Vim compiler file
+" Compiler:		icc - Intel C++
+" Maintainer: Peter Puck <PtrPck@netscape.net>
+" Last Change: 2004 Mar 27
+
+if exists("current_compiler")
+  finish
+endif
+let current_compiler = "icc"
+
+if exists(":CompilerSet") != 2		" older Vim always used :setlocal
+  command -nargs=* CompilerSet setlocal <args>
+endif
+
+" I think that Intel is calling the compiler icl under Windows
+
+CompilerSet errorformat=%-Z%p^,%f(%l):\ remark\ #%n:%m,%f(%l)\ :\ (col.\ %c)\ remark:\ %m,%E%f(%l):\ error:\ %m,%E%f(%l):\ error:\ #%n:\ %m,%W%f(%l):\ warning\ #%n:\ %m,%W%f(%l):\ warning:\ %m,%-C%.%#
+
diff --git a/runtime/compiler/intel.vim b/runtime/compiler/intel.vim
new file mode 100644
index 0000000..9183826
--- /dev/null
+++ b/runtime/compiler/intel.vim
@@ -0,0 +1,21 @@
+" Vim compiler file
+" Compiler:     Intel C++ 7.1
+" Maintainer:   David Harrison <david_jr@users.sourceforge.net>
+" Last Change:  2004 May 16
+
+if exists("current_compiler")
+  finish
+endif
+let current_compiler = "intel"
+
+if exists(":CompilerSet") != 2		" older Vim always used :setlocal
+  command -nargs=* CompilerSet setlocal <args>
+endif
+
+CompilerSet errorformat=%E%f(%l):\ error:\ %m,
+		    \%W%f(%l):\ warning:\ %m,
+		    \%I%f(%l):\ remark\ #%n:\ %m,
+		    \%+C\ \ %m.,
+		    \%-Z\ \ %p^,
+		    \%-G\\s%#,
+		    \%-G%.%#
diff --git a/runtime/compiler/irix5_c.vim b/runtime/compiler/irix5_c.vim
new file mode 100644
index 0000000..87bb9e1
--- /dev/null
+++ b/runtime/compiler/irix5_c.vim
@@ -0,0 +1,21 @@
+" Vim compiler file
+" Compiler:	SGI IRIX 5.3 cc
+" Maintainer:	David Harrison <david_jr@users.sourceforge.net>
+" Last Change:	2004 Mar 27
+
+if exists("current_compiler")
+  finish
+endif
+let current_compiler = "irix5_c"
+
+if exists(":CompilerSet") != 2		" older Vim always used :setlocal
+  command -nargs=* CompilerSet setlocal <args>
+endif
+
+CompilerSet errorformat=\%Ecfe:\ Error:\ %f\\,\ line\ %l:\ %m,
+		     \%Wcfe:\ Warning:\ %n:\ %f\\,\ line\ %l:\ %m,
+		     \%Wcfe:\ Warning\ %n:\ %f\\,\ line\ %l:\ %m,
+		     \%W(%l)\ \ Warning\ %n:\ %m,
+		     \%-Z\ %p^,
+		     \-G\\s%#,
+		     \%-G%.%#
diff --git a/runtime/compiler/irix5_cpp.vim b/runtime/compiler/irix5_cpp.vim
new file mode 100644
index 0000000..f505768
--- /dev/null
+++ b/runtime/compiler/irix5_cpp.vim
@@ -0,0 +1,21 @@
+" Vim compiler file
+" Compiler:	SGI IRIX 5.3 CC or NCC
+" Maintainer:	David Harrison <david_jr@users.sourceforge.net>
+" Last Change:	2004 Mar 27
+
+if exists("current_compiler")
+  finish
+endif
+let current_compiler = "irix5_cpp"
+
+if exists(":CompilerSet") != 2		" older Vim always used :setlocal
+  command -nargs=* CompilerSet setlocal <args>
+endif
+
+CompilerSet errorformat=%E\"%f\"\\,\ line\ %l:\ error(%n):\ ,
+		    \%E\"%f\"\\,\ line\ %l:\ error(%n):\ %m,
+		    \%W\"%f\"\\,\ line\ %l:\ warning(%n):\ %m,
+		    \%+IC++\ prelinker:\ %m,
+		      \%-Z\ \ %p%^,
+		      \%+C\ %\\{10}%.%#,
+		      \%-G%.%#
diff --git a/runtime/compiler/javac.vim b/runtime/compiler/javac.vim
new file mode 100644
index 0000000..296f766
--- /dev/null
+++ b/runtime/compiler/javac.vim
@@ -0,0 +1,18 @@
+" Vim compiler file
+" Compiler:     javac
+" Maintainer:   Doug Kearns <djkea2@mugca.its.monash.edu.au>
+" URL:		http://mugca.its.monash.edu.au/~djkea2/vim/compiler/javac.vim
+" Last Change:  2004 Apr 15
+
+if exists("current_compiler")
+  finish
+endif
+let current_compiler = "javac"
+
+if exists(":CompilerSet") != 2		" older Vim always used :setlocal
+  command -nargs=* CompilerSet setlocal <args>
+endif
+
+CompilerSet makeprg=javac
+
+CompilerSet errorformat=%E%f:%l:\ %m,%-Z%p^,%-C%.%#,%-G%.%#
diff --git a/runtime/compiler/jikes.vim b/runtime/compiler/jikes.vim
new file mode 100644
index 0000000..8566969
--- /dev/null
+++ b/runtime/compiler/jikes.vim
@@ -0,0 +1,18 @@
+" Vim Compiler File
+" Compiler:	Jikes
+" Maintainer:	Dan Sharp <dwsharp at hotmail dot com>
+" Last Change:	2004 Mar 27
+" URL:		http://mywebpage.netscape.com/sharppeople/vim/compiler
+
+if exists("current_compiler")
+  finish
+endif
+let current_compiler = "jikes"
+
+if exists(":CompilerSet") != 2		" older Vim always used :setlocal
+  command -nargs=* CompilerSet setlocal <args>
+endif
+
+" Jikes defaults to printing output on stderr
+CompilerSet makeprg=jikes\ -Xstdout\ +E\ \"%\"
+CompilerSet errorformat=%f:%l:%v:%*\\d:%*\\d:%*\\s%m
diff --git a/runtime/compiler/mips_c.vim b/runtime/compiler/mips_c.vim
new file mode 100644
index 0000000..b57eac0
--- /dev/null
+++ b/runtime/compiler/mips_c.vim
@@ -0,0 +1,21 @@
+" Vim compiler file
+" Compiler:	SGI IRIX 6.5 MIPS C (cc)
+" Maintainer:	David Harrison <david_jr@users.sourceforge.net>
+" Last Change:	2004 Mar 27
+
+if exists("current_compiler")
+  finish
+endif
+let current_compiler = "mips_c"
+
+if exists(":CompilerSet") != 2		" older Vim always used :setlocal
+  command -nargs=* CompilerSet setlocal <args>
+endif
+
+CompilerSet errorformat=%Ecc\-%n\ %.%#:\ ERROR\ File\ =\ %f\%\\,\ Line\ =\ %l,
+		    \%Wcc\-%n\ %.%#:\ WARNING\ File\ =\ %f\%\\,\ Line\ =\ %l,
+		    \%Icc\-%n\ %.%#:\ REMARK\ File\ =\ %f\%\\,\ Line\ =\ %l,
+		    \%+C\ \ %m.,
+		    \%-Z\ \ %p^,
+		    \%-G\\s%#,
+		    \%-G%.%#
diff --git a/runtime/compiler/mipspro_c89.vim b/runtime/compiler/mipspro_c89.vim
new file mode 100644
index 0000000..258a800
--- /dev/null
+++ b/runtime/compiler/mipspro_c89.vim
@@ -0,0 +1,22 @@
+" Vim compiler file
+" Compiler:	SGI IRIX 6.5 MIPSPro C (c89)
+" Maintainer:	David Harrison <david_jr@users.sourceforge.net>
+" Last Change:	2004 Mar 27
+
+if exists("current_compiler")
+  finish
+endif
+let current_compiler = "mipspro_c89"
+
+if exists(":CompilerSet") != 2		" older Vim always used :setlocal
+  command -nargs=* CompilerSet setlocal <args>
+endif
+
+CompilerSet errorformat=%Ecc\-%n\ %.%#:\ ERROR\ File\ =\ %f\%\\,\ Line\ =\ %l,
+		    \%Wcc\-%n\ %.%#:\ WARNING\ File\ =\ %f\%\\,\ Line\ =\ %l,
+		    \%Icc\-%n\ %.%#:\ REMARK\ File\ =\ %f\%\\,\ Line\ =\ %l,
+		    \%-Z%p%^,
+		    \%+C\ %\\{10}%m%.,
+		    \%+C\ \ %m,
+		    \%-G\\s%#,
+		    \%-G%.%#
diff --git a/runtime/compiler/mipspro_cpp.vim b/runtime/compiler/mipspro_cpp.vim
new file mode 100644
index 0000000..1f6074a
--- /dev/null
+++ b/runtime/compiler/mipspro_cpp.vim
@@ -0,0 +1,21 @@
+" Vim compiler file
+" Compiler:	SGI IRIX 6.5 MIPSPro C++ (CC)
+" Maintainer:	David Harrison <david_jr@users.sourceforge.net>
+" Last Change:	2004 Mar 27
+
+if exists("current_compiler")
+  finish
+endif
+let current_compiler = "mipspro_cpp"
+
+if exists(":CompilerSet") != 2		" older Vim always used :setlocal
+  command -nargs=* CompilerSet setlocal <args>
+endif
+
+CompilerSet errorformat=%Ecc\-%n\ %.%#:\ ERROR\ File\ =\ %f\%\\,\ Line\ =\ %l,
+		    \%Wcc\-%n\ %.%#:\ WARNING\ File\ =\ %f\%\\,\ Line\ =\ %l,
+		    \%Icc\-%n\ %.%#:\ REMARK\ File\ =\ %f\%\\,\ Line\ =\ %l,
+		    \%+C\ \ %m.,
+		    \%-Z\ \ %p^,
+		    \%-G\\s%#,
+		    \%-G%.%#
diff --git a/runtime/compiler/modelsim_vcom.vim b/runtime/compiler/modelsim_vcom.vim
new file mode 100644
index 0000000..6aa1bde
--- /dev/null
+++ b/runtime/compiler/modelsim_vcom.vim
@@ -0,0 +1,20 @@
+" Vim Compiler File
+" Compiler:	Modelsim Vcom
+" Maintainer:	Paul Baleme <pbaleme@mail.com>
+" Last Change:	September 8, 2003
+" Thanks to:    allanherriman@hotmail.com
+
+if exists("current_compiler")
+  finish
+endif
+let current_compiler = "modelsim_vcom"
+
+if exists(":CompilerSet") != 2		" older Vim always used :setlocal
+  command -nargs=* CompilerSet setlocal <args>
+endif
+
+"setlocal errorformat=\*\*\ %tRROR:\ %f(%l):\ %m,%tRROR:\ %f(%l):\ %m,%tARNING\[%*[0-9]\]:\ %f(%l):\ %m,\*\*\ %tRROR:\ %m,%tRROR:\ %m,%tARNING\[%*[0-9]\]:\ %m
+
+"setlocal errorformat=%tRROR:\ %f(%l):\ %m,%tARNING\[%*[0-9]\]:\ %m
+CompilerSet errorformat=\*\*\ %tRROR:\ %f(%l):\ %m,\*\*\ %tRROR:\ %m,\*\*\ %tARNING:\ %m,\*\*\ %tOTE:\ %m,%tRROR:\ %f(%l):\ %m,%tARNING\[%*[0-9]\]:\ %f(%l):\ %m,%tRROR:\ %m,%tARNING\[%*[0-9]\]:\ %m
+
diff --git a/runtime/compiler/msvc.vim b/runtime/compiler/msvc.vim
new file mode 100644
index 0000000..5fb1f24
--- /dev/null
+++ b/runtime/compiler/msvc.vim
@@ -0,0 +1,17 @@
+" Vim compiler file
+" Compiler:	Miscrosoft Visual C
+" Maintainer:	Bram Moolenaar <Bram@vim.org>
+" Last Change:	2004 Mar 19
+
+if exists("current_compiler")
+  finish
+endif
+let current_compiler = "msvc"
+
+if exists(":CompilerSet") != 2		" older Vim always used :setlocal
+  command -nargs=* CompilerSet setlocal <args>
+endif
+
+" The errorformat for MSVC is the default.
+CompilerSet errorformat&
+CompilerSet makeprg=nmake
diff --git a/runtime/compiler/neato.vim b/runtime/compiler/neato.vim
new file mode 100644
index 0000000..bd184b7
--- /dev/null
+++ b/runtime/compiler/neato.vim
@@ -0,0 +1,15 @@
+" Vim compiler file
+" Compiler:     ATT neato
+" Maintainer:	Marcos Macedo <bar4ka@bol.com.br>
+" Last Change:	2004 May 16
+
+if exists("current_compiler")
+  finish
+endif
+let current_compiler = "neato"
+
+if exists(":CompilerSet") != 2		" older Vim always used :setlocal
+  command -nargs=* CompilerSet setlocal <args>
+endif
+
+CompilerSet makeprg=neato\ -T$*\ \"%:p\"\ -o\ \"%:p:r.$*\"
diff --git a/runtime/compiler/onsgmls.vim b/runtime/compiler/onsgmls.vim
new file mode 100644
index 0000000..130d3e2
--- /dev/null
+++ b/runtime/compiler/onsgmls.vim
@@ -0,0 +1,24 @@
+" Vim compiler file
+" Compiler:	onsgmls
+" Maintainer:	Robert Rowsome <rowsome@wam.umd.edu>
+" Last Change:	2004 Mar 27
+
+if exists("current_compiler")
+  finish
+endif
+let current_compiler = "onsgmls"
+
+if exists(":CompilerSet") != 2		" older Vim always used :setlocal
+  command -nargs=* CompilerSet setlocal <args>
+endif
+
+let s:cpo_save = &cpo
+set cpo-=C
+
+CompilerSet makeprg=onsgmls\ -s\ %
+
+CompilerSet errorformat=onsgmls:%f:%l:%c:%t:%m,
+		    \onsgmls:%f:%l:%c:%m
+
+let &cpo = s:cpo_save
+unlet s:cpo_save
diff --git a/runtime/compiler/pbx.vim b/runtime/compiler/pbx.vim
new file mode 100644
index 0000000..9e81ea7
--- /dev/null
+++ b/runtime/compiler/pbx.vim
@@ -0,0 +1,20 @@
+" Vim compiler file
+" Compiler:	Apple Project Builder
+" Maintainer:	Alexander von Below (public@vonBelow.Com)
+" Last Change:	2004 Mar 27
+
+if exists("current_compiler")
+   finish
+endif
+let current_compiler = "pbx"
+
+if exists(":CompilerSet") != 2		" older Vim always used :setlocal
+  command -nargs=* CompilerSet setlocal <args>
+endif
+
+" The compiler actually is gcc, so the errorformat is unchanged
+CompilerSet errorformat&
+
+" default make
+CompilerSet makeprg=pbxbuild
+
diff --git a/runtime/compiler/perl.vim b/runtime/compiler/perl.vim
new file mode 100644
index 0000000..1d30472
--- /dev/null
+++ b/runtime/compiler/perl.vim
@@ -0,0 +1,39 @@
+" Vim Compiler File
+" Compiler:     Perl syntax checks (perl -Wc)
+" Maintainer:   Christian J. Robinson <infynity@onewest.net>
+" Last Change:  2004 Mar 27
+
+if exists("current_compiler")
+  finish
+endif
+let current_compiler = "perl"
+
+if exists(":CompilerSet") != 2		" older Vim always used :setlocal
+  command -nargs=* CompilerSet setlocal <args>
+endif
+
+let s:savecpo = &cpo
+set cpo&vim
+
+if getline(1) =~# '-[^ ]*T'
+	CompilerSet makeprg=perl\ -WTc\ %
+else
+	CompilerSet makeprg=perl\ -Wc\ %
+endif
+
+CompilerSet errorformat=
+	\%-G%.%#had\ compilation\ errors.,
+	\%-G%.%#syntax\ OK,
+	\%m\ at\ %f\ line\ %l.,
+	\%+A%.%#\ at\ %f\ line\ %l\\,%.%#,
+	\%+C%.%#
+
+" Explanation:
+" %-G%.%#had\ compilation\ errors.,  - Ignore the obvious.
+" %-G%.%#syntax\ OK,                 - Don't include the 'a-okay' message.
+" %m\ at\ %f\ line\ %l.,             - Most errors...
+" %+A%.%#\ at\ %f\ line\ %l\\,%.%#,  - As above, including ', near ...'
+" %+C%.%#                            -   ... Which can be multi-line.
+
+let &cpo = s:savecpo
+unlet s:savecpo
diff --git a/runtime/compiler/pyunit.vim b/runtime/compiler/pyunit.vim
new file mode 100644
index 0000000..2a4ea92
--- /dev/null
+++ b/runtime/compiler/pyunit.vim
@@ -0,0 +1,16 @@
+" Vim compiler file
+" Compiler:	Unit testing tool for Python
+" Maintainer:	Max Ischenko <mfi@ukr.net>
+" Last Change: 2004 Mar 27
+
+if exists("current_compiler")
+  finish
+endif
+let current_compiler = "pyunit"
+
+if exists(":CompilerSet") != 2		" older Vim always used :setlocal
+  command -nargs=* CompilerSet setlocal <args>
+endif
+
+CompilerSet efm=%C\ %.%#,%A\ \ File\ \"%f\"\\,\ line\ %l%.%#,%Z%[%^\ ]%\\@=%m
+
diff --git a/runtime/compiler/rst.vim b/runtime/compiler/rst.vim
new file mode 100644
index 0000000..c9e5be1
--- /dev/null
+++ b/runtime/compiler/rst.vim
@@ -0,0 +1,33 @@
+" Vim compiler file
+" Compiler:	    reStructuredText Documentation Format
+" Maintainer:	    Nikolai Weibull <source@pcppopper.org>
+" URL:		    http://www.pcppopper.org/vim/compiler/pcp/rst/
+" Latest Revision:  2004-05-22
+" arch-tag:	    ac64a95a-5d45-493d-a9f9-f96fc8568657
+
+if exists("current_compiler")
+  finish
+endif
+let current_compiler = "rst"
+
+if exists(":CompilerSet") != 2          " older Vim always used :setlocal
+  command -nargs=* CompilerSet setlocal <args>
+endif
+
+let s:cpo_save = &cpo
+set cpo-=C
+
+CompilerSet errorformat=
+      \%f:%l:\ (%tEBUG/0)\ %m,
+      \%f:%l:\ (%tNFO/1)\ %m,
+      \%f:%l:\ (%tARNING/2)\ %m,
+      \%f:%l:\ (%tRROR/3)\ %m,
+      \%f:%l:\ (%tEVERE/3)\ %m,
+      \%D%*\\a[%*\\d]:\ Entering\ directory\ `%f',
+      \%X%*\\a[%*\\d]:\ Leaving\ directory\ `%f',
+      \%DMaking\ %*\\a\ in\ %f
+
+let &cpo = s:cpo_save
+unlet s:cpo_save
+
+" vim: set sts=2 sw=2:
diff --git a/runtime/compiler/ruby.vim b/runtime/compiler/ruby.vim
new file mode 100644
index 0000000..f124ed3
--- /dev/null
+++ b/runtime/compiler/ruby.vim
@@ -0,0 +1,62 @@
+" Vim compiler file
+" Compiler:     Ruby syntax check and/or error reporting
+" Maintainer:   Tim Hammerquist <timmy@cpan.org>
+" Last Change:  Tue Jul 16 00:38:00 PDT 2002
+"
+" Changelog:
+" 0.2:  script saves and restores 'cpoptions' value to prevent problems with
+"       line continuations
+" 0.1:  initial release
+"
+" Contributors:
+"   Hugh Sasse <hgs@dmu.ac.uk>
+"   Doug Kearns <djkea2@mugca.its.monash.edu.au>
+"
+" Todo:
+"   match error type %m
+"
+" Comments:
+"   I know this file isn't perfect.  If you have any questions, suggestions,
+"   patches, etc., please don't hesitate to let me know.
+"
+"   This is my first experience with 'errorformat' and compiler plugins and
+"   I welcome any input from more experienced (or clearer-thinking)
+"   individuals.
+
+if exists("current_compiler")
+  finish
+endif
+let current_compiler = "ruby"
+
+if exists(":CompilerSet") != 2		" older Vim always used :setlocal
+  command -nargs=* CompilerSet setlocal <args>
+endif
+
+let s:cpo_save = &cpo
+set cpo-=C
+
+" default settings runs script normally
+" add '-c' switch to run syntax check only:
+"
+"   CompilerSet makeprg=ruby\ -wc\ $*
+"
+" or add '-c' at :make command line:
+"
+"   :make -c %<CR>
+"
+CompilerSet makeprg=ruby\ -w\ $*
+
+CompilerSet errorformat=
+    \%+E%f:%l:\ parse\ error,
+    \%W%f:%l:\ warning:\ %m,
+    \%E%f:%l:in\ %*[^:]:\ %m,
+    \%E%f:%l:\ %m,
+    \%-C%\tfrom\ %f:%l:in\ %.%#,
+    \%-Z%\tfrom\ %f:%l,
+    \%-Z%p^,
+    \%-G%.%#
+
+let &cpo = s:cpo_save
+unlet s:cpo_save
+
+" vim: ft=vim
diff --git a/runtime/compiler/se.vim b/runtime/compiler/se.vim
new file mode 100644
index 0000000..ac0aab8
--- /dev/null
+++ b/runtime/compiler/se.vim
@@ -0,0 +1,28 @@
+" Vim compiler file
+" Compiler:	se (SmartEiffel Compiler)
+" Maintainer:	Doug Kearns <djkea2@mugca.its.monash.edu.au>
+" URL:		http://mugca.its.monash.edu.au/~djkea2/vim/compiler/se.vim
+" Last Change:	2004 May 16
+
+if exists("current_compiler")
+  finish
+endif
+let current_compiler = "se"
+
+if exists(":CompilerSet") != 2		" older Vim always used :setlocal
+  command -nargs=* CompilerSet setlocal <args>
+endif
+
+let s:cpo_save = &cpo
+set cpo-=C
+
+CompilerSet makeprg=compile\ %
+
+CompilerSet errorformat=%W******\ Warning:\ %m,
+		    \%E******\ Fatal\ Error:\ %m,
+		    \%E******\ Error:\ %m,
+		    \%CLine\ %l\ column\ %c\ in\ %\\w%\\+\ (%f)\ :,
+		    \%-G%.%#
+
+let &cpo = s:cpo_save
+unlet s:cpo_save
diff --git a/runtime/compiler/splint.vim b/runtime/compiler/splint.vim
new file mode 100644
index 0000000..8ba9c97
--- /dev/null
+++ b/runtime/compiler/splint.vim
@@ -0,0 +1,70 @@
+" Vim compiler file
+" Compiler:     splint/lclint (C source code checker)
+" Maintainer:   Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+" Splint Home:	http://www.splint.org/
+" Last Change:  $Date$
+" $Revision$
+
+if exists("current_compiler")
+  finish
+endif
+let current_compiler = "splint"
+
+if exists(":CompilerSet") != 2		" older Vim always used :setlocal
+  command -nargs=* CompilerSet setlocal <args>
+endif
+
+let s:cpo_save = &cpo
+set cpo-=C
+
+" adapt this if you want to check more than one file at a time.
+" put command line options in .splintrc or ~/.splintrc
+CompilerSet makeprg=splint\ %
+
+" Note: when using the new array bounds checking flags:  Each warning
+" usually has several lines and several references to source code mostly
+" within one or two lines (see sample warning below).  The easiest way
+" not to mess up file name detection and not to jump to all positions is
+" to add something like
+"	-linelen 500 +boundscompacterrormessages
+" to your .splintrc and 'set cmdheight=4' or more.
+" TODO: reliable way to distinguish file names and constraints.
+"
+" sample warning (generic):
+"
+"foo.c:1006:12: Clauses exit with var referencing local storage in one
+"		       case, fresh storage in other case
+"   foo.c:1003:2: Fresh storage var allocated
+"
+" sample warning (bounds checking):
+"
+"bounds.c: (in function updateEnv)
+"bounds.c:10:5: Possible out-of-bounds store:
+"    strcpy(str, tmp)
+"    Unable to resolve constraint:
+"    requires maxSet(str @ bounds.c:10:13) >= maxRead(getenv("MYENV") @
+"    bounds.c:6:9)
+"     needed to satisfy precondition:
+"    requires maxSet(str @ bounds.c:10:13) >= maxRead(tmp @ bounds.c:10:18)
+"     derived from strcpy precondition: requires maxSet(<parameter 1>) >=
+"    maxRead(<parameter 2>)
+"  A memory write may write to an address beyond the allocated buffer. (Use
+"  -boundswrite to inhibit warning)
+
+CompilerSet errorformat=%OLCLint*m,
+	\%OSplint*m,
+	\%*[\ ]%f:%l:%c:\ %m,
+	\%*[\ ]%f:%l:\ %m,
+	\%*[^\"]\"%f\"%*\\D%l:\ %m,
+	\\"%f\"%*\\D%l:\ %m,
+	\%A%f:%l:%c:\ %m,
+	\%A%f:%l:%m,
+	\\"%f\"\\,
+	\\ line\ %l%*\\D%c%*[^\ ]\ %m,
+	\%D%*\\a[%*\\d]:\ Entering\ directory\ `%f',
+	\%X%*\\a[%*\\d]:\ Leaving\ directory\ `%f',
+	\%DMaking\ %*\\a\ in\ %f,
+	\%C\ \ %m
+
+let &cpo = s:cpo_save
+unlet s:cpo_save
diff --git a/runtime/compiler/tcl.vim b/runtime/compiler/tcl.vim
new file mode 100644
index 0000000..76d3edf
--- /dev/null
+++ b/runtime/compiler/tcl.vim
@@ -0,0 +1,18 @@
+" Vim compiler file
+" Compiler:	tcl
+" Maintainer:	Doug Kearns <djkea2@mugca.its.monash.edu.au>
+" URL:		http://mugca.its.monash.edu.au/~djkea2/vim/compiler/tcl.vim
+" Last Change:	2004 Mar 27
+
+if exists("current_compiler")
+  finish
+endif
+let current_compiler = "tcl"
+
+if exists(":CompilerSet") != 2		" older Vim always used :setlocal
+  command -nargs=* CompilerSet setlocal <args>
+endif
+
+CompilerSet makeprg=tcl
+
+CompilerSet errorformat=%EError:\ %m,%+Z\ %\\{4}(file\ \"%f\"\ line\ %l),%-G%.%#
diff --git a/runtime/compiler/tex.vim b/runtime/compiler/tex.vim
new file mode 100644
index 0000000..5828a91
--- /dev/null
+++ b/runtime/compiler/tex.vim
@@ -0,0 +1,68 @@
+" Vim compiler file
+" Compiler:     TeX
+" Maintainer:   Artem Chuprina <ran@ran.pp.ru>
+" Last Change:  2004 Mar 27
+
+if exists("current_compiler")
+	finish
+endif
+
+if exists(":CompilerSet") != 2		" older Vim always used :setlocal
+  command -nargs=* CompilerSet setlocal <args>
+endif
+
+" If makefile exists and we are not asked to ignore it, we use standard make
+" (do not redefine makeprg)
+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
+	" LaTeX
+	if exists("b:tex_flavor")
+		let current_compiler = b:tex_flavor
+	elseif exists("g:tex_flavor")
+		let current_compiler = g:tex_flavor
+	else
+		let current_compiler = "latex"
+	endif
+	let &l:makeprg=current_compiler.' -interaction=nonstopmode'
+else
+	let current_compiler = 'make'
+endif
+
+let s:cpo_save = &cpo
+set cpo-=C
+
+" Value errorformat are taken from vim help, see :help errorformat-LaTeX, with
+" addition from Srinath Avadhanula <srinath@fastmail.fm>
+CompilerSet errorformat=%E!\ LaTeX\ %trror:\ %m,
+	\%E!\ %m,
+	\%+WLaTeX\ %.%#Warning:\ %.%#line\ %l%.%#,
+	\%+W%.%#\ at\ lines\ %l--%*\\d,
+	\%WLaTeX\ %.%#Warning:\ %m,
+	\%Cl.%l\ %m,
+	\%+C\ \ %m.,
+	\%+C%.%#-%.%#,
+	\%+C%.%#[]%.%#,
+	\%+C[]%.%#,
+	\%+C%.%#%[{}\\]%.%#,
+	\%+C<%.%#>%.%#,
+	\%C\ \ %m,
+	\%-GSee\ the\ LaTeX%m,
+	\%-GType\ \ H\ <return>%m,
+	\%-G\ ...%.%#,
+	\%-G%.%#\ (C)\ %.%#,
+	\%-G(see\ the\ transcript%.%#),
+	\%-G\\s%#,
+	\%+O(%*[^()])%r,
+	\%+O%*[^()](%*[^()])%r,
+	\%+P(%f%r,
+	\%+P\ %\\=(%f%r,
+	\%+P%*[^()](%f%r,
+	\%+P[%\\d%[^()]%#(%f%r,
+	\%+Q)%r,
+	\%+Q%*[^()])%r,
+	\%+Q[%\\d%*[^()])%r
+
+let &cpo = s:cpo_save
+unlet s:cpo_save
diff --git a/runtime/compiler/tidy.vim b/runtime/compiler/tidy.vim
new file mode 100644
index 0000000..36416eb
--- /dev/null
+++ b/runtime/compiler/tidy.vim
@@ -0,0 +1,29 @@
+" Vim compiler file
+" Compiler:	HTML Tidy
+" Maintainer:	Doug Kearns <djkea2@mugca.its.monash.edu.au>
+" URL:		http://mugca.its.monash.edu.au/~djkea2/vim/compiler/tidy.vim
+" Last Change:	2004 Mar 27
+
+" NOTE: set 'tidy_compiler_040800' if you are using the 4th August 2000 release
+"       of HTML Tidy.
+
+if exists("current_compiler")
+  finish
+endif
+let current_compiler = "tidy"
+
+if exists(":CompilerSet") != 2		" older Vim always used :setlocal
+  command -nargs=* CompilerSet setlocal <args>
+endif
+
+" this is needed to work around a bug in the 04/08/00 release of tidy which
+" failed to set the filename if the -quiet option was used
+if exists("tidy_compiler_040800")
+  CompilerSet makeprg=tidy\ -errors\ --gnu-emacs\ yes\ %
+else
+  CompilerSet makeprg=tidy\ -quiet\ -errors\ --gnu-emacs\ yes\ %
+endif
+
+" sample warning: foo.html:8:1: Warning: inserting missing 'foobar' element
+" sample error:   foo.html:9:2: Error: <foobar> is not recognized!
+CompilerSet errorformat=%f:%l:%c:\ Error:%m,%f:%l:%c:\ Warning:%m,%-G%.%#
diff --git a/runtime/compiler/xmllint.vim b/runtime/compiler/xmllint.vim
new file mode 100644
index 0000000..b7110c7
--- /dev/null
+++ b/runtime/compiler/xmllint.vim
@@ -0,0 +1,29 @@
+" Vim compiler file
+" Compiler:	xmllint
+" Maintainer:	Doug Kearns <djkea2@mugca.its.monash.edu.au>
+" URL:		http://mugca.its.monash.edu.au/~djkea2/vim/compiler/xmllint.vim
+" Last Change:	2004 Mar 27
+
+if exists("current_compiler")
+  finish
+endif
+let current_compiler = "xmllint"
+
+if exists(":CompilerSet") != 2		" older Vim always used :setlocal
+  command -nargs=* CompilerSet setlocal <args>
+endif
+
+let s:cpo_save = &cpo
+set cpo-=C
+
+CompilerSet makeprg=xmllint\ --valid\ --noout\ 
+
+CompilerSet errorformat=%E%f:%l:\ error:\ %m,
+		    \%W%f:%l:\ warning:\ %m,
+		    \%E%f:%l:\ validity\ error:\ %m,
+		    \%W%f:%l:\ validity\ warning:\ %m,
+		    \%-Z%p^,
+		    \%-G%.%#
+
+let &cpo = s:cpo_save
+unlet s:cpo_save
diff --git a/runtime/compiler/xmlwf.vim b/runtime/compiler/xmlwf.vim
new file mode 100644
index 0000000..cd2e2bb
--- /dev/null
+++ b/runtime/compiler/xmlwf.vim
@@ -0,0 +1,23 @@
+" Vim Compiler File
+" Compiler:	xmlwf
+" Maintainer:	Robert Rowsome <rowsome@wam.umd.edu>
+" Last Change:	2004 Mar 27
+
+if exists("current_compiler")
+  finish
+endif
+let current_compiler = "xmlwf"
+
+let s:cpo_save = &cpo
+set cpo&vim
+
+if exists(":CompilerSet") != 2		" older Vim always used :setlocal
+  command -nargs=* CompilerSet setlocal <args>
+endif
+
+CompilerSet makeprg=xmlwf\ %
+
+CompilerSet errorformat=%f:%l%c:%m
+
+let &cpo = s:cpo_save
+unlet s:cpo_save