diff --git a/Makefile b/Makefile
index 7fc8d5a802e4c999c578c4388ad89778617043b8..7ccceab10d7ef5b2092f6e279889c6bef589e3c2 100644
--- a/Makefile
+++ b/Makefile
@@ -69,15 +69,15 @@ all install uninstall tools config configure proto depend lint tags types test t
 #    Before creating an archive first delete all backup files, *.orig, etc.
 
 MAJOR = 7
-MINOR = 0aa
+MINOR = 0b
 
 # Uncomment this line if the Win32s version is to be included.
-#DOSBIN_S =  dosbin_s
+DOSBIN_S =  dosbin_s
 
 # CHECKLIST for creating a new version:
 #
 # - Update Vim version number.  For a test version in: src/version.h, Contents,
-#   MAJOR/MINOR above, VIMRTDIR and VERSION in src/Makefile, README*.txt,
+#   MAJOR/MINOR above, VIMMAJOR and VIMMINOR in src/Makefile, README*.txt,
 #   runtime/doc/*.txt and nsis/gvim.nsi. Other things in README_os2.txt.  For a
 #   minor/major version: src/GvimExt/GvimExt.reg, src/vim.def, src/vim16.def.
 # - Correct included_patches[] in src/version.c.
@@ -92,7 +92,7 @@ MINOR = 0aa
 # - Check for missing entries in runtime/makemenu.vim (with checkmenu script).
 # - Check for missing options in runtime/optwin.vim et al. (with check.vim).
 # - Do "make menu" to update the runtime/synmenu.vim file.
-# - Add remarks for changes to runtime/doc/version6.txt.
+# - Add remarks for changes to runtime/doc/version7.txt.
 # - In runtime/doc run "make" and "make html" to check for errors.
 # - Check if src/Makefile and src/feature.h don't contain any personal
 #   preferences or the GTK, Perl, etc. mentioned above.
@@ -139,13 +139,13 @@ MINOR = 0aa
 # Win32 GUI version:
 # - "nmake -f Make_mvc.mak GUI=yes.
 # - move "gvim.exe" to here (otherwise the OLE version will overwrite it).
-# - Move ObjC/gvim.pdb to here.
+# - Move ObjG/gvim.pdb to here.
 # - Delete vimrun.exe, install.exe and uninstall.exe.
 # - Copy "GvimExt/gvimext.dll" to here.
 # Win32 GUI version with OLE, PERL, TCL, PYTHON and dynamic IME:
 # - Run src/bigvim.bat ("nmake -f Make_mvc.mak GUI=yes OLE=yes IME=yes ...)
 # - Rename "gvim.exe" to "gvim_ole.exe".
-# - Rename ObjC/gvim.pdb to "gvim_ole.pdb".
+# - Rename ObjGOLYTR/gvim.pdb to "gvim_ole.pdb".
 # - Delete install.exe and uninstall.exe.
 # - If building the Win32s version delete vimrun.exe.
 # Win32s GUI version:
diff --git a/README.txt b/README.txt
index fe32229b4bff75dcc114b4d03ec71ab859e720f7..8d26a3bce879e1efdbeaeb925d8b5de869361dd5 100644
--- a/README.txt
+++ b/README.txt
@@ -1,4 +1,4 @@
-README.txt for version 7.0aa of Vim: Vi IMproved.
+README.txt for version 7.0b of Vim: Vi IMproved.
 
 
 WHAT IS VIM
diff --git a/README_ami.txt b/README_ami.txt
index ba54262d477d978698a80447698f90a20c519381..c1e58dba4e23d39efe07e0c7cc161faa150b5e47 100644
--- a/README_ami.txt
+++ b/README_ami.txt
@@ -1,4 +1,4 @@
-README_ami.txt for version 7.0aa of Vim: Vi IMproved.
+README_ami.txt for version 7.0b of Vim: Vi IMproved.
 
 This file explains the installation of Vim on Amiga systems.
 See README.txt for general information about Vim.
diff --git a/README_amibin.txt b/README_amibin.txt
index 9d784a24fb51538d6c7399a0a95e00ae89ac8c3b..f39eb5e5900ce2a4f7139265b5d60f4792cfea1b 100644
--- a/README_amibin.txt
+++ b/README_amibin.txt
@@ -1,4 +1,4 @@
-README_amibin.txt for version 7.0aa of Vim: Vi IMproved.
+README_amibin.txt for version 7.0b of Vim: Vi IMproved.
 
 See "README.txt" for general information about Vim.
 See "README_ami.txt" for installation instructions for the Amiga.
diff --git a/README_dos.txt b/README_dos.txt
index 3cdc532a19d3cc1709e1e33e1e7efc2e1f55fbe1..9ecfec60af90fd0ddb1d4ea21577ca9314941239 100644
--- a/README_dos.txt
+++ b/README_dos.txt
@@ -1,4 +1,4 @@
-README_dos.txt for version 7.0aa of Vim: Vi IMproved.
+README_dos.txt for version 7.0b of Vim: Vi IMproved.
 
 This file explains the installation of Vim on MS-DOS and MS-Windows systems.
 See "README.txt" for general information about Vim.
diff --git a/README_extra.txt b/README_extra.txt
index d9358568fea24c74a9d3bb2655b451bc9b0c1cf1..5d49a4f258d07cc7e32dab0031a5bd126ae9e229 100644
--- a/README_extra.txt
+++ b/README_extra.txt
@@ -1,4 +1,4 @@
-README_extra.txt for version 7.0aa of Vim: Vi IMproved.
+README_extra.txt for version 7.0b of Vim: Vi IMproved.
 
 The extra archive of Vim is to be used in combination with the source archive
 (vim-6.0-src.tar.gz).  The extra archive is useless without it.
diff --git a/README_mac.txt b/README_mac.txt
index 83e3c64ccff90cba57bbedb634be545e46570c06..26d809a4e05676ebfc73ae4192adedd6fd3e28aa 100644
--- a/README_mac.txt
+++ b/README_mac.txt
@@ -1,4 +1,4 @@
-README_mac.txt for version 7.0aa of Vim: Vi IMproved.
+README_mac.txt for version 7.0b of Vim: Vi IMproved.
 
 This file explains the installation of Vim on Macintosh systems.
 See "README.txt" for general information about Vim.
diff --git a/README_ole.txt b/README_ole.txt
index 90fcfa0780e2cf3cde771b4d161333407bfe0a4a..bfbe4ec135de3d8bdfd576b0da58409aa809cd19 100644
--- a/README_ole.txt
+++ b/README_ole.txt
@@ -1,4 +1,4 @@
-README_ole.txt for version 7.0aa of Vim: Vi IMproved.
+README_ole.txt for version 7.0b of Vim: Vi IMproved.
 
 This archive contains gvim.exe with OLE interface and VisVim.
 This version of gvim.exe can also load a number of interface dynamically (you
diff --git a/README_os390.txt b/README_os390.txt
index 213ee36a00c986d36510788e55fbcdbe73695b29..3761c0f82a93c11124dc27db56f7c3ffb37fc4a8 100644
--- a/README_os390.txt
+++ b/README_os390.txt
@@ -1,4 +1,4 @@
-README_os_390.txt for version 7.0aa of Vim: Vi IMproved.
+README_os_390.txt for version 7.0b of Vim: Vi IMproved.
 
 Welcome to the OS/390 Unix port of VIM.
 
diff --git a/README_w32s.txt b/README_w32s.txt
index 41b0cdca80a8a3ca5e7c75ffe13b99ed91bddb6b..027e3120ad2c281c8b8d5df6d59309431a4ec5f4 100644
--- a/README_w32s.txt
+++ b/README_w32s.txt
@@ -1,4 +1,4 @@
-README_w32s.txt for version 7.0aa of Vim: Vi IMproved.
+README_w32s.txt for version 7.0b of Vim: Vi IMproved.
 
 This archive contains the gvim.exe that was specifically compiled for use in
 the Win32s subsystem in MS-Windows 3.1 and 3.11.
diff --git a/nsis/gvim.nsi b/nsis/gvim.nsi
index e184239b244947c274d8bc24f291933125d8dca5..8698f93f84eee1ce159e5bd0af2898777974e577 100644
--- a/nsis/gvim.nsi
+++ b/nsis/gvim.nsi
@@ -22,7 +22,7 @@
 !define HAVE_NLS
 
 !define VER_MAJOR 7
-!define VER_MINOR 0aa
+!define VER_MINOR 0b
 
 # ----------- No configurable settings below this line -----------
 
@@ -217,6 +217,12 @@ Section "Vim executables and runtime files"
 	SetOutPath $0\syntax
 	File ${VIMRT}\syntax\*.*
 
+	SetOutPath $0\spell
+	File ${VIMRT}\spell\*.txt
+	File ${VIMRT}\spell\*.vim
+	File ${VIMRT}\spell\*.spl
+	File ${VIMRT}\spell\*.sug
+
 	SetOutPath $0\tools
 	File ${VIMRT}\tools\*.*
 
diff --git a/runtime/autoload/netrw.vim b/runtime/autoload/netrw.vim
index 4f8f0a1c072b8c8ba5962e123dc65885be6abdad..399f671e0df5d39a34aa7ca50615f2238250faa7 100644
--- a/runtime/autoload/netrw.vim
+++ b/runtime/autoload/netrw.vim
@@ -1,7 +1,7 @@
 " netrw.vim: Handles file transfer and remote directory listing across a network
 "            AUTOLOAD PORTION
-" Date:		Mar 21, 2006
-" Version:	82
+" Date:		Mar 22, 2006
+" Version:	83
 " Maintainer:	Charles E Campbell, Jr <drchipNOSPAM at campbellfamily dot biz>
 " GetLatestVimScripts: 1075 1 :AutoInstall: netrw.vim
 " Copyright:    Copyright (C) 1999-2005 Charles E. Campbell, Jr. {{{1
@@ -23,7 +23,7 @@
 if &cp || exists("g:loaded_netrw")
   finish
 endif
-let g:loaded_netrw = "v82"
+let g:loaded_netrw = "v83"
 if v:version < 700
  echohl WarningMsg | echo "***netrw*** you need vim version 7.0 or later for version ".g:loaded_netrw." of netrw" | echohl None
  finish
@@ -1280,6 +1280,8 @@ fun! s:NetBrowse(dirname)
   setlocal bt=nofile nobl nonu noswf
   if g:netrw_fastbrowse >= 1
    setlocal bh=hide
+  else
+   setlocal bh=delete
   endif
 
   " save current directory on directory history list
@@ -1508,6 +1510,8 @@ fun! s:NetBrowseChgDir(dirname,newdir)
    setlocal ma nobl
    if g:netrw_fastbrowse >= 1
     setlocal bh=hide
+   else
+    setlocal bh=delete
    endif
    %d
 
@@ -1538,7 +1542,7 @@ endfun
 " ---------------------------------------------------------------------
 "  NetGetWord: it gets the directory named under the cursor {{{2
 fun! s:NetGetWord()
-"  call Dfunc("NetGetWord() line#".line("."))
+"  call Dfunc("NetGetWord() line#".line(".")." longlist=".g:netrw_longlist." virtcol=".virtcol("."))
   call s:UseBufWinVars()
 
   " insure that w:netrw_longlist is set up
@@ -1548,6 +1552,7 @@ fun! s:NetGetWord()
    else
     let w:netrw_longlist= 0
    endif
+"   call Decho("w:netrw_longlist=".w:netrw_longlist)
   endif
 
   if exists("w:netrw_bannercnt") && line(".") < w:netrw_bannercnt
@@ -1596,7 +1601,7 @@ fun! s:NetGetWord()
    endif
 
    let filestart = (virtcol(".")/b:netrw_cpf)*b:netrw_cpf
-"   call Decho("virtcol=".virtcol(".")." cpf=".b:netrw_cpf." bannercnt=".w:netrw_bannercnt." filestart=".filestart)
+"   call Decho("filestart= ([virtcol=".virtcol(".")."]/[b:netrw_cpf=".b:netrw_cpf."])*b:netrw_cpf=".filestart."  bannercnt=".w:netrw_bannercnt)
 "   call Decho("1: dirname<".dirname.">")
    if filestart > 0|let dirname= substitute(dirname,'^.\{'.filestart.'}','','')|endif
 "   call Decho("2: dirname<".dirname.">")
@@ -1613,7 +1618,7 @@ endfun
 " ---------------------------------------------------------------------
 " NetBrowseRm: remove/delete a remote file or directory {{{2
 fun! s:NetBrowseRm(usrhost,path) range
-"  call Dfunc("NetBrowseRm(usrhost<".a:usrhost."> path<".a:path.">)")
+"  call Dfunc("NetBrowseRm(usrhost<".a:usrhost."> path<".a:path.">) virtcol=".virtcol("."))
 "  call Decho("firstline=".a:firstline." lastline=".a:lastline)
 
   " preparation for removing multiple files/directories
@@ -1624,7 +1629,6 @@ fun! s:NetBrowseRm(usrhost,path) range
   while ctr <= a:lastline
    exe ctr
 
-   norm! 0
    let rmfile= s:NetGetWord()
 "   call Decho("rmfile<".rmfile.">")
 
@@ -2849,6 +2853,8 @@ fun! netrw#DirBrowse(dirname)
   setlocal bt=nofile nobl ma nonu noswf nowrap
   if g:netrw_fastbrowse >= 2
    setlocal bh=hide
+  else
+   setlocal bh=delete
   endif
   keepalt silent! %d
 
@@ -3178,7 +3184,7 @@ fun! s:LocalBrowseShellCmdRefresh()
   for ibuf in s:netrw_browselist
    if bufwinnr(ibuf) == -1
 "    call Decho("wiping  buf#".ibuf)
-    exe "bw ".ibuf
+    exe "silent! bw ".ibuf
     call remove(s:netrw_browselist,ibl)
 "    call Decho("browselist=".string(s:netrw_browselist))
     continue
@@ -3898,11 +3904,11 @@ fun! s:NetOptionSave()
 
   " Get Temporary Filename
   let w:aikeep   = &ai
-  " record autochdir setting and then insure its unset (tnx to David Fishburn)
-  if &acd && (has("netbeans_intg") || has("sun_workshop"))
-   set noacd
-   echohl Warning | echomsg "***warning*** directory browsing and the acd setting are incompatible" |echohl None
-  endif
+"  " netrw and the acd option do not work together properly
+"  if &acd && (has("netbeans_intg") || has("sun_workshop"))
+"   set noacd
+"   echohl Warning | echomsg "***warning*** directory browsing and the acd setting are incompatible" |echohl None
+"  endif
   let w:fokeep    = &fo
   let w:aikeep    = &ai
   let w:cikeep    = &ci
diff --git a/runtime/autoload/zip.vim b/runtime/autoload/zip.vim
index 2243ea8a389ca53b714b402da036ccdaa1011490..45aa3532a037b5d9f78d4bdb084badf025aee43f 100644
--- a/runtime/autoload/zip.vim
+++ b/runtime/autoload/zip.vim
@@ -75,7 +75,7 @@ fun! zip#Browse(zipfile)
   0d
   $
 
-  call Decho("exe silent r! unzip -l '".escape(a:zipfile,s:zipfile_escape)."'")
+"  call Decho("exe silent r! unzip -l '".escape(a:zipfile,s:zipfile_escape)."'")
   exe "silent r! unzip -l '".escape(a:zipfile,s:zipfile_escape)."'"
   $d
   silent 4,$v/^\s\+\d\+\s\{0,5}\d/d
diff --git a/runtime/doc/Makefile b/runtime/doc/Makefile
index 7dcbcf5f9ea22039a5eca6fd59a2b3c485827e06..532cc2df6efce72eae1760d62ab4433c2b923667 100644
--- a/runtime/doc/Makefile
+++ b/runtime/doc/Makefile
@@ -123,6 +123,7 @@ DOCS = \
 	usr_29.txt \
 	usr_30.txt \
 	usr_31.txt \
+	usr_32.txt \
 	usr_40.txt \
 	usr_41.txt \
 	usr_42.txt \
@@ -251,6 +252,7 @@ HTMLS = \
 	usr_29.html \
 	usr_30.html \
 	usr_31.html \
+	usr_32.html \
 	usr_40.html \
 	usr_41.html \
 	usr_42.html \
diff --git a/runtime/doc/autocmd.txt b/runtime/doc/autocmd.txt
index 4c19f1d4d625b258b93126ebf0197e9a00da3a65..cce7745ff847f81054dcf9f2d7f7b40f31e9eab9 100644
--- a/runtime/doc/autocmd.txt
+++ b/runtime/doc/autocmd.txt
@@ -1,4 +1,4 @@
-*autocmd.txt*   For Vim version 7.0aa.  Last change: 2006 Mar 15
+*autocmd.txt*   For Vim version 7.0b.  Last change: 2006 Mar 15
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
diff --git a/runtime/doc/change.txt b/runtime/doc/change.txt
index 408632291ff016e32bad6f82eddecd60385ab24b..00269e749864b7f77d1b122fc20f6221597505f8 100644
--- a/runtime/doc/change.txt
+++ b/runtime/doc/change.txt
@@ -1,4 +1,4 @@
-*change.txt*    For Vim version 7.0aa.  Last change: 2006 Mar 16
+*change.txt*    For Vim version 7.0b.  Last change: 2006 Mar 16
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
diff --git a/runtime/doc/cmdline.txt b/runtime/doc/cmdline.txt
index 4393c441471535177e9d8a5fdddee06b16e4ca3b..082415b3fc47dfa94c354b65005ce8d9a5c6d261 100644
--- a/runtime/doc/cmdline.txt
+++ b/runtime/doc/cmdline.txt
@@ -1,4 +1,4 @@
-*cmdline.txt*   For Vim version 7.0aa.  Last change: 2006 Mar 16
+*cmdline.txt*   For Vim version 7.0b.  Last change: 2006 Mar 16
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
diff --git a/runtime/doc/debug.txt b/runtime/doc/debug.txt
index 17bbe52f412f11dae026865126286c6a4fa06f43..0000a3ed9601faeaf52611bb9bbb0e86894afd53 100644
--- a/runtime/doc/debug.txt
+++ b/runtime/doc/debug.txt
@@ -1,4 +1,4 @@
-*debug.txt*     For Vim version 7.0aa.  Last change: 2005 Dec 17
+*debug.txt*     For Vim version 7.0b.  Last change: 2005 Dec 17
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
diff --git a/runtime/doc/debugger.txt b/runtime/doc/debugger.txt
index 566b83a843ec21d3ccfe9902b611370e56548639..4f4d98c65126db44dd31b7dda61b2340d24cca23 100644
--- a/runtime/doc/debugger.txt
+++ b/runtime/doc/debugger.txt
@@ -1,4 +1,4 @@
-*debugger.txt*  For Vim version 7.0aa.  Last change: 2005 Mar 29
+*debugger.txt*  For Vim version 7.0b.  Last change: 2005 Mar 29
 
 
 		  VIM REFERENCE MANUAL    by Gordon Prieur
diff --git a/runtime/doc/develop.txt b/runtime/doc/develop.txt
index b9e4b90a8f0193c688a1a62864c29654d64991ca..85f5027dc67a4a1704c3a8352c1ba3d1042aa0fe 100644
--- a/runtime/doc/develop.txt
+++ b/runtime/doc/develop.txt
@@ -1,4 +1,4 @@
-*develop.txt*   For Vim version 7.0aa.  Last change: 2006 Mar 09
+*develop.txt*   For Vim version 7.0b.  Last change: 2006 Mar 09
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
diff --git a/runtime/doc/diff.txt b/runtime/doc/diff.txt
index 577b216ef734f61b22b73b97e5df9df6a0e7bf61..dfd9ac1239172a9990bbb8c6918761b631c81afd 100644
--- a/runtime/doc/diff.txt
+++ b/runtime/doc/diff.txt
@@ -1,4 +1,4 @@
-*diff.txt*      For Vim version 7.0aa.  Last change: 2006 Mar 15
+*diff.txt*      For Vim version 7.0b.  Last change: 2006 Mar 15
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
diff --git a/runtime/doc/digraph.txt b/runtime/doc/digraph.txt
index c75708ebc88844ee36d33680954dd9d2224565a2..995e0d4e580fa5bc898d2f5c8fcded0a8e37b1f1 100644
--- a/runtime/doc/digraph.txt
+++ b/runtime/doc/digraph.txt
@@ -1,4 +1,4 @@
-*digraph.txt*   For Vim version 7.0aa.  Last change: 2005 Sep 11
+*digraph.txt*   For Vim version 7.0b.  Last change: 2005 Sep 11
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
diff --git a/runtime/doc/editing.txt b/runtime/doc/editing.txt
index 38115aac7381240d9e05c862c83600cb7b175853..9c8063eeb980da2786596456ce84405bf736d252 100644
--- a/runtime/doc/editing.txt
+++ b/runtime/doc/editing.txt
@@ -1,4 +1,4 @@
-*editing.txt*   For Vim version 7.0aa.  Last change: 2006 Mar 06
+*editing.txt*   For Vim version 7.0b.  Last change: 2006 Mar 06
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
diff --git a/runtime/doc/fold.txt b/runtime/doc/fold.txt
index c7a0a79f082596c6c59b2f48711fbb666170f7c7..fa8568e9a6925d3af7d3e8faf1b98bed539534d1 100644
--- a/runtime/doc/fold.txt
+++ b/runtime/doc/fold.txt
@@ -1,4 +1,4 @@
-*fold.txt*      For Vim version 7.0aa.  Last change: 2005 Sep 10
+*fold.txt*      For Vim version 7.0b.  Last change: 2005 Sep 10
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
diff --git a/runtime/doc/gui.txt b/runtime/doc/gui.txt
index f79f84e57b66bd0cc718baa66cea6d690c4ee769..c1446da520ba6e5c924ee0db48dc3355cbc2d4af 100644
--- a/runtime/doc/gui.txt
+++ b/runtime/doc/gui.txt
@@ -1,4 +1,4 @@
-*gui.txt*       For Vim version 7.0aa.  Last change: 2006 Mar 20
+*gui.txt*       For Vim version 7.0b.  Last change: 2006 Mar 20
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
diff --git a/runtime/doc/gui_w16.txt b/runtime/doc/gui_w16.txt
index 605e77ec8f9256e6412b7b1f11fd40969d498cb0..b20bf44de55f0b6a8b8f707586ceecbe564ef219 100644
--- a/runtime/doc/gui_w16.txt
+++ b/runtime/doc/gui_w16.txt
@@ -1,4 +1,4 @@
-*gui_w16.txt*   For Vim version 7.0aa.  Last change: 2005 Mar 29
+*gui_w16.txt*   For Vim version 7.0b.  Last change: 2005 Mar 29
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
diff --git a/runtime/doc/gui_w32.txt b/runtime/doc/gui_w32.txt
index 2c70eb7247fb1d3e9c4ed89a4231e37859b2efd5..472bf4f2b4459ee44f895fc1e09cc198485f8ef6 100644
--- a/runtime/doc/gui_w32.txt
+++ b/runtime/doc/gui_w32.txt
@@ -1,4 +1,4 @@
-*gui_w32.txt*   For Vim version 7.0aa.  Last change: 2005 Mar 29
+*gui_w32.txt*   For Vim version 7.0b.  Last change: 2005 Mar 29
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
diff --git a/runtime/doc/gui_x11.txt b/runtime/doc/gui_x11.txt
index 825ff3c6a3317fc96e6c42d7922958055b41f100..97b914cfe2304967f44145fbc7c8ca1e4727e64e 100644
--- a/runtime/doc/gui_x11.txt
+++ b/runtime/doc/gui_x11.txt
@@ -1,4 +1,4 @@
-*gui_x11.txt*   For Vim version 7.0aa.  Last change: 2005 Dec 06
+*gui_x11.txt*   For Vim version 7.0b.  Last change: 2005 Dec 06
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
diff --git a/runtime/doc/hangulin.txt b/runtime/doc/hangulin.txt
index 7487e62257883797f858d942ca11f63216a88b2a..2f2fb757c123d4d18fa3c997868ca57007dccfcc 100644
--- a/runtime/doc/hangulin.txt
+++ b/runtime/doc/hangulin.txt
@@ -1,4 +1,4 @@
-*hangulin.txt*  For Vim version 7.0aa.  Last change: 2005 Mar 29
+*hangulin.txt*  For Vim version 7.0b.  Last change: 2005 Mar 29
 
 
 		  VIM REFERENCE MANUAL    by Chi-Deok Hwang and Sung-Hyun Nam
diff --git a/runtime/doc/help.txt b/runtime/doc/help.txt
index e6e3bfadb24c8243464610558b4db60982ac2be3..8bc4b31945e064230c578dee9bfa73bd4deef2c1 100644
--- a/runtime/doc/help.txt
+++ b/runtime/doc/help.txt
@@ -1,4 +1,4 @@
-*help.txt*	For Vim version 7.0aa.  Last change: 2006 Mar 17
+*help.txt*	For Vim version 7.0b.  Last change: 2006 Mar 24
 
 			VIM - main help file
 									 k
@@ -71,6 +71,7 @@ Editing Effectively ~
 |usr_29.txt|  Moving through programs
 |usr_30.txt|  Editing programs
 |usr_31.txt|  Exploiting the GUI
+|usr_32.txt|  The undo tree
 
 Tuning Vim ~
 |usr_40.txt|  Make new commands
@@ -194,13 +195,6 @@ Standard plugins ~
 |pi_zip.txt|	Zip archive explorer
 
 LOCAL ADDITIONS:				*local-additions*
-|cecutil.txt|	DrChip's Utilities				Jun 11, 2004
-|engspchk.txt|	English Spelling Checker   (v61)	Mar 14, 2005
-|example.txt|	Example for a locally added help file
-|matchit.txt|   Extended "%" matching
-|test.txt|	Testing the hélp cömmånd nôw
-|typecorr.txt|	Plugin for correcting typing mistakes
-|helpp.txt|	Dummy line to avoid an error message
 
 ------------------------------------------------------------------------------
 *bars*		Bars example
diff --git a/runtime/doc/if_cscop.txt b/runtime/doc/if_cscop.txt
index 183ca30ad37a794f151a9ab691716f6a55c32b6f..f0937d75751d72fc8b2a8164f8fbef696d8faa3b 100644
--- a/runtime/doc/if_cscop.txt
+++ b/runtime/doc/if_cscop.txt
@@ -1,4 +1,4 @@
-*if_cscop.txt*  For Vim version 7.0aa.  Last change: 2005 Mar 29
+*if_cscop.txt*  For Vim version 7.0b.  Last change: 2005 Mar 29
 
 
 		  VIM REFERENCE MANUAL    by Andy Kahn
diff --git a/runtime/doc/if_mzsch.txt b/runtime/doc/if_mzsch.txt
index 5d41b4b9baee98827af625fded5d67b56e0ee15e..c8a24147e9b023033689288407ba0ffa22ff9876 100644
--- a/runtime/doc/if_mzsch.txt
+++ b/runtime/doc/if_mzsch.txt
@@ -1,4 +1,4 @@
-*if_mzsch.txt*  For Vim version 7.0aa.  Last change: 2006 Mar 06
+*if_mzsch.txt*  For Vim version 7.0b.  Last change: 2006 Mar 06
 
 
 		  VIM REFERENCE MANUAL    by Sergey Khorev
diff --git a/runtime/doc/if_ole.txt b/runtime/doc/if_ole.txt
index eff7bb2e785234fdf088494bdadec1f9cfc6d480..2842242fc355c99652c2e38206565b984400793e 100644
--- a/runtime/doc/if_ole.txt
+++ b/runtime/doc/if_ole.txt
@@ -1,4 +1,4 @@
-*if_ole.txt*    For Vim version 7.0aa.  Last change: 2006 Mar 06
+*if_ole.txt*    For Vim version 7.0b.  Last change: 2006 Mar 06
 
 
 		  VIM REFERENCE MANUAL    by Paul Moore
diff --git a/runtime/doc/if_perl.txt b/runtime/doc/if_perl.txt
index 7308c0d369e1804753ce4155a70bea928dcdb39d..6917bd8ef55c4ad4fc1cc0a62636c286d019885a 100644
--- a/runtime/doc/if_perl.txt
+++ b/runtime/doc/if_perl.txt
@@ -1,4 +1,4 @@
-*if_perl.txt*   For Vim version 7.0aa.  Last change: 2006 Mar 06
+*if_perl.txt*   For Vim version 7.0b.  Last change: 2006 Mar 06
 
 
 		  VIM REFERENCE MANUAL    by Sven Verdoolaege
diff --git a/runtime/doc/if_pyth.txt b/runtime/doc/if_pyth.txt
index b0f6286164398f5ec6ffec21a184e461262e62c6..9dd20873954441a3db9239ae9c10cef68c5de364 100644
--- a/runtime/doc/if_pyth.txt
+++ b/runtime/doc/if_pyth.txt
@@ -1,4 +1,4 @@
-*if_pyth.txt*   For Vim version 7.0aa.  Last change: 2006 Jan 20
+*if_pyth.txt*   For Vim version 7.0b.  Last change: 2006 Jan 20
 
 
 		  VIM REFERENCE MANUAL    by Paul Moore
diff --git a/runtime/doc/if_ruby.txt b/runtime/doc/if_ruby.txt
index 194b8d14d8ac6e942230aabe53e31562114cd192..ceb3282aa372fc2a06c7150acf37cf947bc3e878 100644
--- a/runtime/doc/if_ruby.txt
+++ b/runtime/doc/if_ruby.txt
@@ -1,4 +1,4 @@
-*if_ruby.txt*   For Vim version 7.0aa.  Last change: 2006 Mar 06
+*if_ruby.txt*   For Vim version 7.0b.  Last change: 2006 Mar 06
 
 
 		  VIM REFERENCE MANUAL    by Shugo Maeda
diff --git a/runtime/doc/if_sniff.txt b/runtime/doc/if_sniff.txt
index a55c7c16fd284651b3293eac95ffa508b6fde71f..6f18d1207ffdfcf560b7771ab212dd40c8285c24 100644
--- a/runtime/doc/if_sniff.txt
+++ b/runtime/doc/if_sniff.txt
@@ -1,4 +1,4 @@
-*if_sniff.txt*	For Vim version 7.0aa.  Last change: 2005 Mar 29
+*if_sniff.txt*	For Vim version 7.0b.  Last change: 2005 Mar 29
 
 
 		  VIM REFERENCE MANUAL
diff --git a/runtime/doc/if_tcl.txt b/runtime/doc/if_tcl.txt
index cee0370b7f8bb0a62c122b82d585169fb2abae99..e7280c7d47c3a4524065b1fcf71675dbc71ab53f 100644
--- a/runtime/doc/if_tcl.txt
+++ b/runtime/doc/if_tcl.txt
@@ -1,4 +1,4 @@
-*if_tcl.txt*    For Vim version 7.0aa.  Last change: 2006 Mar 06
+*if_tcl.txt*    For Vim version 7.0b.  Last change: 2006 Mar 06
 
 
 		  VIM REFERENCE MANUAL    by Ingo Wilken
diff --git a/runtime/doc/indent.txt b/runtime/doc/indent.txt
index f26c5406c5814339f23515f30a0409795d52a00a..5805d3b5205d99afa0a6b4fa24797386db4255d2 100644
--- a/runtime/doc/indent.txt
+++ b/runtime/doc/indent.txt
@@ -1,4 +1,4 @@
-*indent.txt*    For Vim version 7.0aa.  Last change: 2005 Aug 30
+*indent.txt*    For Vim version 7.0b.  Last change: 2005 Aug 30
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
diff --git a/runtime/doc/index.txt b/runtime/doc/index.txt
index 72fa5e3826c5526d6940d3cab9221e29a79ba4ff..305d9a3c275e4dbdd898e95f6bd4f7050bda60dc 100644
--- a/runtime/doc/index.txt
+++ b/runtime/doc/index.txt
@@ -1,4 +1,4 @@
-*index.txt*     For Vim version 7.0aa.  Last change: 2006 Mar 20
+*index.txt*     For Vim version 7.0b.  Last change: 2006 Mar 24
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -1088,6 +1088,7 @@ The commands are sorted on the non-optional part of their name.
 |:cexpr|	:cex[pr]	read errors from expr and jump to first
 |:cfile|	:cf[ile]	read file with error messages and jump to first
 |:cfirst|	:cfir[st]	go to the specified error, default first one
+|:cgetbuffer|	:cgetb[uffer]	get errors from buffer
 |:cgetexpr|	:cgete[xpr]	get errors from expr
 |:cgetfile|	:cg[etfile]	read file with error messages
 |:changes|	:cha[nges]	print the change list
@@ -1242,6 +1243,7 @@ The commands are sorted on the non-optional part of their name.
 |:lexpr|	:lex[pr]	read locations from expr and jump to first
 |:lfile|	:lf[ile]	read file with locations and jump to first
 |:lfirst|	:lfir[st]	go to the specified location, default first one
+|:lgetbuffer|	:lgetb[uffer]	get locations from buffer
 |:lgetexpr|	:lgete[xpr]	get locations from expr
 |:lgetfile|	:lg[etfile]	read file with locations
 |:lgrep|	:lgr[ep]	run 'grepprg' and jump to first match
diff --git a/runtime/doc/insert.txt b/runtime/doc/insert.txt
index 1bf8f6dc352fd0429762ab9f8e14fb2a11d18677..2bcfe6b9bf6c3ada0c0af03dce19dd9216cf2f3a 100644
--- a/runtime/doc/insert.txt
+++ b/runtime/doc/insert.txt
@@ -1,4 +1,4 @@
-*insert.txt*    For Vim version 7.0aa.  Last change: 2006 Mar 21
+*insert.txt*    For Vim version 7.0b.  Last change: 2006 Mar 21
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
diff --git a/runtime/doc/map.txt b/runtime/doc/map.txt
index defc308a3ced7deafbf08f9bbbdc87737316d53d..f6011fc405b8f4bdab64721150773f057cd7d386 100644
--- a/runtime/doc/map.txt
+++ b/runtime/doc/map.txt
@@ -1,4 +1,4 @@
-*map.txt*       For Vim version 7.0aa.  Last change: 2006 Mar 20
+*map.txt*       For Vim version 7.0b.  Last change: 2006 Mar 20
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
diff --git a/runtime/doc/mbyte.txt b/runtime/doc/mbyte.txt
index 54dcba8a4e5926b438f4a9b5de7ccfa907d6f81b..c194d6b4ad3573ff215c61cfc2f5ae3490c0832f 100644
--- a/runtime/doc/mbyte.txt
+++ b/runtime/doc/mbyte.txt
@@ -1,4 +1,4 @@
-*mbyte.txt*     For Vim version 7.0aa.  Last change: 2006 Mar 05
+*mbyte.txt*     For Vim version 7.0b.  Last change: 2006 Mar 05
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar et al.
diff --git a/runtime/doc/message.txt b/runtime/doc/message.txt
index dad5e0d9d6a15a4b46f88e61681d633b6160c46d..70c43d74afdd337abb5e353cc9870bf6c4c8f944 100644
--- a/runtime/doc/message.txt
+++ b/runtime/doc/message.txt
@@ -1,4 +1,4 @@
-*message.txt*   For Vim version 7.0aa.  Last change: 2006 Mar 01
+*message.txt*   For Vim version 7.0b.  Last change: 2006 Mar 01
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
diff --git a/runtime/doc/mlang.txt b/runtime/doc/mlang.txt
index 3045b46a1db81fe8b0a740ea784fcffd2377ea40..88edfc42c603c106606ff5d719a73cd850f1e5a5 100644
--- a/runtime/doc/mlang.txt
+++ b/runtime/doc/mlang.txt
@@ -1,4 +1,4 @@
-*mlang.txt*     For Vim version 7.0aa.  Last change: 2004 Feb 24
+*mlang.txt*     For Vim version 7.0b.  Last change: 2004 Feb 24
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
diff --git a/runtime/doc/motion.txt b/runtime/doc/motion.txt
index 5570d7303f6a2287be8f1a8935f83355a5291f6f..134c492df49c0da69e0f197afc13e3d28be27470 100644
--- a/runtime/doc/motion.txt
+++ b/runtime/doc/motion.txt
@@ -1,4 +1,4 @@
-*motion.txt*    For Vim version 7.0aa.  Last change: 2006 Jan 02
+*motion.txt*    For Vim version 7.0b.  Last change: 2006 Jan 02
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
diff --git a/runtime/doc/netbeans.txt b/runtime/doc/netbeans.txt
index 789fbbc17abcea099700b159e5ad1697c7662aa1..143659b2489dc427bd22a3b81cf35e832292ef25 100644
--- a/runtime/doc/netbeans.txt
+++ b/runtime/doc/netbeans.txt
@@ -1,4 +1,4 @@
-*netbeans.txt*  For Vim version 7.0aa.  Last change: 2006 Mar 09
+*netbeans.txt*  For Vim version 7.0b.  Last change: 2006 Mar 09
 
 
 		  VIM REFERENCE MANUAL    by Gordon Prieur
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index ae9f517a85f339e2919fb57cb7367706527d7f1b..801311a038612f75e188aabf712684bd8d0251f6 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -1,4 +1,4 @@
-*options.txt*	For Vim version 7.0aa.  Last change: 2006 Mar 18
+*options.txt*	For Vim version 7.0b.  Last change: 2006 Mar 18
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
diff --git a/runtime/doc/os_390.txt b/runtime/doc/os_390.txt
index 998a5532e81d388fe87f7dab4e65ed9845dd6fb2..cda7b3b28dae2ef0c1e74b15f7447300e2012ce9 100644
--- a/runtime/doc/os_390.txt
+++ b/runtime/doc/os_390.txt
@@ -1,4 +1,4 @@
-*os_390.txt*    For Vim version 7.0aa.  Last change: 2005 Mar 29
+*os_390.txt*    For Vim version 7.0b.  Last change: 2005 Mar 29
 
 
 		  VIM REFERENCE MANUAL	  by Ralf Schandl
diff --git a/runtime/doc/os_beos.txt b/runtime/doc/os_beos.txt
index da8b7dc43c50baa1324a76ec099117fd521493d6..d799ed79840826530336d69ddfad5e871dfa7f9e 100644
--- a/runtime/doc/os_beos.txt
+++ b/runtime/doc/os_beos.txt
@@ -1,4 +1,4 @@
-*os_beos.txt*	For Vim version 7.0aa.  Last change: 2005 Mar 29
+*os_beos.txt*	For Vim version 7.0b.  Last change: 2005 Mar 29
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
diff --git a/runtime/doc/os_mac.txt b/runtime/doc/os_mac.txt
index 1f0b4d1b2aa43ed1862fdcbc0df4a7ddcb15f7e9..9d06ba823b724b4945f8f7e4a12c378d02053679 100644
--- a/runtime/doc/os_mac.txt
+++ b/runtime/doc/os_mac.txt
@@ -1,4 +1,4 @@
-*os_mac.txt*    For Vim version 7.0aa.  Last change: 2006 Mar 09
+*os_mac.txt*    For Vim version 7.0b.  Last change: 2006 Mar 09
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar et al.
diff --git a/runtime/doc/os_mint.txt b/runtime/doc/os_mint.txt
index d84f6f56682b49a4986c22c97f84fee4d277cb48..46c876c0de7a498d92bddf896d44a10ba193443a 100644
--- a/runtime/doc/os_mint.txt
+++ b/runtime/doc/os_mint.txt
@@ -1,4 +1,4 @@
-*os_mint.txt*   For Vim version 7.0aa.  Last change: 2005 Mar 29
+*os_mint.txt*   For Vim version 7.0b.  Last change: 2005 Mar 29
 
 
 		  VIM REFERENCE MANUAL    by Jens M. Felderhoff
diff --git a/runtime/doc/os_msdos.txt b/runtime/doc/os_msdos.txt
index 057ef15eb593aacc66c6e7ef0cffa69850d830b7..5d00ae45a0c1614af4e902fb022514767c17e601 100644
--- a/runtime/doc/os_msdos.txt
+++ b/runtime/doc/os_msdos.txt
@@ -1,4 +1,4 @@
-*os_msdos.txt*  For Vim version 7.0aa.  Last change: 2005 Mar 29
+*os_msdos.txt*  For Vim version 7.0b.  Last change: 2005 Mar 29
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
diff --git a/runtime/doc/os_os2.txt b/runtime/doc/os_os2.txt
index 539e0518a7462e3ec6d0466ca721a27c22b8558b..acbd42791aa372a76f7a75605e0ed5df32910fc9 100644
--- a/runtime/doc/os_os2.txt
+++ b/runtime/doc/os_os2.txt
@@ -1,4 +1,4 @@
-*os_os2.txt*    For Vim version 7.0aa.  Last change: 2005 Mar 29
+*os_os2.txt*    For Vim version 7.0b.  Last change: 2005 Mar 29
 
 
 		  VIM REFERENCE MANUAL    by Paul Slootman
diff --git a/runtime/doc/os_qnx.txt b/runtime/doc/os_qnx.txt
index 90dde33f7e440c7fdb67a6dc09749a1fda3062a9..46efd461c6a01a75995b4a8b342fce479552ed46 100644
--- a/runtime/doc/os_qnx.txt
+++ b/runtime/doc/os_qnx.txt
@@ -1,4 +1,4 @@
-*os_qnx.txt*    For Vim version 7.0aa.  Last change: 2005 Mar 29
+*os_qnx.txt*    For Vim version 7.0b.  Last change: 2005 Mar 29
 
 
 		  VIM REFERENCE MANUAL    by Julian Kinraid
diff --git a/runtime/doc/os_risc.txt b/runtime/doc/os_risc.txt
index 77e555c57ad6e9222fb6346cab29074e07f0c245..362329574f1dec8816c51c5953c345b4b527624f 100644
--- a/runtime/doc/os_risc.txt
+++ b/runtime/doc/os_risc.txt
@@ -1,4 +1,4 @@
-*os_risc.txt*   For Vim version 7.0aa.  Last change: 2005 Mar 29
+*os_risc.txt*   For Vim version 7.0b.  Last change: 2005 Mar 29
 
 
 		  VIM REFERENCE MANUAL    by Thomas Leonard
diff --git a/runtime/doc/os_unix.txt b/runtime/doc/os_unix.txt
index 0a69e70c6310c0b90ed96f43e58739109ab0efe3..37b8e7d6e6d39a8ac61aa7c23fd192b00d73842d 100644
--- a/runtime/doc/os_unix.txt
+++ b/runtime/doc/os_unix.txt
@@ -1,4 +1,4 @@
-*os_unix.txt*   For Vim version 7.0aa.  Last change: 2005 Mar 29
+*os_unix.txt*   For Vim version 7.0b.  Last change: 2005 Mar 29
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
diff --git a/runtime/doc/os_vms.txt b/runtime/doc/os_vms.txt
index 5a91158a0aa2d693fb605ffafaf5402a3b81e040..fbf52ad8fdc17c621d99f4ca94537d4311109424 100644
--- a/runtime/doc/os_vms.txt
+++ b/runtime/doc/os_vms.txt
@@ -1,4 +1,4 @@
-*os_vms.txt*    For Vim version 7.0aa.  Last change: 2006 Mar 02
+*os_vms.txt*    For Vim version 7.0b.  Last change: 2006 Mar 02
 
 
 		  VIM REFERENCE MANUAL
diff --git a/runtime/doc/pi_gzip.txt b/runtime/doc/pi_gzip.txt
index 19ecdc430be3eba1a82abd95186269a3d0b93faf..89f284e7ddbf30f16565e8f0d065bdc9d04d26fd 100644
--- a/runtime/doc/pi_gzip.txt
+++ b/runtime/doc/pi_gzip.txt
@@ -1,4 +1,4 @@
-*pi_gzip.txt*   For Vim version 7.0aa.  Last change: 2002 Oct 29
+*pi_gzip.txt*   For Vim version 7.0b.  Last change: 2002 Oct 29
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
diff --git a/runtime/doc/pi_netrw.txt b/runtime/doc/pi_netrw.txt
index 23c634e028103694296cb6d62986e96805863f2c..86dd652ad4ab97596fa907b8112793b9eff67df1 100644
--- a/runtime/doc/pi_netrw.txt
+++ b/runtime/doc/pi_netrw.txt
@@ -1,4 +1,4 @@
-*pi_netrw.txt*  For Vim version 7.0.  Last change: Mar 21, 2006
+*pi_netrw.txt*  For Vim version 7.0b.  Last change: Mar 22, 2006
 
 		VIM REFERENCE MANUAL    by Charles E. Campbell, Jr.
 
@@ -365,7 +365,7 @@ Both the :Nread and the :Nwrite ex-commands can accept multiple filenames.
 NETRC							*netrw-netrc*
 
 The typical syntax for lines in a <.netrc> file is given as shown below.
-Ftp under Unix usually support <.netrc>; Windows' ftp usually doesn't.
+Ftp under Unix usually supports <.netrc>; ftp under Windows usually doesn't.
 >
 	machine {full machine name} login {user-id} password "{password}"
 	default login {user-id} password "{password}"
@@ -395,11 +395,12 @@ However, |netrw-listhack| can help with this problem.
 ==============================================================================
 4. Activation						*netrw-activate*
 
-Network-oriented file transfers are available by default whenever
+Network-oriented file transfers are available by default whenever Vim's
 |'nocompatible'| mode is enabled.  The <netrw.vim> file resides in your
 system's vim-plugin directory and is sourced automatically whenever you bring
 up vim.  I suggest that, at a minimum, you have at least the following in your
 <.vimrc> customization file: >
+
 	set nocp
 	if version >= 600
 	  filetype plugin indent on
@@ -420,11 +421,14 @@ Thus one may use files across networks just as simply as if they were local. >
 See |netrw-activate| for more on how to encourage your vim to use plugins
 such as netrw.
 
+
 ==============================================================================
 6. Ex Commands						*netrw-ex*
 
-The usual read/write commands are supported.  There are also a couple of
-additional commands available.
+The usual read/write commands are supported.  There are also a few
+additional commands available.  Often you won't need to use Nw or
+Nread as shown in |netrw-transparent| (ie. use :e url, :r url, :w url;
+see |netrw-urls|).
 
 :[range]Nw	Write the specified lines to the current
 		file as specified in b:netrw_lastfile.
@@ -455,7 +459,7 @@ additional commands available.
 		strings.
 
 :NetrwSettings  This command is desribed in |netrw-settings| -- used to
-                display netrw settings and change netrw behavior
+                display netrw settings and change netrw behavior.
 
 
 ==============================================================================
@@ -1444,6 +1448,10 @@ which is loaded automatically at startup (assuming :set nocp).
 ==============================================================================
 11. History						*netrw-history* {{{1
 
+	v83: * disabled stop-acd handling; the change in directory handling
+	       may allow acd to be used again.  Awaiting feedback.
+	     * D was refusing to delete remote files/directories in wide
+	       listing mode.
 	v81: * FocusGained also used to refresh/wipe local browser directory
 	       buffers
 	     * (bugfix) netrw was leaving [Scratch] buffers behind when the
diff --git a/runtime/doc/pi_paren.txt b/runtime/doc/pi_paren.txt
index b8cf4dcf7f6ba5011390aa0351ec3f7ae5941d48..32107f01ee78db1d7ea60c8bee8f84195dad3937 100644
--- a/runtime/doc/pi_paren.txt
+++ b/runtime/doc/pi_paren.txt
@@ -1,4 +1,4 @@
-*pi_paren.txt*   For Vim version 7.0aa.  Last change: 2006 Mar 01
+*pi_paren.txt*  For Vim version 7.0b.  Last change: 2006 Mar 24
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
diff --git a/runtime/doc/pi_tar.txt b/runtime/doc/pi_tar.txt
index 567ecf10838e6b36a4f8868f92a2a4d3abdf4235..c246037c61ebd6e3601a6420aa840d2f2063e9c5 100644
--- a/runtime/doc/pi_tar.txt
+++ b/runtime/doc/pi_tar.txt
@@ -1,4 +1,6 @@
-*tar.txt*	Tar File Interface				Dec 21, 2005
+*tar.txt*	For Vim version 7.0b.  Last change: 2006 Mar 24
+
+	Tar File Interface
 
 Author:  Charles E. Campbell, Jr.  <NdrOchip@ScampbellPfamily.AbizM>
 	  (remove NOSPAM from Campbell's email first)
diff --git a/runtime/doc/pi_zip.txt b/runtime/doc/pi_zip.txt
index 040ed045e5db2106faeda956087da9520fe4aaed..ebd3b82393a160fa1301bd337d8b8fa64f4504af 100644
--- a/runtime/doc/pi_zip.txt
+++ b/runtime/doc/pi_zip.txt
@@ -1,4 +1,6 @@
-*zip.txt*	Zip File Interface				Mar 22, 2006
+*zip.txt*	For Vim version 7.0b.  Last change: 2006 Mar 24
+
+	Zip File Interface
 
 Author:  Charles E. Campbell, Jr.  <NdrOchip@ScampbellPfamily.AbizM>
 	  (remove NOSPAM from Campbell's email first)
diff --git a/runtime/doc/print.txt b/runtime/doc/print.txt
index 56fa49fab99a7f7f7e5cbcad735bd89f45c92395..9741324fc94386b0e7b50a0d2ac93d4fc2607713 100644
--- a/runtime/doc/print.txt
+++ b/runtime/doc/print.txt
@@ -1,4 +1,4 @@
-*print.txt*     For Vim version 7.0aa.  Last change: 2005 Apr 01
+*print.txt*     For Vim version 7.0b.  Last change: 2005 Apr 01
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
diff --git a/runtime/doc/quickref.txt b/runtime/doc/quickref.txt
index c5f0c76f64d964c981fa0da6150ad210fa44678c..5fac446daf3c021e940838e6fada16e6097fb4ec 100644
--- a/runtime/doc/quickref.txt
+++ b/runtime/doc/quickref.txt
@@ -1,4 +1,4 @@
-*quickref.txt*  For Vim version 7.0aa.  Last change: 2006 Mar 23
+*quickref.txt*  For Vim version 7.0b.  Last change: 2006 Mar 23
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
diff --git a/runtime/doc/recover.txt b/runtime/doc/recover.txt
index d6efe640b5bfa09296e43986644fce894242715a..485369797e7ac52273274ef7b3c9c84f02b1c950 100644
--- a/runtime/doc/recover.txt
+++ b/runtime/doc/recover.txt
@@ -1,4 +1,4 @@
-*recover.txt*   For Vim version 7.0aa.  Last change: 2005 Dec 12
+*recover.txt*   For Vim version 7.0b.  Last change: 2005 Dec 12
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
diff --git a/runtime/doc/rileft.txt b/runtime/doc/rileft.txt
index b83dc54fe7e0de88a30d178ac7c2e7fa8fc64166..db2c584366f31c36c16d2984061f5899e09de11f 100644
--- a/runtime/doc/rileft.txt
+++ b/runtime/doc/rileft.txt
@@ -1,4 +1,4 @@
-*rileft.txt*    For Vim version 7.0aa.  Last change: 2005 Apr 04
+*rileft.txt*    For Vim version 7.0b.  Last change: 2005 Apr 04
 
 
 		  VIM REFERENCE MANUAL    by Avner Lottem
diff --git a/runtime/doc/russian.txt b/runtime/doc/russian.txt
index 4d9d0368ecbc7f04b01004fd0599c443dca08739..c78e04313891c7e60303f26f321aa63042b9b70e 100644
--- a/runtime/doc/russian.txt
+++ b/runtime/doc/russian.txt
@@ -1,4 +1,4 @@
-*russian.txt*   For Vim version 7.0aa.  Last change: 2005 Apr 01
+*russian.txt*   For Vim version 7.0b.  Last change: 2005 Apr 01
 
 
 		  VIM REFERENCE MANUAL    by Vassily Ragosin
diff --git a/runtime/doc/sign.txt b/runtime/doc/sign.txt
index adeb7fc0f6f3cd3c5162c7e58b6d956e4f107afe..1e68f78ce972c5dce4997d0b3bfebf743e6fce50 100644
--- a/runtime/doc/sign.txt
+++ b/runtime/doc/sign.txt
@@ -1,4 +1,4 @@
-*sign.txt*      For Vim version 7.0aa.  Last change: 2005 Apr 04
+*sign.txt*      For Vim version 7.0b.  Last change: 2005 Apr 04
 
 
 		  VIM REFERENCE MANUAL    by Gordon Prieur
diff --git a/runtime/doc/sponsor.txt b/runtime/doc/sponsor.txt
index 766c3d8c0a2c1a13520bff47bc438ecdf3547b73..8e4011dec003609e900e42c010f71d3722c473e0 100644
--- a/runtime/doc/sponsor.txt
+++ b/runtime/doc/sponsor.txt
@@ -1,4 +1,4 @@
-*sponsor.txt*   For Vim version 7.0aa.  Last change: 2004 Jun 16
+*sponsor.txt*   For Vim version 7.0b.  Last change: 2006 Mar 24
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -7,13 +7,13 @@
 
 SPONSOR VIM DEVELOPMENT						*sponsor*
 
-Fixing bugs and adding new features takes a lot of effort.  For a few years
-Bram has attempted to do this next to a full-time job.  During that time the
-todo list kept getting longer and longer.
+Fixing bugs and adding new features takes a lot of time and effort.  To show
+your appreciation for the work and motivate Bram and others to continue
+working on Vim please send a donation.
 
-In order for Bram to support Vim properly he needs your support.  Through your
-donations Bram will be able to have a part-time job and spend more time on
-fixing bugs and adding new features.
+Since Bram is back to a paid job the money will now be used to help children
+in Uganda.  See |uganda|.  But at the same time donations increase Bram's
+motivation to work on Vim!
 
 For the most recent information about sponsoring look on the Vim web site:
 
@@ -58,7 +58,7 @@ But only if you enable this on your account page.
 
 HOW TO SEND MONEY						*send-money*
 
-Creditcard	Through PayPal, see the PayPal site for information:
+Credit card	Through PayPal, see the PayPal site for information:
 			https://www.paypal.com
 		The e-mail address for sending sponsorship money is:
 			donate@vim.org
@@ -68,15 +68,7 @@ Creditcard	Through PayPal, see the PayPal site for information:
 		In Euro countries a bank transfer is preferred, this has lower
 		costs.
 
-Bank transfer	Transfer to Bram's account at the Postbank: 1644503.  For
-		international transfers you can use these numbers:
-			IBAN:       NL79 PSTB 0001 6445 03
-			SWIFT/BIC:  PSTBNL21
-		This is the address of the bank:
-			ING Bank Amsterdam, Foreign Operations
-			PO Box 1800
-			1000 BV Amsterdam
-			The Netherlands
+Other methods	See |iccf-donations|.
 		Include "Vim sponsor" or "Vim registration" in the comment of
 		your money transfer.  Send me an e-mail that mentions the
 		amount you transferred if you want to vote for features and
@@ -88,37 +80,26 @@ Cash		Small amounts can be send with ordinary mail.  Put something
 		features and show others you are a registered Vim user or
 		sponsor.
 
-This is Bram's address: Bram Moolenaar
-			Clematisstraat 30
-			5925 BE Venlo
+You can use this permanent address:
+			Bram Moolenaar
+			Molenstraat 2
+			2161 HP Lisse
 			The Netherlands
 
 
-ALTERNATIVE
-
-If you don't care about sponsoring Vim Development or becoming a registered
-Vim user, but do care about helping needy children, consider giving to the
-ICCF Holland foundation.  This is the charity recommended by Vim's author.
-The money is used for a children centre in the south of Uganda, where AIDS has
-caused many victims.  See |uganda|.
-
 
 QUESTIONS AND ANSWERS				*sponsor-faq* *register-faq*
 
 Why should I give money?
 
-Bram has tried to work on Vim next to a full-time job.  The list of known bugs
-and ideas for new features has constantly been growing during this time.  Bram
-simply can't spend enough time on Vim development when he has a full-time job.
-Your contribution will make it possible for Bram to have a part-time job and
-spend much more time on Vim development.  Bugs will be fixed quicker and new
-Vim releases will become available more often.
+If you do not show your appreciation for Vim then Bram will be less motivated
+to fix bugs and add new features.
 
 
 How much money should I send?
 
-That is up to you.  The more you give, the more time Bram can work on Vim.  An
-indication for individuals that use Vim at home: 10 Euro per year.  For
+That is up to you.  The more you give, the more children will be helped.
+An indication for individuals that use Vim at home: 10 Euro per year.  For
 professional use: 30 Euro per year per person.  Send at least 10 euro to be
 able to vote for features.
 
@@ -198,33 +179,30 @@ sent money.  The points will be counted right away.
 
 How about Charityware?
 
-You have to decide yourself whether you want to sponsor Vim development, help
-the poor children in Uganda (see |uganda|) or both.  Bram will certainly keep
-on supporting the project in Uganda.  In the (unlikely) situation that Bram
-gets more donations for Vim development than he needs, he will send the money
-to Uganda.
+Currently the Vim donations go to |uganda| anyway.  Thus it doesn't matter if
+you sponsor Vim or ICCF.  Except that Vim sponsoring will allow you to vote
+for features.
 
 
 I donated $$$, now please add feature XYZ!
 
 There is no direct relation between your donation and the work Bram does.
-Otherwise you would be paying for work and Bram has to pay income tax over the
+Otherwise you would be paying for work and we would have to pay tax over the
 donation.  If you want to hire Bram for specific work, contact him directly,
 don't use the donation system.
 
 
-Are the donations tax deductable?
+Are the donations tax deductible?
 
-No.  Setting up a system for this is complex and imposes too many restrictions.
-The donations to help the children in |Uganda| are tax deductable in Holland,
-Germany, Canada and probably also in the USA.
+That depends on your country.  The donations to help the children in |Uganda|
+are tax deductible in Holland, Germany, Canada and in the USA.  See the ICCF
+website http://www.iccf.nl/donate.html.  You must send an e-mail to Bram to
+let him know that the donation is done because of the use of Vim.
 
 
 Can you send me a bill?
 
-Sending a bill would mean Bram does something in return for your contribution.
-That is work and would mean Bram has to pay income tax over the amount.  It is
-possible, but the net amount will be lower.
+No.  But a receipt is possible.
 
 
  vim:tw=78:ts=8:ft=help:norl:
diff --git a/runtime/doc/tabpage.txt b/runtime/doc/tabpage.txt
index 5c7c2ed2f6a8b51f02642d59a1ad17da6d1aca27..d6b32994ea84676db4d2d2693155c36145149c88 100644
--- a/runtime/doc/tabpage.txt
+++ b/runtime/doc/tabpage.txt
@@ -1,4 +1,4 @@
-*tabpage.txt*   For Vim version 7.0aa.  Last change: 2006 Mar 03
+*tabpage.txt*   For Vim version 7.0b.  Last change: 2006 Mar 03
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
diff --git a/runtime/doc/tags b/runtime/doc/tags
index 5a8086f0ce9ac4e485b15e14efcac192d163f5b7..6629dab82e3a236e68df21d9778f062c9f5a7bfc 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -1609,6 +1609,9 @@ $VIMRUNTIME	starting.txt	/*$VIMRUNTIME*
 31.3	usr_31.txt	/*31.3*
 31.4	usr_31.txt	/*31.4*
 31.5	usr_31.txt	/*31.5*
+32.1	usr_32.txt	/*32.1*
+32.2	usr_32.txt	/*32.2*
+32.3	usr_32.txt	/*32.3*
 40.1	usr_40.txt	/*40.1*
 40.2	usr_40.txt	/*40.2*
 40.3	usr_40.txt	/*40.3*
@@ -5803,6 +5806,7 @@ i`	motion.txt	/*i`*
 ia64.vim	syntax.txt	/*ia64.vim*
 ib	motion.txt	/*ib*
 iccf	uganda.txt	/*iccf*
+iccf-donations	uganda.txt	/*iccf-donations*
 icon-changed	version4.txt	/*icon-changed*
 iconise	starting.txt	/*iconise*
 iconize	starting.txt	/*iconize*
@@ -7352,6 +7356,7 @@ usr_28.txt	usr_28.txt	/*usr_28.txt*
 usr_29.txt	usr_29.txt	/*usr_29.txt*
 usr_30.txt	usr_30.txt	/*usr_30.txt*
 usr_31.txt	usr_31.txt	/*usr_31.txt*
+usr_32.txt	usr_32.txt	/*usr_32.txt*
 usr_40.txt	usr_40.txt	/*usr_40.txt*
 usr_41.txt	usr_41.txt	/*usr_41.txt*
 usr_42.txt	usr_42.txt	/*usr_42.txt*
diff --git a/runtime/doc/term.txt b/runtime/doc/term.txt
index b0a4bd8869e98d319a132a9db6d6201d74a7335c..da60776651804f5cff437a34a74246c7968d0a1e 100644
--- a/runtime/doc/term.txt
+++ b/runtime/doc/term.txt
@@ -1,4 +1,4 @@
-*term.txt*      For Vim version 7.0aa.  Last change: 2006 Feb 14
+*term.txt*      For Vim version 7.0b.  Last change: 2006 Feb 14
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
diff --git a/runtime/doc/tips.txt b/runtime/doc/tips.txt
index e3a62fba5d9aa11a5d95cda2b8d4be2b34158f25..6563e261fb231f83cfa6e7ca8002f0b0960ac04e 100644
--- a/runtime/doc/tips.txt
+++ b/runtime/doc/tips.txt
@@ -1,4 +1,4 @@
-*tips.txt*      For Vim version 7.0aa.  Last change: 2006 Mar 01
+*tips.txt*      For Vim version 7.0b.  Last change: 2006 Mar 01
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
diff --git a/runtime/doc/uganda.nsis.txt b/runtime/doc/uganda.nsis.txt
new file mode 100644
index 0000000000000000000000000000000000000000..21b0a48e506624ca0d1a23bd1c4c1f117ed08633
--- /dev/null
+++ b/runtime/doc/uganda.nsis.txt
@@ -0,0 +1,292 @@
+    For Vim version 7.0b.  Last change: 2006 Mar 24
+
+		  VIM REFERENCE MANUAL    by Bram Moolenaar
+
+SUMMARY
+
+Vim is Charityware.  You can use and copy it as much as you like, but you are
+encouraged to make a donation for needy children in Uganda.  Please see |kcc|
+below or visit the ICCF web site, available at these URLs:
+
+	http://iccf-holland.org/
+	http://www.vim.org/iccf/
+
+You can also sponsor the development of Vim.  Vim sponsors can vote for
+features.  See |sponsor|.  The money goes to Uganda anyway.
+
+The Open Publication License applies to the Vim documentation, see
+|manual-copyright|.
+
+=== begin of license ===
+
+VIM LICENSE
+
+I)  There are no restrictions on distributing unmodified copies of Vim except
+    that they must include this license text.  You can also distribute
+    unmodified parts of Vim, likewise unrestricted except that they must
+    include this license text.  You are also allowed to include executables
+    that you made from the unmodified Vim sources, plus your own usage
+    examples and Vim scripts.
+
+II) It is allowed to distribute a modified (or extended) version of Vim,
+    including executables and/or source code, when the following four
+    conditions are met:
+    1) This license text must be included unmodified.
+    2) The modified Vim must be distributed in one of the following five ways:
+       a) If you make changes to Vim yourself, you must clearly describe in
+	  the distribution how to contact you.  When the maintainer asks you
+	  (in any way) for a copy of the modified Vim you distributed, you
+	  must make your changes, including source code, available to the
+	  maintainer without fee.  The maintainer reserves the right to
+	  include your changes in the official version of Vim.  What the
+	  maintainer will do with your changes and under what license they
+	  will be distributed is negotiable.  If there has been no negotiation
+	  then this license, or a later version, also applies to your changes.
+	  The current maintainer is Bram Moolenaar <Bram@vim.org>.  If this
+	  changes it will be announced in appropriate places (most likely
+	  vim.sf.net, www.vim.org and/or comp.editors).  When it is completely
+	  impossible to contact the maintainer, the obligation to send him
+	  your changes ceases.  Once the maintainer has confirmed that he has
+	  received your changes they will not have to be sent again.
+       b) If you have received a modified Vim that was distributed as
+	  mentioned under a) you are allowed to further distribute it
+	  unmodified, as mentioned at I).  If you make additional changes the
+	  text under a) applies to those changes.
+       c) Provide all the changes, including source code, with every copy of
+	  the modified Vim you distribute.  This may be done in the form of a
+	  context diff.  You can choose what license to use for new code you
+	  add.  The changes and their license must not restrict others from
+	  making their own changes to the official version of Vim.
+       d) When you have a modified Vim which includes changes as mentioned
+	  under c), you can distribute it without the source code for the
+	  changes if the following three conditions are met:
+	  - The license that applies to the changes permits you to distribute
+	    the changes to the Vim maintainer without fee or restriction, and
+	    permits the Vim maintainer to include the changes in the official
+	    version of Vim without fee or restriction.
+	  - You keep the changes for at least three years after last
+	    distributing the corresponding modified Vim.  When the maintainer
+	    or someone who you distributed the modified Vim to asks you (in
+	    any way) for the changes within this period, you must make them
+	    available to him.
+	  - You clearly describe in the distribution how to contact you.  This
+	    contact information must remain valid for at least three years
+	    after last distributing the corresponding modified Vim, or as long
+	    as possible.
+       e) When the GNU General Public License (GPL) applies to the changes,
+	  you can distribute the modified Vim under the GNU GPL version 2 or
+	  any later version.
+    3) A message must be added, at least in the output of the ":version"
+       command and in the intro screen, such that the user of the modified Vim
+       is able to see that it was modified.  When distributing as mentioned
+       under 2)e) adding the message is only required for as far as this does
+       not conflict with the license used for the changes.
+    4) The contact information as required under 2)a) and 2)d) must not be
+       removed or changed, except that the person himself can make
+       corrections.
+
+III) If you distribute a modified version of Vim, you are encouraged to use
+     the Vim license for your changes and make them available to the
+     maintainer, including the source code.  The preferred way to do this is
+     by e-mail or by uploading the files to a server and e-mailing the URL.
+     If the number of changes is small (e.g., a modified Makefile) e-mailing a
+     context diff will do.  The e-mail address to be used is
+     <maintainer@vim.org>
+
+IV)  It is not allowed to remove this license from the distribution of the Vim
+     sources, parts of it or from a modified version.  You may use this
+     license for previous Vim releases instead of the license that they came
+     with, at your option.
+
+=== end of license ===
+
+Note:
+
+- If you are happy with Vim, please express that by reading the rest of this
+  file and consider helping needy children in Uganda.
+
+- If you want to support further Vim development consider becoming a
+  |sponsor|.  The money goes to Uganda anyway.
+
+- According to Richard Stallman the Vim license is GNU GPL compatible.
+  A few minor changes have been made since he checked it, but that should not
+  make a difference.
+
+- If you link Vim with a library that goes under the GNU GPL, this limits
+  further distribution to the GNU GPL.  Also when you didn't actually change
+  anything in Vim.
+
+- Once a change is included that goes under the GNU GPL, this forces all
+  further changes to also be made under the GNU GPL or a compatible license.
+
+- If you distribute a modified version of Vim, you can include your name and
+  contact information with the "--with-modified-by" configure argument or the
+  MODIFIED_BY define.
+
+==============================================================================
+Kibaale Children's Centre
+
+Kibaale Children's Centre (KCC) is located in Kibaale, a small town in the
+south of Uganda, near Tanzania, in East Africa.  The area is known as Rakai
+District.  The population is mostly farmers.  Although people are poor, there
+is enough food.  But this district is suffering from AIDS more than any other
+part of the world.  Some say that it started there.  Estimations are that 10
+to 30% of the Ugandans are infected with HIV.  Because parents die, there are
+many orphans.  In this district about 60,000 children have lost one or both
+parents, out of a population of 350,000.  And this is still continuing.
+
+The children need a lot of help.  The KCC is working hard to provide the needy
+with food, medical care and education.  Food and medical care to keep them
+healthy now, and education so that they can take care of themselves in the
+future.  KCC works on a Christian base, but help is given to children of any
+religion.
+
+The key to solving the problems in this area is education.  This has been
+neglected in the past years with president Idi Amin and the following civil
+wars.  Now that the government is stable again, the children and parents have
+to learn how to take care of themselves and how to avoid infections.  There is
+also help for people who are ill and hungry, but the primary goal is to
+prevent people from getting ill and to teach them how to grow healthy food.
+
+Most of the orphans are living in an extended family.  An uncle or older
+sister is taking care of them.  Because these families are big and the income
+(if any) is low, a child is lucky if it gets healthy food.  Clothes, medical
+care and schooling is beyond its reach.  To help these needy children, a
+sponsorship program was put into place.  A child can be financially adopted.
+For a few dollars a month KCC sees to it that the child gets indispensable
+items, is healthy, goes to school and KCC takes care of anything else that
+needs to be done for the child and the family that supports it.
+
+Besides helping the child directly, the environment where the child grows up
+needs to be improved.  KCC helps schools to improve their teaching methods.
+There is a demonstration school at the centre and teacher trainings are given.
+Health workers are being trained, hygiene education is carried out and
+households are stimulated to build a proper latrine.  I helped setting up a
+production site for cement slabs.  These are used to build a good latrine.
+They are sold below cost price.
+
+There is a small clinic at the project, which provides children and their
+family with medical help.  When needed, transport to a hospital is offered.
+Immunization programs are carried out and help is provided when an epidemic is
+breaking out (measles and cholera have been a problem).
+
+Summer 1994 to summer 1995 I spent a whole year at the centre, working as a
+volunteer.  I have helped to expand the centre and worked in the area of water
+and sanitation.  I learned that the help that the KCC provides really helps.
+Now that I'm back in Holland, I would like to continue supporting KCC.  To do
+this I'm raising funds and organizing the sponsorship program.  Please
+consider one of these possibilities:
+
+1.  Sponsor a child in primary school: 17 euro a month (or more).
+2.  Sponsor a child in secondary school: 25 euro a month (or more).
+3.  Sponsor the clinic: Any amount a month or quarter
+4.  A one-time donation
+
+Compared with other organizations that do child sponsorship the amounts are
+very low.  This is because the money goes directly to the centre.  Less than
+5% is used for administration.  This is possible because this is a small
+organization that works with volunteers.  If you would like to sponsor a
+child, you should have the intention to do this for at least one year.
+
+How do you know that the money will be spent right?  First of all you have my
+personal guarantee as the author of Vim.  I trust the people that are working
+at the centre, I know them personally.  Further more, the centre is
+co-sponsored and inspected by World Vision, Save the Children Fund and
+International Child Care Fund.  The centre is visited about once a year to
+check the progress (at our own cost).  I have visited the centre myself in
+1996, 1998, 2000, 2001 and 2003.  The visit reports are on the ICCF web site.
+
+If you have any further questions, send me e-mail: <Bram@vim.org>.
+
+The address of the centre is:
+			Kibaale Children's Centre
+			p.o. box 1658
+			Masaka, Uganda, East Africa
+
+Sending money:
+
+Check the ICCF web site for the latest information!  See |iccf| for the URL.
+
+USA:		The methods mentioned below can be used.  Alternatively, you
+		can send a check to the Nehemiah Group Outreach Society
+		(NGOS).  This will reduce banking costs and you can get an IRS
+		tax receipt.  The NGOS forwards the funds directly to the
+		Kibaale project in Uganda.  Checks must be made payable to
+		NGOS but please note on the check "donation Kibaale".  Mail
+		checks to:
+			NGOS
+			P.O. Box 50862
+			Indianapolis, IN 45250
+		Questions regarding the Nehemiah Group Outreach Society (NGOS)
+		should be directed to: Ross deMerchant, Executive Director -
+		r.demerchant AT sbcglobal DOT net.
+		For sponsoring a child contact KCF in Canada (see below) and
+		send the check to NGOS in Indianapolis.
+
+Canada:		Contact Kibaale Children's Fund (KCF) in Surrey, Canada.  They
+		take care of the Canadian sponsors for the children in
+		Kibaale.  KCF forwards 100% of the money to the project in
+		Uganda.  You can send them a one time donation directly.
+		Please send me a note so that I know what has been donated
+		because of Vim.  Ask KCF for information about sponsorship.
+			Kibaale Children's Fund c/o Pacific Academy
+			10238-168 Street
+			Surrey, B.C. V4N 1Z4
+			Canada
+			Phone: 604-581-5353
+		If you make a donation to Kibaale Children's Fund (KCF) you
+		will receive a tax receipt which can be submitted with your
+		tax return.
+
+Holland:	Transfer to the account of "Stichting ICCF Holland" in Venlo.
+		This will allow for tax deduction if you live in Holland.
+			Postbank, nr. 4548774
+
+Germany:	It is possible to make donations that allow for a tax return.
+		Check the ICCF web site for the latest information:
+			http://iccf-holland.org/germany.html
+
+World:		Use a postal money order.  That should be possible from any
+		country, mostly from the post office.  Use this name (which is
+		in my passport): "Abraham Moolenaar".  Use Euro for the
+		currency if possible.
+
+Europe:		Use a bank transfer if possible.  Your bank should have a form
+		that you can use for this.  See "Others" below for the swift
+		code and IBAN number.
+		Any other method should work.  Ask for information about
+		sponsorship.
+
+Credit Card:	You can use PayPal to send money with a Credit card.  This is
+		the most widely used Internet based payment system.  It's
+		really simple to use.  Use this link to find more info:
+		    https://www.paypal.com/affil/pal=Bram%40iccf-holland.org
+		The e-mail address for sending the money to is:
+		    Bram@iccf-holland.org
+		For amounts above 400 Euro ($500) sending a check is
+		preferred.
+
+Others:		Transfer to one of these accounts if possible:
+		    Postbank, account 4548774
+				Swift code: INGB NL 2A
+				IBAN: NL47 PSTB 0004 5487 74
+			under the name "stichting ICCF Holland", Venlo
+		    If that doesn't work:
+		    Rabobank Venlo, account 3765.05.117
+				Swift code: RABO NL 2U
+			under the name "Bram Moolenaar", Venlo
+		Otherwise, send a check in euro or US dollars to the address
+		below.  Minimal amount: $70 (my bank does not accept smaller
+		amounts for foreign check, sorry)
+
+Address to send checks to:
+			stichting ICCF Holland
+			Bram Moolenaar
+			Molenstraat 2
+			2161 HP Lisse
+			The Netherlands
+
+This address is expected to be valid for a long time.  The address in Venlo
+will not be valid after June 2006.
+
+ ts=8:ft=help:norl:
diff --git a/runtime/doc/uganda.txt b/runtime/doc/uganda.txt
index d126f8b5d635443bfa704c08efccbfc4a65d0bcc..5eb9c40d175f430a8f50c4496d603e456f4af195 100644
--- a/runtime/doc/uganda.txt
+++ b/runtime/doc/uganda.txt
@@ -1,4 +1,4 @@
-*uganda.txt*    For Vim version 7.0aa.  Last change: 2005 Oct 15
+*uganda.txt*    For Vim version 7.0b.  Last change: 2006 Mar 24
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -15,7 +15,7 @@ below or visit the ICCF web site, available at these URLs:
 	http://www.vim.org/iccf/
 
 You can also sponsor the development of Vim.  Vim sponsors can vote for
-features.  See |sponsor|.
+features.  See |sponsor|.  The money goes to Uganda anyway.
 
 The Open Publication License applies to the Vim documentation, see
 |manual-copyright|.
@@ -109,7 +109,7 @@ Note:
   file and consider helping needy children in Uganda.
 
 - If you want to support further Vim development consider becoming a
-  |sponsor|.
+  |sponsor|.  The money goes to Uganda anyway.
 
 - According to Richard Stallman the Vim license is GNU GPL compatible.
   A few minor changes have been made since he checked it, but that should not
@@ -206,7 +206,7 @@ The address of the centre is:
 			p.o. box 1658
 			Masaka, Uganda, East Africa
 
-Sending money:
+Sending money:						*iccf-donations*
 
 Check the ICCF web site for the latest information!  See |iccf| for the URL.
 
@@ -286,8 +286,11 @@ Others:		Transfer to one of these accounts if possible:
 Address to send checks to:
 			stichting ICCF Holland
 			Bram Moolenaar
-			Clematisstraat 30
-			5925 BE  Venlo
+			Molenstraat 2
+			2161 HP Lisse
 			The Netherlands
 
+This address is expected to be valid for a long time.  The address in Venlo
+will not be valid after June 2006.
+
  vim:tw=78:ts=8:ft=help:norl:
diff --git a/runtime/doc/undo.txt b/runtime/doc/undo.txt
index 4ff7e20ce5d05b4d0c05658ac1ce38293d5ca815..2a2d4783c89989f2000aeede0dab56e4650956c3 100644
--- a/runtime/doc/undo.txt
+++ b/runtime/doc/undo.txt
@@ -1,4 +1,4 @@
-*undo.txt*      For Vim version 7.0aa.  Last change: 2006 Mar 21
+*undo.txt*      For Vim version 7.0b.  Last change: 2006 Mar 24
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -113,9 +113,7 @@ branch off.  This happens when you undo a few changes and then make a new
 change.  The undone changes become a branch.  You can go to that branch with
 the following commands.
 
-What matters here is the order in which the changes are made.  Undo and redo
-are not considered changes in this context.  After each change you have a new
-state of the text.
+This is explained in the user manual: |usr_32.txt|.
 
 							*:undol* *:undolist*
 :undol[ist]		List the leafs in the tree of changes.  Example:
diff --git a/runtime/doc/usr_02.txt b/runtime/doc/usr_02.txt
index 4a9a8d4790d1f3cc0d54f3ce1b4972978f472dc8..0fafd4ab6c763b12ffd76d9af50c651f56007dfd 100644
--- a/runtime/doc/usr_02.txt
+++ b/runtime/doc/usr_02.txt
@@ -1,4 +1,4 @@
-*usr_02.txt*	For Vim version 7.0aa.  Last change: 2005 Apr 01
+*usr_02.txt*	For Vim version 7.0b.  Last change: 2006 Mar 24
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
@@ -302,7 +302,7 @@ edited.  Typing this command twice cancels the preceding "U".
 
 The "U" command is a change by itself, which the "u" command undoes and CTRL-R
 redoes.  This might be a bit confusing.  Don't worry, with "u" and CTRL-R you
-can go to any of the situations you had.
+can go to any of the situations you had.  More about that in section ||.
 
 ==============================================================================
 *02.6*	Other editing commands
diff --git a/runtime/doc/usr_03.txt b/runtime/doc/usr_03.txt
index d8e4c506a9fbe322077c290bb7c044478c35c1b1..2a5d57a7932d4870bf48030ffd68493811ad5252 100644
--- a/runtime/doc/usr_03.txt
+++ b/runtime/doc/usr_03.txt
@@ -1,4 +1,4 @@
-*usr_03.txt*	For Vim version 7.0aa.  Last change: 2005 Apr 22
+*usr_03.txt*	For Vim version 7.0b.  Last change: 2005 Apr 22
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
diff --git a/runtime/doc/usr_08.txt b/runtime/doc/usr_08.txt
index 160bf6590be5a35f4b3108b4e188617a96e7a253..913ba1d0defdb940c874b0549558ff14f7db125c 100644
--- a/runtime/doc/usr_08.txt
+++ b/runtime/doc/usr_08.txt
@@ -1,4 +1,4 @@
-*usr_08.txt*	For Vim version 7.0aa.  Last change: 2006 Feb 25
+*usr_08.txt*	For Vim version 7.0b.  Last change: 2006 Feb 25
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
diff --git a/runtime/doc/usr_09.txt b/runtime/doc/usr_09.txt
index 739aec53b77f742425fa29970103f1523326d018..09dc22fad92e69e4fd3e865af0601683a98a5f65 100644
--- a/runtime/doc/usr_09.txt
+++ b/runtime/doc/usr_09.txt
@@ -1,4 +1,4 @@
-*usr_09.txt*	For Vim version 7.0aa.  Last change: 2005 Apr 01
+*usr_09.txt*	For Vim version 7.0b.  Last change: 2005 Apr 01
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
diff --git a/runtime/doc/usr_10.txt b/runtime/doc/usr_10.txt
index aa8f92f973da0bc752de3668786f1765f3c866d7..d3d9306b9d540ae13254e3f10261a5272bc6a321 100644
--- a/runtime/doc/usr_10.txt
+++ b/runtime/doc/usr_10.txt
@@ -1,4 +1,4 @@
-*usr_10.txt*	For Vim version 7.0aa.  Last change: 2005 Apr 01
+*usr_10.txt*	For Vim version 7.0b.  Last change: 2005 Apr 01
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
diff --git a/runtime/doc/usr_21.txt b/runtime/doc/usr_21.txt
index 4af286a554ea806e46b8c57d2e48f53f000b6ae9..e87423452aef2526c299142235d4ff08d0ea3454 100644
--- a/runtime/doc/usr_21.txt
+++ b/runtime/doc/usr_21.txt
@@ -1,4 +1,4 @@
-*usr_21.txt*	For Vim version 7.0aa.  Last change: 2005 Apr 01
+*usr_21.txt*	For Vim version 7.0b.  Last change: 2005 Apr 01
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
diff --git a/runtime/doc/usr_22.txt b/runtime/doc/usr_22.txt
index 1506950be9177c9b519fdb3a79ce43c5fe0ddcfa..91eb48dbbe3cb44af25bbeaa7c55197d659c2061 100644
--- a/runtime/doc/usr_22.txt
+++ b/runtime/doc/usr_22.txt
@@ -1,4 +1,4 @@
-*usr_22.txt*	For Vim version 7.0aa.  Last change: 2005 Apr 10
+*usr_22.txt*	For Vim version 7.0b.  Last change: 2005 Apr 10
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
diff --git a/runtime/doc/usr_24.txt b/runtime/doc/usr_24.txt
index b916aa85ff45e92462bf932d1ec4548f8c786c08..834d3ce18c30fa419cbbe3ac8c918bc84c810729 100644
--- a/runtime/doc/usr_24.txt
+++ b/runtime/doc/usr_24.txt
@@ -1,4 +1,4 @@
-*usr_24.txt*	For Vim version 7.0aa.  Last change: 2005 Apr 01
+*usr_24.txt*	For Vim version 7.0b.  Last change: 2005 Apr 01
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
diff --git a/runtime/doc/usr_25.txt b/runtime/doc/usr_25.txt
index fce1931ef14e4f0a319131ac48dcef0c6c6574fd..4f464a308bfca2c1943dbe9923dcffeca7fa5dfa 100644
--- a/runtime/doc/usr_25.txt
+++ b/runtime/doc/usr_25.txt
@@ -1,4 +1,4 @@
-*usr_25.txt*	For Vim version 7.0aa.  Last change: 2005 Apr 01
+*usr_25.txt*	For Vim version 7.0b.  Last change: 2005 Apr 01
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
diff --git a/runtime/doc/usr_26.txt b/runtime/doc/usr_26.txt
index 018763f6eb664e5987e656a1a492fd82d4805706..203753a456daf949cf9fcf2cd6ce99c94dafbac7 100644
--- a/runtime/doc/usr_26.txt
+++ b/runtime/doc/usr_26.txt
@@ -1,4 +1,4 @@
-*usr_26.txt*	For Vim version 7.0aa.  Last change: 2002 Oct 29
+*usr_26.txt*	For Vim version 7.0b.  Last change: 2002 Oct 29
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
diff --git a/runtime/doc/usr_29.txt b/runtime/doc/usr_29.txt
index b906cf6bd5218b29dc29447747f834e29615cd35..2fc86ebc6fe024feb125e23e8469ede8b3806e8c 100644
--- a/runtime/doc/usr_29.txt
+++ b/runtime/doc/usr_29.txt
@@ -1,4 +1,4 @@
-*usr_29.txt*	For Vim version 7.0aa.  Last change: 2004 Feb 12
+*usr_29.txt*	For Vim version 7.0b.  Last change: 2004 Feb 12
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
diff --git a/runtime/doc/usr_32.txt b/runtime/doc/usr_32.txt
new file mode 100644
index 0000000000000000000000000000000000000000..4893eb477bbe0b9a1f42771876395b9f1d1234e4
--- /dev/null
+++ b/runtime/doc/usr_32.txt
@@ -0,0 +1,151 @@
+*usr_32.txt*	For Vim version 7.0b.  Last change: 2006 Mar 24
+
+		     VIM USER MANUAL - by Bram Moolenaar
+
+			      The undo tree
+
+
+Vim provides multi-level undo.  If you undo a few changes and then make a new
+change you create a branch in the undo tree.  This text is about moving
+through the branches.
+
+|32.1|	Numbering changes
+|32.2|	Jumping around the tree
+|32.3|	Time travelling
+
+     Next chapter: |usr_40.txt|  Make new commands
+ Previous chapter: |usr_31.txt|  Exploiting the GUI
+Table of contents: |usr_toc.txt|
+
+==============================================================================
+*32.1*	Numbering changes
+
+In section |02.5| we only discussed one line of undo/redo.  But it is also
+possible to branch off.  This happens when you undo a few changes and then
+make a new change.  The new changes become a branch in the undo tree.
+
+Let's start with the text "one".  The first change to make is to append
+" too".  And then move to the first 'o' and change it into 'w'.  We then have
+two changes, numbered 1 and 2, and three states of the text:
+
+		one ~
+		 |
+	      change 1
+	         |
+	      one too ~
+	         |
+	      change 2
+	         |
+	      one two ~
+
+If we now undo one change, back to "one too", and change "one" to "me" we
+create a branch in the undo tree:
+
+		one ~
+		 |
+	      change 1
+	         |
+	      one too ~
+	      /     \
+         change 2  change 3
+            |         |
+         one two    me too ~
+
+You can now use the |u| command to undo.  If you do this twice you get to
+"one".  Use |CTRL-R| to redo, and you will go to "one too".  One more |CTRL-R|
+takes you to "me too".  Thus undo and redo go up and down in the tree, using
+the branch that was last used.
+
+What matters here is the order in which the changes are made.  Undo and redo
+are not considered changes in this context.  After each change you have a new
+state of the text.
+
+Note that only the changes are numbered, the text shown in the tree above has
+no identifier.  They are mostly referred to by the number of the change above
+it.  But sometimes by the number of one of the changes below it, especially
+when moving up in the tree, so that you know which change was just undone.
+
+==============================================================================
+*32.2*	Jumping around the tree
+
+So how do you get to "one two" now?  You can use this command: >
+
+	:undo 2
+
+The text is now "one two", you are below change 2.  You can use the |:undo|
+command to jump to below any change in the tree.
+
+Now make another change: change "one" to "not":
+
+		one ~
+		 |
+	      change 1
+	         |
+	      one too ~
+	      /     \
+         change 2  change 3
+            |         |
+         one two    me too ~
+	    |
+	 change 4
+	    |
+	 not two ~
+
+Now you change your mind and want to go back to "me too".  Use the |g-|
+command.  This moves back in time.  Thus it doesn't walk the tree upwards or
+downwards, but goes to the change made before.
+
+You can repeat |g-| and you will see the text change:
+	me too ~
+	one two ~
+	one too ~
+	one ~
+
+Use |g+| to move forward in time:
+	one ~
+	one too ~
+	one two ~
+	me too ~
+	not two ~
+
+Using |:undo| is useful if you know what change you want to jump to.  |g-| and
+|g+| are useful if you don't know exactly what the change number is.
+
+You can type a count before |g-| and |g+| to repeat them.
+
+==============================================================================
+*32.3*	Time travelling
+
+When you have been working on text for a while the tree grows to become big.
+Then you may want to go to the text of some minutes ago.
+
+To see what branches there are in the undo tree use this command: >
+
+	:undolist
+<	number changes  time ~
+	     3       2  16 seconds ago
+	     4       3  5 seconds ago
+
+Here you can see the number of the leaves in each branch and when the change
+was made.  Assuming we are below change 4, at "not two", you can go back ten
+seconds with this command: >
+
+	:earlier 10s
+
+Depending on how much time you took for the changes you end up at a certain
+position in the tree.  The |:earlier| command argument can be "m" for minutes
+and "h" for hours.  To go all the way back use a big number: >
+
+	:earlier 10h
+
+To travel forward in time again use the |:later| command: >
+
+	:later 1m
+
+The arguments are "s", "m" and "h", just like with |:earlier|.
+
+==============================================================================
+
+Next chapter: |usr_40.txt|  Make new commands
+
+Copyright: see |manual-copyright|  vim:tw=78:ts=8:ft=help:norl:
diff --git a/runtime/doc/usr_41.txt b/runtime/doc/usr_41.txt
index 1959350387bf15acabfc696ba7d881e050813a66..86479825d0088e0dc020ea379c07684bb8ba0299 100644
--- a/runtime/doc/usr_41.txt
+++ b/runtime/doc/usr_41.txt
@@ -1,4 +1,4 @@
-*usr_41.txt*	For Vim version 7.0aa.  Last change: 2006 Mar 21
+*usr_41.txt*	For Vim version 7.0b.  Last change: 2006 Mar 24
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
@@ -2293,6 +2293,8 @@ utility is recommended.
 For utmost portability use Vim itself to pack scripts together.  This can be
 done with the Vimball utility.  See |vimball|.
 
+It's good if you add a line to allow automatic updating.  See |glvs-plugins|.
+
 ==============================================================================
 
 Next chapter: |usr_42.txt|  Add new menus
diff --git a/runtime/doc/usr_42.txt b/runtime/doc/usr_42.txt
index bbf06e54e64651b797eb05a4585fd9b23e428b57..1940c4447011937e0a181a9d8941adefd34c326f 100644
--- a/runtime/doc/usr_42.txt
+++ b/runtime/doc/usr_42.txt
@@ -1,4 +1,4 @@
-*usr_42.txt*	For Vim version 7.0aa.  Last change: 2005 Apr 01
+*usr_42.txt*	For Vim version 7.0b.  Last change: 2005 Apr 01
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
diff --git a/runtime/doc/usr_43.txt b/runtime/doc/usr_43.txt
index e04b8b27b57d5d137cd4be78005dfbe465edd8bf..5203d751f4532805f6503cc20416cb4b54b480c1 100644
--- a/runtime/doc/usr_43.txt
+++ b/runtime/doc/usr_43.txt
@@ -1,4 +1,4 @@
-*usr_43.txt*	For Vim version 7.0aa.  Last change: 2002 Jul 14
+*usr_43.txt*	For Vim version 7.0b.  Last change: 2002 Jul 14
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
diff --git a/runtime/doc/usr_44.txt b/runtime/doc/usr_44.txt
index edadbfbe3f9ff77abdc2af3db4409efcbbd8a4db..32f4d15a967d144ae4e4d8c2c3ab0b821169a0b2 100644
--- a/runtime/doc/usr_44.txt
+++ b/runtime/doc/usr_44.txt
@@ -1,4 +1,4 @@
-*usr_44.txt*	For Vim version 7.0aa.  Last change: 2005 Apr 01
+*usr_44.txt*	For Vim version 7.0b.  Last change: 2005 Apr 01
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
diff --git a/runtime/doc/usr_45.txt b/runtime/doc/usr_45.txt
index 034b040dc0559ff44d6ce4185f5ab2ebbcaad864..02692be94f22f473ad8437f2e48c51e6007ad54b 100644
--- a/runtime/doc/usr_45.txt
+++ b/runtime/doc/usr_45.txt
@@ -1,4 +1,4 @@
-*usr_45.txt*	For Vim version 7.0aa.  Last change: 2004 Jun 08
+*usr_45.txt*	For Vim version 7.0b.  Last change: 2004 Jun 08
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
diff --git a/runtime/doc/usr_90.txt b/runtime/doc/usr_90.txt
index 4a9c488beb2551730804ff1b6db016d702737974..f91e0efe01991e4f38e1a5935671bf6a925e91e3 100644
--- a/runtime/doc/usr_90.txt
+++ b/runtime/doc/usr_90.txt
@@ -1,4 +1,4 @@
-*usr_90.txt*	For Vim version 7.0aa.  Last change: 2004 Mar 21
+*usr_90.txt*	For Vim version 7.0b.  Last change: 2004 Mar 21
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
diff --git a/runtime/doc/usr_toc.txt b/runtime/doc/usr_toc.txt
index 73d8eb5f3d1a841baac8995c7ee76428fa5cba4c..22c05137d7328ac77b1e7be268460991490ba8dc 100644
--- a/runtime/doc/usr_toc.txt
+++ b/runtime/doc/usr_toc.txt
@@ -1,4 +1,4 @@
-*usr_toc.txt*	For Vim version 7.0aa.  Last change: 2006 Mar 21
+*usr_toc.txt*	For Vim version 7.0b.  Last change: 2006 Mar 24
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
@@ -34,6 +34,7 @@ Editing Effectively
 |usr_29.txt|  Moving through programs
 |usr_30.txt|  Editing programs
 |usr_31.txt|  Exploiting the GUI
+|usr_32.txt|  The undo tree
 
 Tuning Vim
 |usr_40.txt|  Make new commands
@@ -47,7 +48,8 @@ Making Vim Run
 |usr_90.txt|  Installing Vim
 
 
-More detailed information in the reference manual: |ref-toc|
+Reference manual
+|ref-toc|     More detailed information for all commands
 
 The user manual is available as a single, ready to print HTML and PDF file
 here:
@@ -270,6 +272,11 @@ Subjects that can be read independently.
 		|31.4|	Vim window position and size
 		|31.5|	Various
 
+|usr_32.txt|  The undo tree
+		|32.1|	Numbering changes
+		|32.2|	Jumping around the tree
+		|32.3|	Time travelling
+
 ==============================================================================
 Tuning Vim ~
 
diff --git a/runtime/doc/version4.txt b/runtime/doc/version4.txt
index f3f760f9bb12c48a6b97a5b8949bdec5ec2b98d6..8c13af7f02d2b0f5f812659bd6af87d82fd03f8f 100644
--- a/runtime/doc/version4.txt
+++ b/runtime/doc/version4.txt
@@ -1,4 +1,4 @@
-*version4.txt*  For Vim version 7.0aa.  Last change: 2004 Mar 12
+*version4.txt*  For Vim version 7.0b.  Last change: 2004 Mar 12
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
diff --git a/runtime/doc/version5.txt b/runtime/doc/version5.txt
index 43816b86a4594bfb825a1415c5d716e37c697f16..0f2fa923a40abe2a39217c9dac55d50f550af9e2 100644
--- a/runtime/doc/version5.txt
+++ b/runtime/doc/version5.txt
@@ -1,4 +1,4 @@
-*version5.txt*  For Vim version 7.0aa.  Last change: 2005 Apr 01
+*version5.txt*  For Vim version 7.0b.  Last change: 2005 Apr 01
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
diff --git a/runtime/doc/version6.txt b/runtime/doc/version6.txt
index 7490a4527a11a527b117c34964be4e8acb1fc405..083077ebee80838afed425d8500cc2be644c46f3 100644
--- a/runtime/doc/version6.txt
+++ b/runtime/doc/version6.txt
@@ -1,4 +1,4 @@
-*version6.txt*  For Vim version 7.0aa.  Last change: 2005 Oct 17
+*version6.txt*  For Vim version 7.0b.  Last change: 2005 Oct 17
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
diff --git a/runtime/doc/vi_diff.txt b/runtime/doc/vi_diff.txt
index 4fe7ff97012cc28825350548d0489cf404742d51..5969cb32f2552a196b1dffaf0ec262366526e9de 100644
--- a/runtime/doc/vi_diff.txt
+++ b/runtime/doc/vi_diff.txt
@@ -1,4 +1,4 @@
-*vi_diff.txt*   For Vim version 7.0aa.  Last change: 2006 Jan 02
+*vi_diff.txt*   For Vim version 7.0b.  Last change: 2006 Jan 02
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
diff --git a/runtime/doc/visual.txt b/runtime/doc/visual.txt
index f9688abb8476c25331fe4c5ecedd20868e517a4e..fcb304c754bd3c09633d67c5b12b9577b2c8ac85 100644
--- a/runtime/doc/visual.txt
+++ b/runtime/doc/visual.txt
@@ -1,4 +1,4 @@
-*visual.txt*    For Vim version 7.0aa.  Last change: 2006 Mar 20
+*visual.txt*    For Vim version 7.0b.  Last change: 2006 Mar 20
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
diff --git a/runtime/ftplugin/plaintex.vim b/runtime/ftplugin/plaintex.vim
new file mode 100644
index 0000000000000000000000000000000000000000..1660a3a48d49f2263452cbed6017158daf7a09d3
--- /dev/null
+++ b/runtime/ftplugin/plaintex.vim
@@ -0,0 +1,48 @@
+" plain TeX filetype plugin
+" Language:     plain TeX (ft=plaintex)
+" Maintainer:   Benji Fisher, Ph.D. <benji@member.AMS.org>
+" Version:	1.0
+" Last Change:	Wed 22 Mar 2006 09:36:32 AM EST
+
+" Only do this when not done yet for this buffer.
+if exists("b:did_ftplugin")
+  finish
+endif
+
+" Don't load another plugin for this buffer.
+let b:did_ftplugin = 1
+
+" Avoid problems if running in 'compatible' mode.
+let s:save_cpo = &cpo
+set cpo&vim
+
+" Set 'comments' to format dashed lists in comments
+setlocal com=sO:%\ -,mO:%\ \ ,eO:%%,:%
+
+" Set 'commentstring' to recognize the % comment character:
+" (Thanks to Ajit Thakkar.)
+setlocal cms=%%s
+
+" Allow "[d" to be used to find a macro definition:
+let &l:define='\\\([egx]\|char\|mathchar\|count\|dimen\|muskip\|skip\|toks\)\='
+	\ .	'def\|\\font\|\\\(future\)\=let'
+	\ . '\|\\new\(count\|dimen\|skip\|muskip\|box\|toks\|read\|write'
+	\ .	'\|fam\|insert\)'
+
+" Tell Vim to recognize \input bar :
+let &l:include = '\\input'
+setlocal suffixesadd=.tex
+
+" The following lines enable the macros/matchit.vim plugin for
+" extended matching with the % key.
+" There is no default meaning for \(...\) etc., but many users define one.
+if exists("loaded_matchit")
+  let b:match_ignorecase = 0
+    \ | let b:match_skip = 'r:\\\@<!\%(\\\\\)*%'
+    \ | let b:match_words = '(:),\[:],{:},\\(:\\),\\\[:\\],' .
+    \ '\\begin\s*\({\a\+\*\=}\):\\end\s*\1'
+endif " exists("loaded_matchit")
+
+let &cpo = s:save_cpo
+
+" vim:sts=2:sw=2:
diff --git a/runtime/ftplugin/tex.vim b/runtime/ftplugin/tex.vim
index 1871e8fd5a49d16b3de15f28e231b7fb50804861..b392fa27883b8fedba4a3cec77c3827ee6daac1a 100644
--- a/runtime/ftplugin/tex.vim
+++ b/runtime/ftplugin/tex.vim
@@ -1,110 +1,41 @@
 " LaTeX filetype plugin
 " Language:     LaTeX (ft=tex)
 " Maintainer:   Benji Fisher, Ph.D. <benji@member.AMS.org>
-" Version:	1.2
-" Last Change:	Tue 11 May 2004 04:49:20 PM EDT
+" Version:	1.3
+" Last Change:	Wed 22 Mar 2006 09:36:32 AM EST
 "  URL:		http://www.vim.org/script.php?script_id=411
 
-" Only do this when not done yet for this buffer
+" Only do this when not done yet for this buffer.
 if exists("b:did_ftplugin")
   finish
 endif
 
-" Don't load another plugin for this buffer
-let b:did_ftplugin = 1
+" Start with plain TeX.  This will also define b:did_ftplugin .
+source $VIMRUNTIME/ftplugin/plaintex.vim
 
+" Avoid problems if running in 'compatible' mode.
 let s:save_cpo = &cpo
 set cpo&vim
 
-" This may be used to set b:tex_flavor.  A more complete version can be found
-" in foo.vim (see http://www.vim.org/script.php?script_id=72).
-if !exists("*s:GetModelines")
-  fun! s:GetModelines(pat, ...)
-    " Long but simple:  set start line and finish line.
-    let EOF = line("$")
-    if a:0 > 1
-      let start = a:1 | let finish = a:2
-    elseif a:0 == 1
-      if a:1 > 0
-	let finish = a:1
-      else
-	let start = EOF + a:1 + 1
-      endif
-    endif
-    if !exists("start") || start < 1
-      let start = 1
-    endif
-    if !exists("finish") || finish > EOF
-      let finish = EOF
-    endif
-    let n = 0
-    silent! execute start .",". finish
-	  \ 'g/' . escape(a:pat, "/") . "/let n=line('.')"
-    if n
-      execute "normal!\<C-O>"
-    endif
-    return n . ":"
-  endfun
-endif " !exists("*GetModelines")
-
-" Define the buffer-local variable b:tex_flavor to "tex" (for plain) or
-" "latex".
-" 1. Check the first line of the file for "%&<format>".
-" 2. Check the first 1000 lines for "\begin{document}".
-" 3. Check for a global variable g:tex_flavor, can be set in user's vimrc.
-" 4. Default to "latex".
-" 5. Strip "pdf" and change "plain" to "tex".
-if getline(1) =~ '^%&\s*\k\+'
-	let b:tex_flavor = matchstr(getline(1), '%&\s*\zs\k\+')
-elseif s:GetModelines('\\begin\s*{\s*document\s*}', 1000) != "0:"
-	let b:tex_flavor = "latex"
-elseif exists("g:tex_flavor")
-	let b:tex_flavor = g:tex_flavor
-else
-	let b:tex_flavor = "latex"
-endif
-let b:tex_flavor = substitute(b:tex_flavor, 'pdf', '', '')
-if b:tex_flavor == "plain"
-	let b:tex_flavor = "tex"
-endif
-
-" Set 'comments' to format dashed lists in comments
-setlocal com=sO:%\ -,mO:%\ \ ,eO:%%,:%
-
-" Set 'commentstring' to recognize the % comment character:
-" (Thanks to Ajit Thakkar.)
-setlocal cms=%%s
-
 " Allow "[d" to be used to find a macro definition:
 " Recognize plain TeX \def as well as LaTeX \newcommand and \renewcommand .
 " I may as well add the AMS-LaTeX DeclareMathOperator as well.
-let &l:define='\\\([egx]\|char\|mathchar\|count\|dimen\|muskip\|skip\|toks\)\='
-	\ .	'def\|\\font\|\\\(future\)\=let'
-	\ . '\|\\new\(count\|dimen\|skip\|muskip\|box\|toks\|read\|write'
-	\ .	'\|fam\|insert\)'
-	\ . '\|\\\(re\)\=new\(boolean\|command\|counter\|environment\|font'
+let &l:define .= '\|\\\(re\)\=new\(boolean\|command\|counter\|environment\|font'
 	\ . '\|if\|length\|savebox\|theorem\(style\)\=\)\s*\*\=\s*{\='
 	\ . '\|DeclareMathOperator\s*{\=\s*'
 
 " Tell Vim how to recognize LaTeX \include{foo} and plain \input bar :
-setlocal include=\\\\input\\\\|\\\\include{
-setlocal suffixesadd=.tex
+let &l:include .= '\|\\include{'
 " On some file systems, "{" and "}" are inluded in 'isfname'.  In case the
 " TeX file has \include{fname} (LaTeX only), strip everything except "fname".
 let &l:includeexpr = "substitute(v:fname, '^.\\{-}{\\|}.*', '', 'g')"
-" fun! TexIncludeExpr()
-"   let fname = substitute(v:fname, '}.*', '', '')
-"   return fname
-" endfun
 
 " The following lines enable the macros/matchit.vim plugin for
 " extended matching with the % key.
-" TODO:  Customize this based on b:tex_flavor .
+" ftplugin/plaintex.vim already defines b:match_skip and b:match_ignorecase
+" and matches \(, \), \[, and \].
 if exists("loaded_matchit")
-  let b:match_ignorecase = 0
-    \ | let b:match_skip = 'r:\\\@<!\%(\\\\\)*%'
-    \ | let b:match_words = '(:),\[:],{:},\\(:\\),\\\[:\\],' .
-    \ '\\begin\s*\({\a\+\*\=}\):\\end\s*\1'
+  let b:match_words .= '\\begin\s*\({\a\+\*\=}\):\\end\s*\1'
 endif " exists("loaded_matchit")
 
 let &cpo = s:save_cpo
diff --git a/runtime/keymap/greek_utf-8.vim b/runtime/keymap/greek_utf-8.vim
index 7eb67cfe9a66d0c915e6dbdbca2391d94c4ae35e..dc9e10e6073eeeb2720b12fa55477d1e15ae62b1 100644
--- a/runtime/keymap/greek_utf-8.vim
+++ b/runtime/keymap/greek_utf-8.vim
@@ -1,5 +1,9 @@
-" This file was adapted for Vim 6 from the yudit distribution by
-" Robert Goulding <goulding@princeton.edu>
+" Vim Keymap file for greek
+" Maintainer: Panagiotis Louridas <louridas@acm.org>
+" Last Updated: Thu Mar 23 23:45:02 EET 2006
+
+" This file was corrected for Vim after the version adapted for Vim 6 from 
+" the yudit distribution by Robert Goulding <goulding@princeton.edu>
 "
 " The monotonic part of this kmap was made by Constantine Stathopoulos
 " <cstath@irismedia.gr>.
@@ -7,8 +11,7 @@
 " Aarhus, Denmark.
 " It was modified and completed by A. Tsolomitis <atsol@aegean.gr>
 " The licence allows modifications but redistribution of modifications
-" should be with an other name.
-" Any comments can be sent to A. Tsolomitis <atsol@aegean.gr>
+" should be with another name.
 
 " The keymap now conforms with the
 " LaTeX's-Babel Standard by A. Syropoulos <apostolo@ocean1.ee.duth.gr>
@@ -38,7 +41,8 @@
 
 " > dasia " an oxia or baria *always* should follow dasia
 " < psili " an oxia or baria *always* should follow psili
-" ; oxia
+" ; tonos
+" / oxia
 " ` varia
 " ~ perispomeni
 " : dialytika
@@ -95,18 +99,19 @@ W	<char-0x0387>   " GREEK ANO TELEIA (Emacs standard)
 ;:	<char-0x0385>	" GREEK DIALYTIKA Oxia
 :`	<char-0x1FED>	" GREEK DIALYTIKA VARIA
 `:	<char-0x1FED>	" GREEK DIALYTIKA VARIA
-`	<char-0x1FEF>   " Greek Varia
-~	<char-0x1FC0>   " Perispomeni
->`	<char-0x1FCD>	" Psili Varia
-<`	<char-0x1FDD>	" Dasia Varia
->;	<char-0x1FCE>	" Psili Oxia
-<;	<char-0x1FDE>	" Dasia Oxia
-<~	<char-0x1FDF>	" Dasia Perispomeni
->~	<char-0x1FCF>	" Psili Perispomeni
+/	<char-0x1FFD>	" GREEK OXIA
+`	<char-0x1FEF>   " GREEK VARIA
+~	<char-0x1FC0>   " PERISPOMENI
+>`	<char-0x1FCD>	" PSILI VARIA
+<`	<char-0x1FDD>	" DASIA VARIA
+>;	<char-0x1FCE>	" PSILI OXIA
+<;	<char-0x1FDE>	" DASIA OXIA
+<~	<char-0x1FDF>	" DASIA PERISPOMENI
+>~	<char-0x1FCF>	" PSILI PERISPOMENI
 "For plain psili use apostrophe
 ;'	<char-0x1FFE>	" (Plain) dasia
-
-
+"
+"
 "
 " GREEK LETTERS
 "
@@ -127,8 +132,6 @@ J	<char-0x039E>   " GREEK CAPITAL LETTER XI
 O	<char-0x039F>   " GREEK CAPITAL LETTER OMIKRON
 P	<char-0x03A0>   " GREEK CAPITAL LETTER PI
 R	<char-0x03A1>   " GREEK CAPITAL LETTER RHO
-"W	<char-0x03A3>   " GREEK CAPITAL LETTER SIGMA [CAPITAL ANALOGUE FOR
-			" SMALL LETTER FINAL SIGMA]
 S	<char-0x03A3>   " GREEK CAPITAL LETTER SIGMA
 T	<char-0x03A4>   " GREEK CAPITAL LETTER TAU
 Y	<char-0x03A5>   " GREEK CAPITAL LETTER UPSILON
@@ -191,8 +194,9 @@ v	<char-0x03C9>   " GREEK SMALL LETTER OMEGA
 ;y	<char-0x03CD>  " GREEK SMALL LETTER UPSILON WITH TONOS
 ;v	<char-0x03CE>  " GREEK SMALL LETTER OMEGA WITH TONOS
 
-
-
+"
+" This area covers 0x1F00-0x1FFF
+"
 "
 " letters with Varia:
 "
@@ -213,23 +217,20 @@ v	<char-0x03C9>   " GREEK SMALL LETTER OMEGA
 "
 " letters with Oxia:
 "
-;A	<char-0x1FBB>  " GREEK CAPITAL LETTER ALPHA WITH OXIA
-;E	<char-0x1FC9>  " GREEK CAPITAL LETTER EPSILON WITH OXIA
-;H	<char-0x1FCB>  " GREEK CAPITAL LETTER ETA WITH OXIA
-;I	<char-0x1FDB>  " GREEK CAPITAL LETTER IOTA WITH OXIA
-;O	<char-0x1FF9>  " GREEK CAPITAL LETTER OMICRON WITH OXIA
-;Y	<char-0x1FEB>  " GREEK CAPITAL LETTER UPSILON WITH OXIA
-;V	<char-0x1FFB>  " GREEK CAPITAL LETTER OMEGA WITH OXIA
-;a	<char-0x1F71>  " GREEK SMALL LETTER ALPHA WITH OXIA
-;e	<char-0x1F73>  " GREEK SMALL LETTER EPSILON WITH OXIA
-;h	<char-0x1F75>  " GREEK SMALL LETTER ETA WITH OXIA
-;i	<char-0x1F77>  " GREEK SMALL LETTER IOTA WITH OXIA
-;o	<char-0x1F79>  " GREEK SMALL LETTER OMICRON WITH OXIA
-;y	<char-0x1F7B>  " GREEK SMALL LETTER UPSILON WITH OXIA
-;v	<char-0x1F7D>  " GREEK SMALL LETTER OMEGA WITH OXIA
-"
-"
-" This area covers 0x1F00-0x1F6F
+/A	<char-0x1FBB>  " GREEK CAPITAL LETTER ALPHA WITH OXIA
+/E	<char-0x1FC9>  " GREEK CAPITAL LETTER EPSILON WITH OXIA
+/H	<char-0x1FCB>  " GREEK CAPITAL LETTER ETA WITH OXIA
+/I	<char-0x1FDB>  " GREEK CAPITAL LETTER IOTA WITH OXIA
+/O	<char-0x1FF9>  " GREEK CAPITAL LETTER OMICRON WITH OXIA
+/Y	<char-0x1FEB>  " GREEK CAPITAL LETTER UPSILON WITH OXIA
+/V	<char-0x1FFB>  " GREEK CAPITAL LETTER OMEGA WITH OXIA
+/a	<char-0x1F71>  " GREEK SMALL LETTER ALPHA WITH OXIA
+/e	<char-0x1F73>  " GREEK SMALL LETTER EPSILON WITH OXIA
+/h	<char-0x1F75>  " GREEK SMALL LETTER ETA WITH OXIA
+/i	<char-0x1F77>  " GREEK SMALL LETTER IOTA WITH OXIA
+/o	<char-0x1F79>  " GREEK SMALL LETTER OMICRON WITH OXIA
+/y	<char-0x1F7B>  " GREEK SMALL LETTER UPSILON WITH OXIA
+/v	<char-0x1F7D>  " GREEK SMALL LETTER OMEGA WITH OXIA
 "
 " letters with Psili:
 "
@@ -380,7 +381,6 @@ h|	<char-0x1FC3>  " GREEK SMALL LETTER ETA WITH YPOGEGRAMMENI
 v|	<char-0x1FF3>  " GREEK SMALL LETTER OMEGA WITH YPOGEGRAMMENI
 "
 "
-" This area covers 0x1F80-0x1FAF
 "
 " letters with Psili and Ypogegrammeni/Prosgegrammeni:
 "
@@ -393,6 +393,8 @@ v|	<char-0x1FF3>  " GREEK SMALL LETTER OMEGA WITH YPOGEGRAMMENI
 >h|	<char-0x1F90>  " GREEK SMALL LETTER ETA WITH PSILI AND YPOGEGRAMMENI
 >v|	<char-0x1FA0>  " GREEK SMALL LETTER OMEGA WITH PSILI AND YPOGEGRAMMENI
 "
+"
+"
 " letters with Dasia and Ypogegrammeni/Prosgegrammeni:
 "
 <A|	<char-0x1F89>  " GREEK CAPITAL LETTER ALPHA WITH DASIA AND
@@ -404,6 +406,8 @@ v|	<char-0x1FF3>  " GREEK SMALL LETTER OMEGA WITH YPOGEGRAMMENI
 <h|	<char-0x1F91>  " GREEK SMALL LETTER ETA WITH DASIA AND YPOGEGRAMMENI
 <v|	<char-0x1FA1>  " GREEK SMALL LETTER OMEGA WITH DASIA AND YPOGEGRAMMENI
 "
+"
+"
 " letters with Psili and Varia and Ypogegrammeni/Prosgegrammeni:
 "
 >`A|	<char-0x1F8A>  " GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA AND
@@ -419,6 +423,8 @@ v|	<char-0x1FF3>  " GREEK SMALL LETTER OMEGA WITH YPOGEGRAMMENI
 >`v|	<char-0x1FA2>  " GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA AND
 		       " YPOGEGRAMMENI
 "
+"
+"
 " letters with Dasia and Varia and Ypogegrammeni/Prosgegrammeni:
 "
 <`A|	<char-0x1F8B>  " GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA AND
@@ -436,6 +442,8 @@ v|	<char-0x1FF3>  " GREEK SMALL LETTER OMEGA WITH YPOGEGRAMMENI
 "
 " letters with Psili and Oxia and Ypogegrammeni/Prosgegrammeni:
 "
+"
+"
 >;A|	<char-0x1F8C>  " GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA AND
 		       " PROSGEGRAMMENI
 >;H|	<char-0x1F9C>  " GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA AND
@@ -451,6 +459,8 @@ v|	<char-0x1FF3>  " GREEK SMALL LETTER OMEGA WITH YPOGEGRAMMENI
 "
 " letters with Dasia and Oxia and Ypogegrammeni/Prosgegrammeni:
 "
+"
+"
 <;A|	<char-0x1F8D>  " GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA AND
 		       " PROSGEGRAMMENI
 <;H|	<char-0x1F9D>  " GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA AND
@@ -466,6 +476,8 @@ v|	<char-0x1FF3>  " GREEK SMALL LETTER OMEGA WITH YPOGEGRAMMENI
 "
 " letters with Psili and Perispomeni and Ypogegrammeni/Prosgegrammeni:
 "
+"
+"
 >~A|	<char-0x1F8E>  " GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI
 		       " AND PROSGEGRAMMENI
 >~H|	<char-0x1F9E>  " GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA
@@ -481,6 +493,8 @@ v|	<char-0x1FF3>  " GREEK SMALL LETTER OMEGA WITH YPOGEGRAMMENI
 "
 " letters with Dasia and Perispomeni and Ypogegrammeni/Prosgegrammeni:
 "
+"
+"
 <~A|	<char-0x1F8F>  " GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI
 		       " AND PROSGEGRAMMENI
 <~H|	<char-0x1F9F>  " GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI
@@ -496,6 +510,8 @@ v|	<char-0x1FF3>  " GREEK SMALL LETTER OMEGA WITH YPOGEGRAMMENI
 "
 " letters with Perispomeni:
 "
+"
+"
 ~a	<char-0x1FB6>  " GREEK SMALL LETTER ALPHA WITH PERISPOMENI
 ~h	<char-0x1FC6>  " GREEK SMALL LETTER ETA WITH PERISPOMENI
 ~i	<char-0x1FD6>  " GREEK SMALL LETTER IOTA WITH PERISPOMENI
@@ -504,6 +520,8 @@ v|	<char-0x1FF3>  " GREEK SMALL LETTER OMEGA WITH YPOGEGRAMMENI
 "
 " letters with Perispomeni and Ypogegrammeni:
 "
+"
+"
 ~a|	<char-0x1FB7> " GREEK SMALL LETTER ALPHA WITH PERISPOMENI AND
 		      " YPOGEGRAMMENI
 ~h|	<char-0x1FC7> " GREEK SMALL LETTER ETA WITH PERISPOMENI AND
@@ -514,12 +532,16 @@ v|	<char-0x1FF3>  " GREEK SMALL LETTER OMEGA WITH YPOGEGRAMMENI
 "
 " letters with Varia and Ypogegrammeni:
 "
+"
+"
 `a|	<char-0x1FB2>  " GREEK SMALL LETTER ALPHA WITH VARIA AND YPOGEGRAMMENI
 `h|	<char-0x1FC2>  " GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI
 `v|	<char-0x1FF2>  " GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI
 "
 " letters with Oxia and Ypogegrammeni:
 "
+"
+"
 ;a|	<char-0x1FB4>  " GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI
 ;h|	<char-0x1FC4>  " GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI
 ;v|	<char-0x1FF4>  " GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI
diff --git a/runtime/macros/matchit.txt b/runtime/macros/matchit.txt
index 8ea4de5f24fc1b870b942fdb83f1fd9bf991d783..57373fe5ebf27cc1ab078e2244353037a073c61f 100644
--- a/runtime/macros/matchit.txt
+++ b/runtime/macros/matchit.txt
@@ -4,7 +4,7 @@ For instructions on installing this file, type
 	:help matchit-install
 inside Vim.
 
-For Vim version 6.3.  Last change:  2004 May 12
+For Vim version 6.3.  Last change:  2006 Feb 23
 
 
 		  VIM REFERENCE MANUAL    by Benji Fisher
@@ -247,7 +247,7 @@ Examples:
 	comment character) you can >
 		:let b:match_skip = 'r:\(^\|[^\\]\)\(\\\\\)*%'
 <
-	See the $VIMRUNTIME/syntax/vim.vim for an example that uses both
+	See the $VIMRUNTIME/ftplugin/vim.vim for an example that uses both
 	syntax and a regular expression.
 
 ==============================================================================
@@ -261,8 +261,10 @@ Vim's |regular-expression|s.
 
 The format for |b:match_words| is similar to that of the 'matchpairs' option:
 it is a comma (,)-separated list of groups; each group is a colon(:)-separated
-list of patterns (regular expressions).  It is OK to have only one group; the
-effect is undefined if a group has only one pattern.  A simple example is >
+list of patterns (regular expressions).  Commas and backslashes that are part
+of a pattern should be escaped with backslashes ('\:' and '\,').  It is OK to
+have only one group; the effect is undefined if a group has only one pattern.
+A simple example is >
 	:let b:match_words = '\<if\>:\<endif\>,'
 		\ . '\<while\>:\<continue\>:\<break\>:\<endwhile\>'
 (In Vim regular expressions, |\<| and |\>| denote word boundaries.  Thus "if"
diff --git a/runtime/makemenu.vim b/runtime/makemenu.vim
index 399168ab80406b0ccfd041b70f4b13ffc39e738b..dbf6d90b9307e00bc3306539bac6d0cb46e48448 100644
--- a/runtime/makemenu.vim
+++ b/runtime/makemenu.vim
@@ -1,6 +1,6 @@
 " Script to define the syntax menu in synmenu.vim
 " Maintainer:	Bram Moolenaar <Bram@vim.org>
-" Last Change:	2006 Mar 23
+" Last Change:	2006 Mar 24
 
 " This is used by "make menu" in the src directory.
 edit <sfile>:p:h/synmenu.vim
@@ -48,6 +48,7 @@ fun! <SID>Syn(arg)
   let s:lnum = s:lnum + 1
 endfun
 
+SynMenu AB.A2ps\ config:a2ps
 SynMenu AB.Aap:aap
 SynMenu AB.ABAP/4:abap
 SynMenu AB.Abaqus:abaqus
@@ -83,6 +84,8 @@ SynMenu AB.Assembly.VAX\ Macro\ Assembly:vmasm
 SynMenu AB.Assembly.Z-80:z8a
 SynMenu AB.Assembly.xa\ 6502\ cross\ assember:a65
 SynMenu AB.ASN\.1:asn
+SynMenu AB.Asterisk\ config:asterisk
+SynMenu AB.Asterisk\ voicemail\ config:asteriskvm
 SynMenu AB.Atlas:atlas
 SynMenu AB.Automake:automake
 SynMenu AB.Avenue:ave
@@ -120,6 +123,7 @@ SynMenu C.Cold\ Fusion:cf
 SynMenu C.Config.Cfg\ Config\ file:cfg
 SynMenu C.Config.Generic\ Config\ file:conf
 SynMenu C.Config.Configure\.in:config
+SynMenu C.ConTeXt:context
 SynMenu C.CRM114:crm
 SynMenu C.Ctrl-H:ctrlh
 SynMenu C.Cobol:cobol
@@ -133,6 +137,8 @@ SynMenu DE.D:d
 SynMenu DE.Debian.Debian\ ChangeLog:debchangelog
 SynMenu DE.Debian.Debian\ Control:debcontrol
 SynMenu DE.Desktop:desktop
+SynMenu DE.Dict\ config:dictconf
+SynMenu DE.Dictd\ config:dictdconf
 SynMenu DE.Diff:diff
 SynMenu DE.Digital\ Command\ Lang:dcl
 SynMenu DE.Dircolors:dircolors
@@ -161,6 +167,7 @@ SynMenu DE.ESQL-C:esqlc
 SynMenu DE.Essbase\ script:csc
 SynMenu DE.Esterel:esterel
 SynMenu DE.Eterm\ config:eterm
+SynMenu DE.Eviews:eviews
 SynMenu DE.Exim\ conf:exim
 SynMenu DE.Expect:expect
 SynMenu DE.Exports:exports
@@ -183,6 +190,7 @@ SynMenu FG.Gedcom:gedcom
 SynMenu FG.Gkrellmrc:gkrellmrc
 SynMenu FG.GP:gp
 SynMenu FG.GPG:gpg
+SynMenu FG.Group\ file:group
 SynMenu FG.Grub:grub
 SynMenu FG.GNU\ Server\ Pages:gsp
 SynMenu FG.GNUplot:gnuplot
@@ -235,15 +243,19 @@ SynMenu HIJK.KixTart:kix
 SynMenu L-Ma.Lace:lace
 SynMenu L-Ma.LamdaProlog:lprolog
 SynMenu L-Ma.Latte:latte
+SynMenu L-Ma.Ld\ script:ld
 SynMenu L-Ma.LDAP\ LDIF:ldif
 SynMenu L-Ma.Lex:lex
 SynMenu L-Ma.LFTP\ config:lftp
 SynMenu L-Ma.Libao:libao
 SynMenu L-Ma.LifeLines\ script:lifelines
 SynMenu L-Ma.Lilo:lilo
+SynMenu L-Ma.Limits\ config:limits
 SynMenu L-Ma.Lisp:lisp
 SynMenu L-Ma.Lite:lite
 SynMenu L-Ma.Locale\ Input:fdcc
+SynMenu L-Ma.Login\.access:loginaccess
+SynMenu L-Ma.Login\.defs:logindefs
 SynMenu L-Ma.Logtalk:logtalk
 SynMenu L-Ma.LOTOS:lotos
 SynMenu L-Ma.LotusScript:lscript
@@ -259,6 +271,7 @@ SynMenu L-Ma.Mailcap:mailcap
 SynMenu L-Ma.Makefile:make
 SynMenu L-Ma.MakeIndex:ist
 SynMenu L-Ma.Man\ page:man
+SynMenu L-Ma.Man\.conf:manconf
 SynMenu L-Ma.Maple\ V:maple
 SynMenu L-Ma.Mason:mason
 SynMenu L-Ma.Mathematica:mma
@@ -267,6 +280,7 @@ SynMenu L-Ma.Matlab:matlab
 SynMenu Me-NO.MEL\ (for\ Maya):mel
 SynMenu Me-NO.Metafont:mf
 SynMenu Me-NO.MetaPost:mp
+SynMenu Me-NO.MGL:mgl
 SynMenu Me-NO.MMIX:mmix
 SynMenu Me-NO.Modconf:modconf
 SynMenu Me-NO.Model:model
@@ -283,8 +297,10 @@ SynMenu Me-NO.MS-DOS/Windows.Module\ Definition:def
 SynMenu Me-NO.MS-DOS/Windows.Registry:registry
 SynMenu Me-NO.MS-DOS/Windows.Resource\ file:rc
 SynMenu Me-NO.Msql:msql
+SynMenu Me-NO.MuPAD:mupad
 SynMenu Me-NO.MUSHcode:mush
 SynMenu Me-NO.Muttrc:muttrc
+SynMenu Me-NO.Nanorc:nanorc
 SynMenu Me-NO.Nastran\ input/DMAP:nastran
 SynMenu Me-NO.Natural:natural
 SynMenu Me-NO.Netrc:netrc
@@ -301,10 +317,12 @@ SynMenu Me-NO.OpenROAD:openroad
 SynMenu Me-NO.Open\ Psion\ Lang:opl
 SynMenu Me-NO.Oracle\ config:ora
 
-SynMenu PQ.Palm\ resource\ compiler:pilrc
 SynMenu PQ.Packet\ filter\ conf:pf
+SynMenu PQ.Palm\ resource\ compiler:pilrc
+SynMenu PQ.Pam\ config:pamconf
 SynMenu PQ.PApp:papp
 SynMenu PQ.Pascal:pascal
+SynMenu PQ.Password\ file:passwd
 SynMenu PQ.PCCTS:pccts
 SynMenu PQ.PPWizard:ppwiz
 SynMenu PQ.Perl.Perl:perl
@@ -330,6 +348,7 @@ SynMenu PQ.Procmail:procmail
 SynMenu PQ.Product\ Spec\ File:psf
 SynMenu PQ.Progress:progress
 SynMenu PQ.Prolog:prolog
+SynMenu PQ.Protocols:protocols
 SynMenu PQ.Purify\ log:purifylog
 SynMenu PQ.Pyrex:pyrex
 SynMenu PQ.Python:python
@@ -337,6 +356,8 @@ SynMenu PQ.Quake:quake
 SynMenu PQ.Quickfix\ window:qf
 
 SynMenu R-Sg.R:r
+SynMenu R-Sg.R\ help:rhelp
+SynMenu R-Sg.Racc\ input:racc
 SynMenu R-Sg.Radiance:radiance
 SynMenu R-Sg.Ratpoison:ratpoison
 SynMenu R-Sg.RCS.RCS\ log\ output:rcslog
@@ -367,6 +388,12 @@ SynMenu R-Sg.SDL:sdl
 SynMenu R-Sg.Sed:sed
 SynMenu R-Sg.Sendmail\.cf:sm
 SynMenu R-Sg.Send-pr:sendpr
+SynMenu R-Sg.Sensors\.conf:sensors
+SynMenu R-Sg.Service\ Location\ config:slpconf
+SynMenu R-Sg.Service\ Location\ registration:slpreg
+SynMenu R-Sg.Service\ Location\ SPI:slpspi
+SynMenu R-Sg.Services:services
+SynMenu R-Sg.Setserial\ config:setserial
 SynMenu R-Sg.SGML.SGML\ catalog:catalog
 SynMenu R-Sg.SGML.SGML\ DTD:sgml
 SynMenu R-Sg.SGML.SGML\ Declaration:sgmldecl
@@ -407,7 +434,9 @@ SynMenu Sh-S.Squid\ config:squid
 SynMenu Sh-S.SQL.ESQL-C:esqlc
 SynMenu Sh-S.SQL.MySQL:mysql
 SynMenu Sh-S.SQL.PL/SQL:plsql
-SynMenu Sh-S.SQL.SQL\ (Oracle):sql
+SynMenu Sh-S.SQL.SQL\ Anywhere:sqlanywhere
+SynMenu Sh-S.SQL.SQL\ (automatic):sql
+SynMenu Sh-S.SQL.SQL\ (Oracle):sqloracle
 SynMenu Sh-S.SQL.SQL\ Forms:sqlforms
 SynMenu Sh-S.SQL.SQLJ:sqlj
 SynMenu Sh-S.SQL.SQL-Informix:sqlinformix
@@ -419,6 +448,7 @@ SynMenu Sh-S.Stored\ Procedures:stp
 SynMenu Sh-S.Strace:strace
 SynMenu Sh-S.Subversion\ commit:svn
 SynMenu Sh-S.Sudoers:sudoers
+SynMenu Sh-S.Sysctl\.conf:sysctl
 
 SynMenu TUV.TADS:tads
 SynMenu TUV.Tags:tags
@@ -438,11 +468,16 @@ SynMenu TUV.Tidy\ configuration:tidy
 SynMenu TUV.Tilde:tilde
 SynMenu TUV.TPP:tpp
 SynMenu TUV.Trasys\ input:trasys
+SynMenu TUV.Trustees:trustees
 SynMenu TUV.TSS.Command\ Line:tsscl
 SynMenu TUV.TSS.Geometry:tssgm
 SynMenu TUV.TSS.Optics:tssop
+SynMenu TUV.Udev\ config:udevconf
+SynMenu TUV.Udev\ permissions:udevperm
+SynMenu TUV.Udev\ rules:udevrules
 SynMenu TUV.UIT/UIL:uil
 SynMenu TUV.UnrealScript:uc
+SynMenu TUV.Updatedb\.conf:updatedb
 SynMenu TUV.Valgrind:valgrind
 SynMenu TUV.Verilog-AMS\ HDL:verilogams
 SynMenu TUV.Verilog\ HDL:verilog
@@ -467,15 +502,18 @@ SynMenu WXYZ.Whitespace\ (add):whitespace
 SynMenu WXYZ.WildPackets\ EtherPeek\ Decoder:dcd
 SynMenu WXYZ.WinBatch/Webbatch:winbatch
 SynMenu WXYZ.Windows\ Scripting\ Host:wsh
+SynMenu WXYZ.WSML:wsml
 SynMenu WXYZ.WvDial:wvdial
 SynMenu WXYZ.X\ Keyboard\ Extension:xkb
 SynMenu WXYZ.X\ Pixmap:xpm
 SynMenu WXYZ.X\ Pixmap\ (2):xpm2
 SynMenu WXYZ.X\ resources:xdefaults
+SynMenu WXYZ.Xinetd\.conf:xinetd
 SynMenu WXYZ.Xmodmap:xmodmap
 SynMenu WXYZ.Xmath:xmath
 SynMenu WXYZ.XML:xml
 SynMenu WXYZ.XML\ Schema\ (XSD):xsd
+SynMenu WXYZ.XQuery:xquery
 SynMenu WXYZ.Xslt:xslt
 SynMenu WXYZ.XFree86\ Config:xf86conf
 SynMenu WXYZ.YAML:yaml
diff --git a/runtime/spell/es/main.aap b/runtime/spell/es/main.aap
index 9abb72c82a8832516788adf281927da8fb8860aa..9ff082ce5e0b3b5635ed951508d6f6407d1d5fb2 100644
--- a/runtime/spell/es/main.aap
+++ b/runtime/spell/es/main.aap
@@ -49,7 +49,7 @@ es_ES.aff es_ES.dic: {buildcheck=}
         :fetch $ZIPFILE_ES
         :sys $UNZIP $ZIPFILE_ES
         :delete add-to--dictionary.lst.example
-        #:delete $ZIPFILE_ES
+        :delete $ZIPFILE_ES
         @if not os.path.exists('es_ES.orig.aff'):
             :copy es_ES.aff es_ES.orig.aff
         @if not os.path.exists('es_ES.orig.dic'):
@@ -62,7 +62,7 @@ es_MX.aff es_MX.dic: {buildcheck=}
         :fetch $ZIPFILE_MX
         :print No copyright information for es_MX wordlist >! README_es_MX.txt
         :sys $UNZIP $ZIPFILE_MX
-        #:delete $ZIPFILE_MX
+        :delete $ZIPFILE_MX
         :sys $VIM -e -c "set ff=unix | wq" es_MX.dic
         @if not os.path.exists('es_MX.orig.aff'):
             :copy es_MX.aff es_MX.orig.aff
diff --git a/runtime/synmenu.vim b/runtime/synmenu.vim
index a3973acdf0e2cf058c89f7590afd1bdc23f0eeec..35f0f71eab98a3370b3efc55b26039f667497558 100644
--- a/runtime/synmenu.vim
+++ b/runtime/synmenu.vim
@@ -31,55 +31,58 @@ endfun
 " The following menu items are generated by makemenu.vim.
 " The Start Of The Syntax Menu
 
-an 50.10.100 &Syntax.AB.Aap :cal SetSyn("aap")<CR>
-an 50.10.110 &Syntax.AB.ABAP/4 :cal SetSyn("abap")<CR>
-an 50.10.120 &Syntax.AB.Abaqus :cal SetSyn("abaqus")<CR>
-an 50.10.130 &Syntax.AB.ABC\ music\ notation :cal SetSyn("abc")<CR>
-an 50.10.140 &Syntax.AB.ABEL :cal SetSyn("abel")<CR>
-an 50.10.150 &Syntax.AB.AceDB\ model :cal SetSyn("acedb")<CR>
-an 50.10.160 &Syntax.AB.Ada :cal SetSyn("ada")<CR>
-an 50.10.170 &Syntax.AB.AfLex :cal SetSyn("aflex")<CR>
-an 50.10.180 &Syntax.AB.ALSA\ config :cal SetSyn("alsaconf")<CR>
-an 50.10.190 &Syntax.AB.Altera\ AHDL :cal SetSyn("ahdl")<CR>
-an 50.10.200 &Syntax.AB.Amiga\ DOS :cal SetSyn("amiga")<CR>
-an 50.10.210 &Syntax.AB.AMPL :cal SetSyn("ampl")<CR>
-an 50.10.220 &Syntax.AB.Ant\ build\ file :cal SetSyn("ant")<CR>
-an 50.10.230 &Syntax.AB.ANTLR :cal SetSyn("antlr")<CR>
-an 50.10.240 &Syntax.AB.Apache\ config :cal SetSyn("apache")<CR>
-an 50.10.250 &Syntax.AB.Apache-style\ config :cal SetSyn("apachestyle")<CR>
-an 50.10.260 &Syntax.AB.Applix\ ELF :cal SetSyn("elf")<CR>
-an 50.10.270 &Syntax.AB.Arc\ Macro\ Language :cal SetSyn("aml")<CR>
-an 50.10.280 &Syntax.AB.Arch\ inventory :cal SetSyn("arch")<CR>
-an 50.10.290 &Syntax.AB.ART :cal SetSyn("art")<CR>
-an 50.10.300 &Syntax.AB.ASP\ with\ VBScript :cal SetSyn("aspvbs")<CR>
-an 50.10.310 &Syntax.AB.ASP\ with\ Perl :cal SetSyn("aspperl")<CR>
-an 50.10.320 &Syntax.AB.Assembly.680x0 :cal SetSyn("asm68k")<CR>
-an 50.10.330 &Syntax.AB.Assembly.Flat :cal SetSyn("fasm")<CR>
-an 50.10.340 &Syntax.AB.Assembly.GNU :cal SetSyn("asm")<CR>
-an 50.10.350 &Syntax.AB.Assembly.GNU\ H-8300 :cal SetSyn("asmh8300")<CR>
-an 50.10.360 &Syntax.AB.Assembly.Intel\ IA-64 :cal SetSyn("ia64")<CR>
-an 50.10.370 &Syntax.AB.Assembly.Microsoft :cal SetSyn("masm")<CR>
-an 50.10.380 &Syntax.AB.Assembly.Netwide :cal SetSyn("nasm")<CR>
-an 50.10.390 &Syntax.AB.Assembly.PIC :cal SetSyn("pic")<CR>
-an 50.10.400 &Syntax.AB.Assembly.Turbo :cal SetSyn("tasm")<CR>
-an 50.10.410 &Syntax.AB.Assembly.VAX\ Macro\ Assembly :cal SetSyn("vmasm")<CR>
-an 50.10.420 &Syntax.AB.Assembly.Z-80 :cal SetSyn("z8a")<CR>
-an 50.10.430 &Syntax.AB.Assembly.xa\ 6502\ cross\ assember :cal SetSyn("a65")<CR>
-an 50.10.440 &Syntax.AB.ASN\.1 :cal SetSyn("asn")<CR>
-an 50.10.450 &Syntax.AB.Atlas :cal SetSyn("atlas")<CR>
-an 50.10.460 &Syntax.AB.Automake :cal SetSyn("automake")<CR>
-an 50.10.470 &Syntax.AB.Avenue :cal SetSyn("ave")<CR>
-an 50.10.480 &Syntax.AB.Awk :cal SetSyn("awk")<CR>
-an 50.10.490 &Syntax.AB.AYacc :cal SetSyn("ayacc")<CR>
-an 50.10.510 &Syntax.AB.B :cal SetSyn("b")<CR>
-an 50.10.520 &Syntax.AB.Baan :cal SetSyn("baan")<CR>
-an 50.10.530 &Syntax.AB.BASIC :cal SetSyn("basic")<CR>
-an 50.10.540 &Syntax.AB.BC\ calculator :cal SetSyn("bc")<CR>
-an 50.10.550 &Syntax.AB.BDF\ font :cal SetSyn("bdf")<CR>
-an 50.10.560 &Syntax.AB.BibTeX :cal SetSyn("bib")<CR>
-an 50.10.570 &Syntax.AB.BIND.BIND\ config :cal SetSyn("named")<CR>
-an 50.10.580 &Syntax.AB.BIND.BIND\ zone :cal SetSyn("bindzone")<CR>
-an 50.10.590 &Syntax.AB.Blank :cal SetSyn("blank")<CR>
+an 50.10.100 &Syntax.AB.A2ps\ config :cal SetSyn("a2ps")<CR>
+an 50.10.110 &Syntax.AB.Aap :cal SetSyn("aap")<CR>
+an 50.10.120 &Syntax.AB.ABAP/4 :cal SetSyn("abap")<CR>
+an 50.10.130 &Syntax.AB.Abaqus :cal SetSyn("abaqus")<CR>
+an 50.10.140 &Syntax.AB.ABC\ music\ notation :cal SetSyn("abc")<CR>
+an 50.10.150 &Syntax.AB.ABEL :cal SetSyn("abel")<CR>
+an 50.10.160 &Syntax.AB.AceDB\ model :cal SetSyn("acedb")<CR>
+an 50.10.170 &Syntax.AB.Ada :cal SetSyn("ada")<CR>
+an 50.10.180 &Syntax.AB.AfLex :cal SetSyn("aflex")<CR>
+an 50.10.190 &Syntax.AB.ALSA\ config :cal SetSyn("alsaconf")<CR>
+an 50.10.200 &Syntax.AB.Altera\ AHDL :cal SetSyn("ahdl")<CR>
+an 50.10.210 &Syntax.AB.Amiga\ DOS :cal SetSyn("amiga")<CR>
+an 50.10.220 &Syntax.AB.AMPL :cal SetSyn("ampl")<CR>
+an 50.10.230 &Syntax.AB.Ant\ build\ file :cal SetSyn("ant")<CR>
+an 50.10.240 &Syntax.AB.ANTLR :cal SetSyn("antlr")<CR>
+an 50.10.250 &Syntax.AB.Apache\ config :cal SetSyn("apache")<CR>
+an 50.10.260 &Syntax.AB.Apache-style\ config :cal SetSyn("apachestyle")<CR>
+an 50.10.270 &Syntax.AB.Applix\ ELF :cal SetSyn("elf")<CR>
+an 50.10.280 &Syntax.AB.Arc\ Macro\ Language :cal SetSyn("aml")<CR>
+an 50.10.290 &Syntax.AB.Arch\ inventory :cal SetSyn("arch")<CR>
+an 50.10.300 &Syntax.AB.ART :cal SetSyn("art")<CR>
+an 50.10.310 &Syntax.AB.ASP\ with\ VBScript :cal SetSyn("aspvbs")<CR>
+an 50.10.320 &Syntax.AB.ASP\ with\ Perl :cal SetSyn("aspperl")<CR>
+an 50.10.330 &Syntax.AB.Assembly.680x0 :cal SetSyn("asm68k")<CR>
+an 50.10.340 &Syntax.AB.Assembly.Flat :cal SetSyn("fasm")<CR>
+an 50.10.350 &Syntax.AB.Assembly.GNU :cal SetSyn("asm")<CR>
+an 50.10.360 &Syntax.AB.Assembly.GNU\ H-8300 :cal SetSyn("asmh8300")<CR>
+an 50.10.370 &Syntax.AB.Assembly.Intel\ IA-64 :cal SetSyn("ia64")<CR>
+an 50.10.380 &Syntax.AB.Assembly.Microsoft :cal SetSyn("masm")<CR>
+an 50.10.390 &Syntax.AB.Assembly.Netwide :cal SetSyn("nasm")<CR>
+an 50.10.400 &Syntax.AB.Assembly.PIC :cal SetSyn("pic")<CR>
+an 50.10.410 &Syntax.AB.Assembly.Turbo :cal SetSyn("tasm")<CR>
+an 50.10.420 &Syntax.AB.Assembly.VAX\ Macro\ Assembly :cal SetSyn("vmasm")<CR>
+an 50.10.430 &Syntax.AB.Assembly.Z-80 :cal SetSyn("z8a")<CR>
+an 50.10.440 &Syntax.AB.Assembly.xa\ 6502\ cross\ assember :cal SetSyn("a65")<CR>
+an 50.10.450 &Syntax.AB.ASN\.1 :cal SetSyn("asn")<CR>
+an 50.10.460 &Syntax.AB.Asterisk\ config :cal SetSyn("asterisk")<CR>
+an 50.10.470 &Syntax.AB.Asterisk\ voicemail\ config :cal SetSyn("asteriskvm")<CR>
+an 50.10.480 &Syntax.AB.Atlas :cal SetSyn("atlas")<CR>
+an 50.10.490 &Syntax.AB.Automake :cal SetSyn("automake")<CR>
+an 50.10.500 &Syntax.AB.Avenue :cal SetSyn("ave")<CR>
+an 50.10.510 &Syntax.AB.Awk :cal SetSyn("awk")<CR>
+an 50.10.520 &Syntax.AB.AYacc :cal SetSyn("ayacc")<CR>
+an 50.10.540 &Syntax.AB.B :cal SetSyn("b")<CR>
+an 50.10.550 &Syntax.AB.Baan :cal SetSyn("baan")<CR>
+an 50.10.560 &Syntax.AB.BASIC :cal SetSyn("basic")<CR>
+an 50.10.570 &Syntax.AB.BC\ calculator :cal SetSyn("bc")<CR>
+an 50.10.580 &Syntax.AB.BDF\ font :cal SetSyn("bdf")<CR>
+an 50.10.590 &Syntax.AB.BibTeX :cal SetSyn("bib")<CR>
+an 50.10.600 &Syntax.AB.BIND.BIND\ config :cal SetSyn("named")<CR>
+an 50.10.610 &Syntax.AB.BIND.BIND\ zone :cal SetSyn("bindzone")<CR>
+an 50.10.620 &Syntax.AB.Blank :cal SetSyn("blank")<CR>
 an 50.20.100 &Syntax.C.C :cal SetSyn("c")<CR>
 an 50.20.110 &Syntax.C.C++ :cal SetSyn("cpp")<CR>
 an 50.20.120 &Syntax.C.C# :cal SetSyn("cs")<CR>
@@ -101,44 +104,52 @@ an 50.20.270 &Syntax.C.Cold\ Fusion :cal SetSyn("cf")<CR>
 an 50.20.280 &Syntax.C.Config.Cfg\ Config\ file :cal SetSyn("cfg")<CR>
 an 50.20.290 &Syntax.C.Config.Generic\ Config\ file :cal SetSyn("conf")<CR>
 an 50.20.300 &Syntax.C.Config.Configure\.in :cal SetSyn("config")<CR>
-an 50.20.310 &Syntax.C.CRM114 :cal SetSyn("crm")<CR>
-an 50.20.320 &Syntax.C.Ctrl-H :cal SetSyn("ctrlh")<CR>
-an 50.20.330 &Syntax.C.Cobol :cal SetSyn("cobol")<CR>
-an 50.20.340 &Syntax.C.CSP :cal SetSyn("csp")<CR>
-an 50.20.350 &Syntax.C.CUPL.CUPL :cal SetSyn("cupl")<CR>
-an 50.20.360 &Syntax.C.CUPL.Simulation :cal SetSyn("cuplsim")<CR>
-an 50.20.370 &Syntax.C.CVS.commit\ file :cal SetSyn("cvs")<CR>
-an 50.20.380 &Syntax.C.CVS.cvsrc :cal SetSyn("cvsrc")<CR>
+an 50.20.310 &Syntax.C.ConTeXt :cal SetSyn("context")<CR>
+an 50.20.320 &Syntax.C.CRM114 :cal SetSyn("crm")<CR>
+an 50.20.330 &Syntax.C.Ctrl-H :cal SetSyn("ctrlh")<CR>
+an 50.20.340 &Syntax.C.Cobol :cal SetSyn("cobol")<CR>
+an 50.20.350 &Syntax.C.CSP :cal SetSyn("csp")<CR>
+an 50.20.360 &Syntax.C.CUPL.CUPL :cal SetSyn("cupl")<CR>
+an 50.20.370 &Syntax.C.CUPL.Simulation :cal SetSyn("cuplsim")<CR>
+an 50.20.380 &Syntax.C.CVS.commit\ file :cal SetSyn("cvs")<CR>
+an 50.20.390 &Syntax.C.CVS.cvsrc :cal SetSyn("cvsrc")<CR>
 an 50.30.100 &Syntax.DE.D :cal SetSyn("d")<CR>
 an 50.30.110 &Syntax.DE.Debian.Debian\ ChangeLog :cal SetSyn("debchangelog")<CR>
 an 50.30.120 &Syntax.DE.Debian.Debian\ Control :cal SetSyn("debcontrol")<CR>
 an 50.30.130 &Syntax.DE.Desktop :cal SetSyn("desktop")<CR>
-an 50.30.140 &Syntax.DE.Diff :cal SetSyn("diff")<CR>
-an 50.30.150 &Syntax.DE.Digital\ Command\ Lang :cal SetSyn("dcl")<CR>
-an 50.30.160 &Syntax.DE.Dircolors :cal SetSyn("dircolors")<CR>
-an 50.30.170 &Syntax.DE.DNS/BIND\ zone :cal SetSyn("dns")<CR>
-an 50.30.180 &Syntax.DE.DocBook.auto-detect :cal SetSyn("docbk")<CR>
-an 50.30.190 &Syntax.DE.DocBook.SGML :cal SetSyn("docbksgml")<CR>
-an 50.30.200 &Syntax.DE.DocBook.XML :cal SetSyn("docbkxml")<CR>
-an 50.30.210 &Syntax.DE.Dot :cal SetSyn("dot")<CR>
-an 50.30.220 &Syntax.DE.Dracula :cal SetSyn("dracula")<CR>
-an 50.30.230 &Syntax.DE.DSSSL :cal SetSyn("dsl")<CR>
-an 50.30.240 &Syntax.DE.DTD :cal SetSyn("dtd")<CR>
-an 50.30.250 &Syntax.DE.DTML\ (Zope) :cal SetSyn("dtml")<CR>
-an 50.30.260 &Syntax.DE.Dylan.Dylan :cal SetSyn("dylan")<CR>
-an 50.30.270 &Syntax.DE.Dylan.Dylan\ interface :cal SetSyn("dylanintr")<CR>
-an 50.30.280 &Syntax.DE.Dylan.Dylan\ lid :cal SetSyn("dylanlid")<CR>
-an 50.30.300 &Syntax.DE.EDIF :cal SetSyn("edif")<CR>
-an 50.30.310 &Syntax.DE.Eiffel :cal SetSyn("eiffel")<CR>
-an 50.30.320 &Syntax.DE.Elinks\ config :cal SetSyn("elinks")<CR>
-an 50.30.330 &Syntax.DE.Elm\ filter\ rules :cal SetSyn("elmfilt")<CR>
-an 50.30.340 &Syntax.DE.Embedix\ Component\ Description :cal SetSyn("ecd")<CR>
-an 50.30.350 &Syntax.DE.ERicsson\ LANGuage :cal SetSyn("erlang")<CR>
-an 50.30.360 &Syntax.DE.Essbase\ script :cal SetSyn("csc")<CR>
-an 50.30.370 &Syntax.DE.Eterm\ config :cal SetSyn("eterm")<CR>
-an 50.30.380 &Syntax.DE.Exim\ conf :cal SetSyn("exim")<CR>
-an 50.30.390 &Syntax.DE.Expect :cal SetSyn("expect")<CR>
-an 50.30.400 &Syntax.DE.Exports :cal SetSyn("exports")<CR>
+an 50.30.140 &Syntax.DE.Dict\ config :cal SetSyn("dictconf")<CR>
+an 50.30.150 &Syntax.DE.Dictd\ config :cal SetSyn("dictdconf")<CR>
+an 50.30.160 &Syntax.DE.Diff :cal SetSyn("diff")<CR>
+an 50.30.170 &Syntax.DE.Digital\ Command\ Lang :cal SetSyn("dcl")<CR>
+an 50.30.180 &Syntax.DE.Dircolors :cal SetSyn("dircolors")<CR>
+an 50.30.190 &Syntax.DE.Django\ template :cal SetSyn("django")<CR>
+an 50.30.200 &Syntax.DE.DNS/BIND\ zone :cal SetSyn("dns")<CR>
+an 50.30.210 &Syntax.DE.DocBook.auto-detect :cal SetSyn("docbk")<CR>
+an 50.30.220 &Syntax.DE.DocBook.SGML :cal SetSyn("docbksgml")<CR>
+an 50.30.230 &Syntax.DE.DocBook.XML :cal SetSyn("docbkxml")<CR>
+an 50.30.240 &Syntax.DE.Dot :cal SetSyn("dot")<CR>
+an 50.30.250 &Syntax.DE.Dracula :cal SetSyn("dracula")<CR>
+an 50.30.260 &Syntax.DE.DSSSL :cal SetSyn("dsl")<CR>
+an 50.30.270 &Syntax.DE.DTD :cal SetSyn("dtd")<CR>
+an 50.30.280 &Syntax.DE.DTML\ (Zope) :cal SetSyn("dtml")<CR>
+an 50.30.290 &Syntax.DE.Dylan.Dylan :cal SetSyn("dylan")<CR>
+an 50.30.300 &Syntax.DE.Dylan.Dylan\ interface :cal SetSyn("dylanintr")<CR>
+an 50.30.310 &Syntax.DE.Dylan.Dylan\ lid :cal SetSyn("dylanlid")<CR>
+an 50.30.330 &Syntax.DE.EDIF :cal SetSyn("edif")<CR>
+an 50.30.340 &Syntax.DE.Eiffel :cal SetSyn("eiffel")<CR>
+an 50.30.350 &Syntax.DE.Elinks\ config :cal SetSyn("elinks")<CR>
+an 50.30.360 &Syntax.DE.Elm\ filter\ rules :cal SetSyn("elmfilt")<CR>
+an 50.30.370 &Syntax.DE.Embedix\ Component\ Description :cal SetSyn("ecd")<CR>
+an 50.30.380 &Syntax.DE.ERicsson\ LANGuage :cal SetSyn("erlang")<CR>
+an 50.30.390 &Syntax.DE.ESMTP\ rc :cal SetSyn("esmtprc")<CR>
+an 50.30.400 &Syntax.DE.ESQL-C :cal SetSyn("esqlc")<CR>
+an 50.30.410 &Syntax.DE.Essbase\ script :cal SetSyn("csc")<CR>
+an 50.30.420 &Syntax.DE.Esterel :cal SetSyn("esterel")<CR>
+an 50.30.430 &Syntax.DE.Eterm\ config :cal SetSyn("eterm")<CR>
+an 50.30.440 &Syntax.DE.Eviews :cal SetSyn("eviews")<CR>
+an 50.30.450 &Syntax.DE.Exim\ conf :cal SetSyn("exim")<CR>
+an 50.30.460 &Syntax.DE.Expect :cal SetSyn("expect")<CR>
+an 50.30.470 &Syntax.DE.Exports :cal SetSyn("exports")<CR>
 an 50.40.100 &Syntax.FG.Fetchmail :cal SetSyn("fetchmail")<CR>
 an 50.40.110 &Syntax.FG.Focus\ Executable :cal SetSyn("focexec")<CR>
 an 50.40.120 &Syntax.FG.Focus\ Master :cal SetSyn("master")<CR>
@@ -156,12 +167,15 @@ an 50.40.240 &Syntax.FG.Gedcom :cal SetSyn("gedcom")<CR>
 an 50.40.250 &Syntax.FG.Gkrellmrc :cal SetSyn("gkrellmrc")<CR>
 an 50.40.260 &Syntax.FG.GP :cal SetSyn("gp")<CR>
 an 50.40.270 &Syntax.FG.GPG :cal SetSyn("gpg")<CR>
-an 50.40.280 &Syntax.FG.Grub :cal SetSyn("grub")<CR>
-an 50.40.290 &Syntax.FG.GNU\ Server\ Pages :cal SetSyn("gsp")<CR>
-an 50.40.300 &Syntax.FG.GNUplot :cal SetSyn("gnuplot")<CR>
-an 50.40.310 &Syntax.FG.GrADS\ scripts :cal SetSyn("grads")<CR>
-an 50.40.320 &Syntax.FG.Groff :cal SetSyn("groff")<CR>
-an 50.40.330 &Syntax.FG.GTKrc :cal SetSyn("gtkrc")<CR>
+an 50.40.280 &Syntax.FG.Group\ file :cal SetSyn("group")<CR>
+an 50.40.290 &Syntax.FG.Grub :cal SetSyn("grub")<CR>
+an 50.40.300 &Syntax.FG.GNU\ Server\ Pages :cal SetSyn("gsp")<CR>
+an 50.40.310 &Syntax.FG.GNUplot :cal SetSyn("gnuplot")<CR>
+an 50.40.320 &Syntax.FG.GrADS\ scripts :cal SetSyn("grads")<CR>
+an 50.40.330 &Syntax.FG.Gretl :cal SetSyn("gretl")<CR>
+an 50.40.340 &Syntax.FG.Groff :cal SetSyn("groff")<CR>
+an 50.40.350 &Syntax.FG.Groovy :cal SetSyn("groovy")<CR>
+an 50.40.360 &Syntax.FG.GTKrc :cal SetSyn("gtkrc")<CR>
 an 50.50.100 &Syntax.HIJK.Haskell.Haskell :cal SetSyn("haskell")<CR>
 an 50.50.110 &Syntax.HIJK.Haskell.Haskell-c2hs :cal SetSyn("chaskell")<CR>
 an 50.50.120 &Syntax.HIJK.Haskell.Haskell-literate :cal SetSyn("lhaskell")<CR>
@@ -170,168 +184,192 @@ an 50.50.140 &Syntax.HIJK.Hex\ dump.XXD :cal SetSyn("xxd")<CR>
 an 50.50.150 &Syntax.HIJK.Hex\ dump.Intel\ MCS51 :cal SetSyn("hex")<CR>
 an 50.50.160 &Syntax.HIJK.HTML.HTML :cal SetSyn("html")<CR>
 an 50.50.170 &Syntax.HIJK.HTML.HTML\ with\ M4 :cal SetSyn("htmlm4")<CR>
-an 50.50.180 &Syntax.HIJK.HTML.Cheetah\ HTML\ template :cal SetSyn("htmlcheetah")<CR>
-an 50.50.190 &Syntax.HIJK.HTML.HTML/OS :cal SetSyn("htmlos")<CR>
-an 50.50.200 &Syntax.HIJK.HTML.XHTML :cal SetSyn("xhtml")<CR>
-an 50.50.210 &Syntax.HIJK.Hyper\ Builder :cal SetSyn("hb")<CR>
-an 50.50.230 &Syntax.HIJK.Icewm\ menu :cal SetSyn("icemenu")<CR>
-an 50.50.240 &Syntax.HIJK.Icon :cal SetSyn("icon")<CR>
-an 50.50.250 &Syntax.HIJK.IDL\Generic\ IDL :cal SetSyn("idl")<CR>
-an 50.50.260 &Syntax.HIJK.IDL\Microsoft\ IDL :cal SetSyn("msidl")<CR>
-an 50.50.270 &Syntax.HIJK.Indent\ profile :cal SetSyn("indent")<CR>
-an 50.50.280 &Syntax.HIJK.Inform :cal SetSyn("inform")<CR>
-an 50.50.290 &Syntax.HIJK.Informix\ 4GL :cal SetSyn("fgl")<CR>
-an 50.50.300 &Syntax.HIJK.Inittab :cal SetSyn("inittab")<CR>
-an 50.50.310 &Syntax.HIJK.Inno\ setup :cal SetSyn("iss")<CR>
-an 50.50.320 &Syntax.HIJK.InstallShield\ script :cal SetSyn("ishd")<CR>
-an 50.50.330 &Syntax.HIJK.Interactive\ Data\ Lang :cal SetSyn("idlang")<CR>
-an 50.50.340 &Syntax.HIJK.IPfilter :cal SetSyn("ipfilter")<CR>
-an 50.50.360 &Syntax.HIJK.JAL :cal SetSyn("jal")<CR>
-an 50.50.370 &Syntax.HIJK.JAM :cal SetSyn("jam")<CR>
-an 50.50.380 &Syntax.HIJK.Jargon :cal SetSyn("jargon")<CR>
-an 50.50.390 &Syntax.HIJK.Java.Java :cal SetSyn("java")<CR>
-an 50.50.400 &Syntax.HIJK.Java.JavaCC :cal SetSyn("javacc")<CR>
-an 50.50.410 &Syntax.HIJK.Java.Java\ Server\ Pages :cal SetSyn("jsp")<CR>
-an 50.50.420 &Syntax.HIJK.Java.Java\ Properties :cal SetSyn("jproperties")<CR>
-an 50.50.430 &Syntax.HIJK.JavaScript :cal SetSyn("javascript")<CR>
-an 50.50.440 &Syntax.HIJK.Jess :cal SetSyn("jess")<CR>
-an 50.50.450 &Syntax.HIJK.Jgraph :cal SetSyn("jgraph")<CR>
-an 50.50.470 &Syntax.HIJK.KDE\ script :cal SetSyn("kscript")<CR>
-an 50.50.480 &Syntax.HIJK.Kimwitu++ :cal SetSyn("kwt")<CR>
-an 50.50.490 &Syntax.HIJK.KixTart :cal SetSyn("kix")<CR>
+an 50.50.180 &Syntax.HIJK.HTML.HTML\ with\ Ruby\ (eRuby) :cal SetSyn("eruby")<CR>
+an 50.50.190 &Syntax.HIJK.HTML.Cheetah\ HTML\ template :cal SetSyn("htmlcheetah")<CR>
+an 50.50.200 &Syntax.HIJK.HTML.Django\ HTML\ template :cal SetSyn("htmldjango")<CR>
+an 50.50.210 &Syntax.HIJK.HTML.HTML/OS :cal SetSyn("htmlos")<CR>
+an 50.50.220 &Syntax.HIJK.HTML.XHTML :cal SetSyn("xhtml")<CR>
+an 50.50.230 &Syntax.HIJK.Hyper\ Builder :cal SetSyn("hb")<CR>
+an 50.50.250 &Syntax.HIJK.Icewm\ menu :cal SetSyn("icemenu")<CR>
+an 50.50.260 &Syntax.HIJK.Icon :cal SetSyn("icon")<CR>
+an 50.50.270 &Syntax.HIJK.IDL\Generic\ IDL :cal SetSyn("idl")<CR>
+an 50.50.280 &Syntax.HIJK.IDL\Microsoft\ IDL :cal SetSyn("msidl")<CR>
+an 50.50.290 &Syntax.HIJK.Indent\ profile :cal SetSyn("indent")<CR>
+an 50.50.300 &Syntax.HIJK.Inform :cal SetSyn("inform")<CR>
+an 50.50.310 &Syntax.HIJK.Informix\ 4GL :cal SetSyn("fgl")<CR>
+an 50.50.320 &Syntax.HIJK.Inittab :cal SetSyn("inittab")<CR>
+an 50.50.330 &Syntax.HIJK.Inno\ setup :cal SetSyn("iss")<CR>
+an 50.50.340 &Syntax.HIJK.InstallShield\ script :cal SetSyn("ishd")<CR>
+an 50.50.350 &Syntax.HIJK.Interactive\ Data\ Lang :cal SetSyn("idlang")<CR>
+an 50.50.360 &Syntax.HIJK.IPfilter :cal SetSyn("ipfilter")<CR>
+an 50.50.380 &Syntax.HIJK.JAL :cal SetSyn("jal")<CR>
+an 50.50.390 &Syntax.HIJK.JAM :cal SetSyn("jam")<CR>
+an 50.50.400 &Syntax.HIJK.Jargon :cal SetSyn("jargon")<CR>
+an 50.50.410 &Syntax.HIJK.Java.Java :cal SetSyn("java")<CR>
+an 50.50.420 &Syntax.HIJK.Java.JavaCC :cal SetSyn("javacc")<CR>
+an 50.50.430 &Syntax.HIJK.Java.Java\ Server\ Pages :cal SetSyn("jsp")<CR>
+an 50.50.440 &Syntax.HIJK.Java.Java\ Properties :cal SetSyn("jproperties")<CR>
+an 50.50.450 &Syntax.HIJK.JavaScript :cal SetSyn("javascript")<CR>
+an 50.50.460 &Syntax.HIJK.Jess :cal SetSyn("jess")<CR>
+an 50.50.470 &Syntax.HIJK.Jgraph :cal SetSyn("jgraph")<CR>
+an 50.50.490 &Syntax.HIJK.KDE\ script :cal SetSyn("kscript")<CR>
+an 50.50.500 &Syntax.HIJK.Kimwitu++ :cal SetSyn("kwt")<CR>
+an 50.50.510 &Syntax.HIJK.KixTart :cal SetSyn("kix")<CR>
 an 50.60.100 &Syntax.L-Ma.Lace :cal SetSyn("lace")<CR>
 an 50.60.110 &Syntax.L-Ma.LamdaProlog :cal SetSyn("lprolog")<CR>
 an 50.60.120 &Syntax.L-Ma.Latte :cal SetSyn("latte")<CR>
-an 50.60.130 &Syntax.L-Ma.LDAP\ LDIF :cal SetSyn("ldif")<CR>
-an 50.60.140 &Syntax.L-Ma.Lex :cal SetSyn("lex")<CR>
-an 50.60.150 &Syntax.L-Ma.LFTP\ config :cal SetSyn("lftp")<CR>
-an 50.60.160 &Syntax.L-Ma.Libao :cal SetSyn("libao")<CR>
-an 50.60.170 &Syntax.L-Ma.LifeLines\ script :cal SetSyn("lifelines")<CR>
-an 50.60.180 &Syntax.L-Ma.Lilo :cal SetSyn("lilo")<CR>
-an 50.60.190 &Syntax.L-Ma.Lisp :cal SetSyn("lisp")<CR>
-an 50.60.200 &Syntax.L-Ma.Lite :cal SetSyn("lite")<CR>
-an 50.60.210 &Syntax.L-Ma.Locale\ Input :cal SetSyn("fdcc")<CR>
-an 50.60.220 &Syntax.L-Ma.Logtalk :cal SetSyn("logtalk")<CR>
-an 50.60.230 &Syntax.L-Ma.LOTOS :cal SetSyn("lotos")<CR>
-an 50.60.240 &Syntax.L-Ma.LotusScript :cal SetSyn("lscript")<CR>
-an 50.60.250 &Syntax.L-Ma.Lout :cal SetSyn("lout")<CR>
-an 50.60.260 &Syntax.L-Ma.LPC :cal SetSyn("lpc")<CR>
-an 50.60.270 &Syntax.L-Ma.Lua :cal SetSyn("lua")<CR>
-an 50.60.280 &Syntax.L-Ma.Lynx\ Style :cal SetSyn("lss")<CR>
-an 50.60.290 &Syntax.L-Ma.Lynx\ config :cal SetSyn("lynx")<CR>
-an 50.60.310 &Syntax.L-Ma.M4 :cal SetSyn("m4")<CR>
-an 50.60.320 &Syntax.L-Ma.MaGic\ Point :cal SetSyn("mgp")<CR>
-an 50.60.330 &Syntax.L-Ma.Mail :cal SetSyn("mail")<CR>
-an 50.60.340 &Syntax.L-Ma.Mailcap :cal SetSyn("mailcap")<CR>
-an 50.60.350 &Syntax.L-Ma.Makefile :cal SetSyn("make")<CR>
-an 50.60.360 &Syntax.L-Ma.MakeIndex :cal SetSyn("ist")<CR>
-an 50.60.370 &Syntax.L-Ma.Man\ page :cal SetSyn("man")<CR>
-an 50.60.380 &Syntax.L-Ma.Maple\ V :cal SetSyn("maple")<CR>
-an 50.60.390 &Syntax.L-Ma.Mason :cal SetSyn("mason")<CR>
-an 50.60.400 &Syntax.L-Ma.Mathematica :cal SetSyn("mma")<CR>
-an 50.60.410 &Syntax.L-Ma.Matlab :cal SetSyn("matlab")<CR>
+an 50.60.130 &Syntax.L-Ma.Ld\ script :cal SetSyn("ld")<CR>
+an 50.60.140 &Syntax.L-Ma.LDAP\ LDIF :cal SetSyn("ldif")<CR>
+an 50.60.150 &Syntax.L-Ma.Lex :cal SetSyn("lex")<CR>
+an 50.60.160 &Syntax.L-Ma.LFTP\ config :cal SetSyn("lftp")<CR>
+an 50.60.170 &Syntax.L-Ma.Libao :cal SetSyn("libao")<CR>
+an 50.60.180 &Syntax.L-Ma.LifeLines\ script :cal SetSyn("lifelines")<CR>
+an 50.60.190 &Syntax.L-Ma.Lilo :cal SetSyn("lilo")<CR>
+an 50.60.200 &Syntax.L-Ma.Limits\ config :cal SetSyn("limits")<CR>
+an 50.60.210 &Syntax.L-Ma.Lisp :cal SetSyn("lisp")<CR>
+an 50.60.220 &Syntax.L-Ma.Lite :cal SetSyn("lite")<CR>
+an 50.60.230 &Syntax.L-Ma.Locale\ Input :cal SetSyn("fdcc")<CR>
+an 50.60.240 &Syntax.L-Ma.Login\.access :cal SetSyn("loginaccess")<CR>
+an 50.60.250 &Syntax.L-Ma.Login\.defs :cal SetSyn("logindefs")<CR>
+an 50.60.260 &Syntax.L-Ma.Logtalk :cal SetSyn("logtalk")<CR>
+an 50.60.270 &Syntax.L-Ma.LOTOS :cal SetSyn("lotos")<CR>
+an 50.60.280 &Syntax.L-Ma.LotusScript :cal SetSyn("lscript")<CR>
+an 50.60.290 &Syntax.L-Ma.Lout :cal SetSyn("lout")<CR>
+an 50.60.300 &Syntax.L-Ma.LPC :cal SetSyn("lpc")<CR>
+an 50.60.310 &Syntax.L-Ma.Lua :cal SetSyn("lua")<CR>
+an 50.60.320 &Syntax.L-Ma.Lynx\ Style :cal SetSyn("lss")<CR>
+an 50.60.330 &Syntax.L-Ma.Lynx\ config :cal SetSyn("lynx")<CR>
+an 50.60.350 &Syntax.L-Ma.M4 :cal SetSyn("m4")<CR>
+an 50.60.360 &Syntax.L-Ma.MaGic\ Point :cal SetSyn("mgp")<CR>
+an 50.60.370 &Syntax.L-Ma.Mail :cal SetSyn("mail")<CR>
+an 50.60.380 &Syntax.L-Ma.Mailcap :cal SetSyn("mailcap")<CR>
+an 50.60.390 &Syntax.L-Ma.Makefile :cal SetSyn("make")<CR>
+an 50.60.400 &Syntax.L-Ma.MakeIndex :cal SetSyn("ist")<CR>
+an 50.60.410 &Syntax.L-Ma.Man\ page :cal SetSyn("man")<CR>
+an 50.60.420 &Syntax.L-Ma.Man\.conf :cal SetSyn("manconf")<CR>
+an 50.60.430 &Syntax.L-Ma.Maple\ V :cal SetSyn("maple")<CR>
+an 50.60.440 &Syntax.L-Ma.Mason :cal SetSyn("mason")<CR>
+an 50.60.450 &Syntax.L-Ma.Mathematica :cal SetSyn("mma")<CR>
+an 50.60.460 &Syntax.L-Ma.Matlab :cal SetSyn("matlab")<CR>
 an 50.70.100 &Syntax.Me-NO.MEL\ (for\ Maya) :cal SetSyn("mel")<CR>
 an 50.70.110 &Syntax.Me-NO.Metafont :cal SetSyn("mf")<CR>
 an 50.70.120 &Syntax.Me-NO.MetaPost :cal SetSyn("mp")<CR>
-an 50.70.130 &Syntax.Me-NO.MMIX :cal SetSyn("mmix")<CR>
-an 50.70.140 &Syntax.Me-NO.Modconf :cal SetSyn("modconf")<CR>
-an 50.70.150 &Syntax.Me-NO.Model :cal SetSyn("model")<CR>
-an 50.70.160 &Syntax.Me-NO.Modsim\ III :cal SetSyn("modsim3")<CR>
-an 50.70.170 &Syntax.Me-NO.Modula\ 2 :cal SetSyn("modula2")<CR>
-an 50.70.180 &Syntax.Me-NO.Modula\ 3 :cal SetSyn("modula3")<CR>
-an 50.70.190 &Syntax.Me-NO.Monk :cal SetSyn("monk")<CR>
-an 50.70.200 &Syntax.Me-NO.Mplayer\ config :cal SetSyn("mplayerconf")<CR>
-an 50.70.210 &Syntax.Me-NO.MOO :cal SetSyn("moo")<CR>
-an 50.70.220 &Syntax.Me-NO.MS-DOS/Windows.4DOS\ \.bat\ file :cal SetSyn("btm")<CR>
-an 50.70.230 &Syntax.Me-NO.MS-DOS/Windows.\.bat\/\.cmd\ file :cal SetSyn("dosbatch")<CR>
-an 50.70.240 &Syntax.Me-NO.MS-DOS/Windows.\.ini\ file :cal SetSyn("dosini")<CR>
-an 50.70.250 &Syntax.Me-NO.MS-DOS/Windows.Module\ Definition :cal SetSyn("def")<CR>
-an 50.70.260 &Syntax.Me-NO.MS-DOS/Windows.Registry :cal SetSyn("registry")<CR>
-an 50.70.270 &Syntax.Me-NO.MS-DOS/Windows.Resource\ file :cal SetSyn("rc")<CR>
-an 50.70.280 &Syntax.Me-NO.Msql :cal SetSyn("msql")<CR>
-an 50.70.290 &Syntax.Me-NO.MUSHcode :cal SetSyn("mush")<CR>
-an 50.70.300 &Syntax.Me-NO.Muttrc :cal SetSyn("muttrc")<CR>
-an 50.70.320 &Syntax.Me-NO.Nastran\ input/DMAP :cal SetSyn("nastran")<CR>
-an 50.70.330 &Syntax.Me-NO.Natural :cal SetSyn("natural")<CR>
-an 50.70.340 &Syntax.Me-NO.Novell\ NCF\ batch :cal SetSyn("ncf")<CR>
-an 50.70.350 &Syntax.Me-NO.Not\ Quite\ C\ (LEGO) :cal SetSyn("nqc")<CR>
-an 50.70.360 &Syntax.Me-NO.Nroff :cal SetSyn("nroff")<CR>
-an 50.70.370 &Syntax.Me-NO.NSIS\ script :cal SetSyn("nsis")<CR>
-an 50.70.390 &Syntax.Me-NO.Objective\ C :cal SetSyn("objc")<CR>
-an 50.70.400 &Syntax.Me-NO.Objective\ C++ :cal SetSyn("objcpp")<CR>
-an 50.70.410 &Syntax.Me-NO.OCAML :cal SetSyn("ocaml")<CR>
-an 50.70.420 &Syntax.Me-NO.Occam :cal SetSyn("occam")<CR>
-an 50.70.430 &Syntax.Me-NO.Omnimark :cal SetSyn("omnimark")<CR>
-an 50.70.440 &Syntax.Me-NO.OpenROAD :cal SetSyn("openroad")<CR>
-an 50.70.450 &Syntax.Me-NO.Open\ Psion\ Lang :cal SetSyn("opl")<CR>
-an 50.70.460 &Syntax.Me-NO.Oracle\ config :cal SetSyn("ora")<CR>
-an 50.80.100 &Syntax.PQ.Palm\ resource\ compiler :cal SetSyn("pilrc")<CR>
-an 50.80.110 &Syntax.PQ.Packet\ filter\ conf :cal SetSyn("pf")<CR>
-an 50.80.120 &Syntax.PQ.PApp :cal SetSyn("papp")<CR>
-an 50.80.130 &Syntax.PQ.Pascal :cal SetSyn("pascal")<CR>
-an 50.80.140 &Syntax.PQ.PCCTS :cal SetSyn("pccts")<CR>
-an 50.80.150 &Syntax.PQ.PPWizard :cal SetSyn("ppwiz")<CR>
-an 50.80.160 &Syntax.PQ.Perl.Perl :cal SetSyn("perl")<CR>
-an 50.80.170 &Syntax.PQ.Perl.Perl\ POD :cal SetSyn("pod")<CR>
-an 50.80.180 &Syntax.PQ.Perl.Perl\ XS :cal SetSyn("xs")<CR>
-an 50.80.190 &Syntax.PQ.PHP.PHP\ 3-4 :cal SetSyn("php")<CR>
-an 50.80.200 &Syntax.PQ.PHP.Phtml\ (PHP\ 2) :cal SetSyn("phtml")<CR>
-an 50.80.210 &Syntax.PQ.Pike :cal SetSyn("pike")<CR>
-an 50.80.220 &Syntax.PQ.Pine\ RC :cal SetSyn("pine")<CR>
-an 50.80.230 &Syntax.PQ.Pinfo\ RC :cal SetSyn("pinfo")<CR>
-an 50.80.240 &Syntax.PQ.PL/M :cal SetSyn("plm")<CR>
-an 50.80.250 &Syntax.PQ.PLP :cal SetSyn("plp")<CR>
-an 50.80.260 &Syntax.PQ.PO\ (GNU\ gettext) :cal SetSyn("po")<CR>
-an 50.80.270 &Syntax.PQ.Postfix\ main\ config :cal SetSyn("pfmain")<CR>
-an 50.80.280 &Syntax.PQ.PostScript.PostScript :cal SetSyn("postscr")<CR>
-an 50.80.290 &Syntax.PQ.PostScript.PostScript\ Printer\ Description :cal SetSyn("ppd")<CR>
-an 50.80.300 &Syntax.PQ.Povray.Povray\ scene\ descr :cal SetSyn("pov")<CR>
-an 50.80.310 &Syntax.PQ.Povray.Povray\ configuration :cal SetSyn("povini")<CR>
-an 50.80.320 &Syntax.PQ.Printcap :cal SetSyn("pcap")<CR>
-an 50.80.330 &Syntax.PQ.Procmail :cal SetSyn("procmail")<CR>
-an 50.80.340 &Syntax.PQ.Product\ Spec\ File :cal SetSyn("psf")<CR>
-an 50.80.350 &Syntax.PQ.Progress :cal SetSyn("progress")<CR>
-an 50.80.360 &Syntax.PQ.Prolog :cal SetSyn("prolog")<CR>
-an 50.80.370 &Syntax.PQ.Purify\ log :cal SetSyn("purifylog")<CR>
-an 50.80.380 &Syntax.PQ.Pyrex :cal SetSyn("pyrex")<CR>
-an 50.80.390 &Syntax.PQ.Python :cal SetSyn("python")<CR>
-an 50.80.410 &Syntax.PQ.Quake :cal SetSyn("quake")<CR>
-an 50.80.420 &Syntax.PQ.Quickfix\ window :cal SetSyn("qf")<CR>
+an 50.70.130 &Syntax.Me-NO.MGL :cal SetSyn("mgl")<CR>
+an 50.70.140 &Syntax.Me-NO.MMIX :cal SetSyn("mmix")<CR>
+an 50.70.150 &Syntax.Me-NO.Modconf :cal SetSyn("modconf")<CR>
+an 50.70.160 &Syntax.Me-NO.Model :cal SetSyn("model")<CR>
+an 50.70.170 &Syntax.Me-NO.Modsim\ III :cal SetSyn("modsim3")<CR>
+an 50.70.180 &Syntax.Me-NO.Modula\ 2 :cal SetSyn("modula2")<CR>
+an 50.70.190 &Syntax.Me-NO.Modula\ 3 :cal SetSyn("modula3")<CR>
+an 50.70.200 &Syntax.Me-NO.Monk :cal SetSyn("monk")<CR>
+an 50.70.210 &Syntax.Me-NO.Mplayer\ config :cal SetSyn("mplayerconf")<CR>
+an 50.70.220 &Syntax.Me-NO.MOO :cal SetSyn("moo")<CR>
+an 50.70.230 &Syntax.Me-NO.MS-DOS/Windows.4DOS\ \.bat\ file :cal SetSyn("btm")<CR>
+an 50.70.240 &Syntax.Me-NO.MS-DOS/Windows.\.bat\/\.cmd\ file :cal SetSyn("dosbatch")<CR>
+an 50.70.250 &Syntax.Me-NO.MS-DOS/Windows.\.ini\ file :cal SetSyn("dosini")<CR>
+an 50.70.260 &Syntax.Me-NO.MS-DOS/Windows.Module\ Definition :cal SetSyn("def")<CR>
+an 50.70.270 &Syntax.Me-NO.MS-DOS/Windows.Registry :cal SetSyn("registry")<CR>
+an 50.70.280 &Syntax.Me-NO.MS-DOS/Windows.Resource\ file :cal SetSyn("rc")<CR>
+an 50.70.290 &Syntax.Me-NO.Msql :cal SetSyn("msql")<CR>
+an 50.70.300 &Syntax.Me-NO.MuPAD :cal SetSyn("mupad")<CR>
+an 50.70.310 &Syntax.Me-NO.MUSHcode :cal SetSyn("mush")<CR>
+an 50.70.320 &Syntax.Me-NO.Muttrc :cal SetSyn("muttrc")<CR>
+an 50.70.340 &Syntax.Me-NO.Nanorc :cal SetSyn("nanorc")<CR>
+an 50.70.350 &Syntax.Me-NO.Nastran\ input/DMAP :cal SetSyn("nastran")<CR>
+an 50.70.360 &Syntax.Me-NO.Natural :cal SetSyn("natural")<CR>
+an 50.70.370 &Syntax.Me-NO.Netrc :cal SetSyn("netrc")<CR>
+an 50.70.380 &Syntax.Me-NO.Novell\ NCF\ batch :cal SetSyn("ncf")<CR>
+an 50.70.390 &Syntax.Me-NO.Not\ Quite\ C\ (LEGO) :cal SetSyn("nqc")<CR>
+an 50.70.400 &Syntax.Me-NO.Nroff :cal SetSyn("nroff")<CR>
+an 50.70.410 &Syntax.Me-NO.NSIS\ script :cal SetSyn("nsis")<CR>
+an 50.70.430 &Syntax.Me-NO.Objective\ C :cal SetSyn("objc")<CR>
+an 50.70.440 &Syntax.Me-NO.Objective\ C++ :cal SetSyn("objcpp")<CR>
+an 50.70.450 &Syntax.Me-NO.OCAML :cal SetSyn("ocaml")<CR>
+an 50.70.460 &Syntax.Me-NO.Occam :cal SetSyn("occam")<CR>
+an 50.70.470 &Syntax.Me-NO.Omnimark :cal SetSyn("omnimark")<CR>
+an 50.70.480 &Syntax.Me-NO.OpenROAD :cal SetSyn("openroad")<CR>
+an 50.70.490 &Syntax.Me-NO.Open\ Psion\ Lang :cal SetSyn("opl")<CR>
+an 50.70.500 &Syntax.Me-NO.Oracle\ config :cal SetSyn("ora")<CR>
+an 50.80.100 &Syntax.PQ.Packet\ filter\ conf :cal SetSyn("pf")<CR>
+an 50.80.110 &Syntax.PQ.Palm\ resource\ compiler :cal SetSyn("pilrc")<CR>
+an 50.80.120 &Syntax.PQ.Pam\ config :cal SetSyn("pamconf")<CR>
+an 50.80.130 &Syntax.PQ.PApp :cal SetSyn("papp")<CR>
+an 50.80.140 &Syntax.PQ.Pascal :cal SetSyn("pascal")<CR>
+an 50.80.150 &Syntax.PQ.Password\ file :cal SetSyn("passwd")<CR>
+an 50.80.160 &Syntax.PQ.PCCTS :cal SetSyn("pccts")<CR>
+an 50.80.170 &Syntax.PQ.PPWizard :cal SetSyn("ppwiz")<CR>
+an 50.80.180 &Syntax.PQ.Perl.Perl :cal SetSyn("perl")<CR>
+an 50.80.190 &Syntax.PQ.Perl.Perl\ POD :cal SetSyn("pod")<CR>
+an 50.80.200 &Syntax.PQ.Perl.Perl\ XS :cal SetSyn("xs")<CR>
+an 50.80.210 &Syntax.PQ.PHP.PHP\ 3-4 :cal SetSyn("php")<CR>
+an 50.80.220 &Syntax.PQ.PHP.Phtml\ (PHP\ 2) :cal SetSyn("phtml")<CR>
+an 50.80.230 &Syntax.PQ.Pike :cal SetSyn("pike")<CR>
+an 50.80.240 &Syntax.PQ.Pine\ RC :cal SetSyn("pine")<CR>
+an 50.80.250 &Syntax.PQ.Pinfo\ RC :cal SetSyn("pinfo")<CR>
+an 50.80.260 &Syntax.PQ.PL/M :cal SetSyn("plm")<CR>
+an 50.80.270 &Syntax.PQ.PL/SQL :cal SetSyn("plsql")<CR>
+an 50.80.280 &Syntax.PQ.PLP :cal SetSyn("plp")<CR>
+an 50.80.290 &Syntax.PQ.PO\ (GNU\ gettext) :cal SetSyn("po")<CR>
+an 50.80.300 &Syntax.PQ.Postfix\ main\ config :cal SetSyn("pfmain")<CR>
+an 50.80.310 &Syntax.PQ.PostScript.PostScript :cal SetSyn("postscr")<CR>
+an 50.80.320 &Syntax.PQ.PostScript.PostScript\ Printer\ Description :cal SetSyn("ppd")<CR>
+an 50.80.330 &Syntax.PQ.Povray.Povray\ scene\ descr :cal SetSyn("pov")<CR>
+an 50.80.340 &Syntax.PQ.Povray.Povray\ configuration :cal SetSyn("povini")<CR>
+an 50.80.350 &Syntax.PQ.Prescribe\ (Kyocera) :cal SetSyn("prescribe")<CR>
+an 50.80.360 &Syntax.PQ.Printcap :cal SetSyn("pcap")<CR>
+an 50.80.370 &Syntax.PQ.Procmail :cal SetSyn("procmail")<CR>
+an 50.80.380 &Syntax.PQ.Product\ Spec\ File :cal SetSyn("psf")<CR>
+an 50.80.390 &Syntax.PQ.Progress :cal SetSyn("progress")<CR>
+an 50.80.400 &Syntax.PQ.Prolog :cal SetSyn("prolog")<CR>
+an 50.80.410 &Syntax.PQ.Protocols :cal SetSyn("protocols")<CR>
+an 50.80.420 &Syntax.PQ.Purify\ log :cal SetSyn("purifylog")<CR>
+an 50.80.430 &Syntax.PQ.Pyrex :cal SetSyn("pyrex")<CR>
+an 50.80.440 &Syntax.PQ.Python :cal SetSyn("python")<CR>
+an 50.80.460 &Syntax.PQ.Quake :cal SetSyn("quake")<CR>
+an 50.80.470 &Syntax.PQ.Quickfix\ window :cal SetSyn("qf")<CR>
 an 50.90.100 &Syntax.R-Sg.R :cal SetSyn("r")<CR>
-an 50.90.110 &Syntax.R-Sg.Radiance :cal SetSyn("radiance")<CR>
-an 50.90.120 &Syntax.R-Sg.Ratpoison :cal SetSyn("ratpoison")<CR>
-an 50.90.130 &Syntax.R-Sg.RCS.RCS\ log\ output :cal SetSyn("rcslog")<CR>
-an 50.90.140 &Syntax.R-Sg.RCS.RCS\ file :cal SetSyn("rcs")<CR>
-an 50.90.150 &Syntax.R-Sg.Readline\ config :cal SetSyn("readline")<CR>
-an 50.90.160 &Syntax.R-Sg.Rebol :cal SetSyn("rebol")<CR>
-an 50.90.170 &Syntax.R-Sg.Remind :cal SetSyn("remind")<CR>
-an 50.90.180 &Syntax.R-Sg.Relax\ NG\ compact :cal SetSyn("rnc")<CR>
-an 50.90.190 &Syntax.R-Sg.Renderman.Renderman\ Shader\ Lang :cal SetSyn("sl")<CR>
-an 50.90.200 &Syntax.R-Sg.Renderman.Renderman\ Interface\ Bytestream :cal SetSyn("rib")<CR>
-an 50.90.210 &Syntax.R-Sg.Resolv\.conf :cal SetSyn("resolv")<CR>
-an 50.90.220 &Syntax.R-Sg.Rexx :cal SetSyn("rexx")<CR>
-an 50.90.230 &Syntax.R-Sg.Robots\.txt :cal SetSyn("robots")<CR>
-an 50.90.240 &Syntax.R-Sg.RockLinux\ package\ desc\. :cal SetSyn("desc")<CR>
-an 50.90.250 &Syntax.R-Sg.Rpcgen :cal SetSyn("rpcgen")<CR>
-an 50.90.260 &Syntax.R-Sg.RPL/2 :cal SetSyn("rpl")<CR>
-an 50.90.270 &Syntax.R-Sg.ReStructuredText :cal SetSyn("rst")<CR>
-an 50.90.280 &Syntax.R-Sg.RTF :cal SetSyn("rtf")<CR>
-an 50.90.290 &Syntax.R-Sg.Ruby :cal SetSyn("ruby")<CR>
-an 50.90.310 &Syntax.R-Sg.S-Lang :cal SetSyn("slang")<CR>
-an 50.90.320 &Syntax.R-Sg.Samba\ config :cal SetSyn("samba")<CR>
-an 50.90.330 &Syntax.R-Sg.SAS :cal SetSyn("sas")<CR>
-an 50.90.340 &Syntax.R-Sg.Sather :cal SetSyn("sather")<CR>
-an 50.90.350 &Syntax.R-Sg.Scheme :cal SetSyn("scheme")<CR>
-an 50.90.360 &Syntax.R-Sg.Scilab :cal SetSyn("scilab")<CR>
-an 50.90.370 &Syntax.R-Sg.Screen\ RC :cal SetSyn("screen")<CR>
-an 50.90.380 &Syntax.R-Sg.SDL :cal SetSyn("sdl")<CR>
-an 50.90.390 &Syntax.R-Sg.Sed :cal SetSyn("sed")<CR>
-an 50.90.400 &Syntax.R-Sg.Sendmail\.cf :cal SetSyn("sm")<CR>
-an 50.90.410 &Syntax.R-Sg.Send-pr :cal SetSyn("sendpr")<CR>
-an 50.90.420 &Syntax.R-Sg.SGML.SGML\ catalog :cal SetSyn("catalog")<CR>
-an 50.90.430 &Syntax.R-Sg.SGML.SGML\ DTD :cal SetSyn("sgml")<CR>
-an 50.90.440 &Syntax.R-Sg.SGML.SGML\ Declaration :cal SetSyn("sgmldecl")<CR>
-an 50.90.450 &Syntax.R-Sg.SGML.SGML-linuxdoc :cal SetSyn("sgmllnx")<CR>
+an 50.90.110 &Syntax.R-Sg.R\ help :cal SetSyn("rhelp")<CR>
+an 50.90.120 &Syntax.R-Sg.Racc\ input :cal SetSyn("racc")<CR>
+an 50.90.130 &Syntax.R-Sg.Radiance :cal SetSyn("radiance")<CR>
+an 50.90.140 &Syntax.R-Sg.Ratpoison :cal SetSyn("ratpoison")<CR>
+an 50.90.150 &Syntax.R-Sg.RCS.RCS\ log\ output :cal SetSyn("rcslog")<CR>
+an 50.90.160 &Syntax.R-Sg.RCS.RCS\ file :cal SetSyn("rcs")<CR>
+an 50.90.170 &Syntax.R-Sg.Readline\ config :cal SetSyn("readline")<CR>
+an 50.90.180 &Syntax.R-Sg.Rebol :cal SetSyn("rebol")<CR>
+an 50.90.190 &Syntax.R-Sg.Remind :cal SetSyn("remind")<CR>
+an 50.90.200 &Syntax.R-Sg.Relax\ NG\ compact :cal SetSyn("rnc")<CR>
+an 50.90.210 &Syntax.R-Sg.Renderman.Renderman\ Shader\ Lang :cal SetSyn("sl")<CR>
+an 50.90.220 &Syntax.R-Sg.Renderman.Renderman\ Interface\ Bytestream :cal SetSyn("rib")<CR>
+an 50.90.230 &Syntax.R-Sg.Resolv\.conf :cal SetSyn("resolv")<CR>
+an 50.90.240 &Syntax.R-Sg.Rexx :cal SetSyn("rexx")<CR>
+an 50.90.250 &Syntax.R-Sg.Robots\.txt :cal SetSyn("robots")<CR>
+an 50.90.260 &Syntax.R-Sg.RockLinux\ package\ desc\. :cal SetSyn("desc")<CR>
+an 50.90.270 &Syntax.R-Sg.Rpcgen :cal SetSyn("rpcgen")<CR>
+an 50.90.280 &Syntax.R-Sg.RPL/2 :cal SetSyn("rpl")<CR>
+an 50.90.290 &Syntax.R-Sg.ReStructuredText :cal SetSyn("rst")<CR>
+an 50.90.300 &Syntax.R-Sg.RTF :cal SetSyn("rtf")<CR>
+an 50.90.310 &Syntax.R-Sg.Ruby :cal SetSyn("ruby")<CR>
+an 50.90.330 &Syntax.R-Sg.S-Lang :cal SetSyn("slang")<CR>
+an 50.90.340 &Syntax.R-Sg.Samba\ config :cal SetSyn("samba")<CR>
+an 50.90.350 &Syntax.R-Sg.SAS :cal SetSyn("sas")<CR>
+an 50.90.360 &Syntax.R-Sg.Sather :cal SetSyn("sather")<CR>
+an 50.90.370 &Syntax.R-Sg.Scheme :cal SetSyn("scheme")<CR>
+an 50.90.380 &Syntax.R-Sg.Scilab :cal SetSyn("scilab")<CR>
+an 50.90.390 &Syntax.R-Sg.Screen\ RC :cal SetSyn("screen")<CR>
+an 50.90.400 &Syntax.R-Sg.SDL :cal SetSyn("sdl")<CR>
+an 50.90.410 &Syntax.R-Sg.Sed :cal SetSyn("sed")<CR>
+an 50.90.420 &Syntax.R-Sg.Sendmail\.cf :cal SetSyn("sm")<CR>
+an 50.90.430 &Syntax.R-Sg.Send-pr :cal SetSyn("sendpr")<CR>
+an 50.90.440 &Syntax.R-Sg.Sensors\.conf :cal SetSyn("sensors")<CR>
+an 50.90.450 &Syntax.R-Sg.Service\ Location\ config :cal SetSyn("slpconf")<CR>
+an 50.90.460 &Syntax.R-Sg.Service\ Location\ registration :cal SetSyn("slpreg")<CR>
+an 50.90.470 &Syntax.R-Sg.Service\ Location\ SPI :cal SetSyn("slpspi")<CR>
+an 50.90.480 &Syntax.R-Sg.Services :cal SetSyn("services")<CR>
+an 50.90.490 &Syntax.R-Sg.Setserial\ config :cal SetSyn("setserial")<CR>
+an 50.90.500 &Syntax.R-Sg.SGML.SGML\ catalog :cal SetSyn("catalog")<CR>
+an 50.90.510 &Syntax.R-Sg.SGML.SGML\ DTD :cal SetSyn("sgml")<CR>
+an 50.90.520 &Syntax.R-Sg.SGML.SGML\ Declaration :cal SetSyn("sgmldecl")<CR>
+an 50.90.530 &Syntax.R-Sg.SGML.SGML-linuxdoc :cal SetSyn("sgmllnx")<CR>
 an 50.100.100 &Syntax.Sh-S.Shell\ script.sh\ and\ ksh :cal SetSyn("sh")<CR>
 an 50.100.110 &Syntax.Sh-S.Shell\ script.csh :cal SetSyn("csh")<CR>
 an 50.100.120 &Syntax.Sh-S.Shell\ script.tcsh :cal SetSyn("tcsh")<CR>
@@ -367,17 +405,21 @@ an 50.100.410 &Syntax.Sh-S.Squid\ config :cal SetSyn("squid")<CR>
 an 50.100.420 &Syntax.Sh-S.SQL.ESQL-C :cal SetSyn("esqlc")<CR>
 an 50.100.430 &Syntax.Sh-S.SQL.MySQL :cal SetSyn("mysql")<CR>
 an 50.100.440 &Syntax.Sh-S.SQL.PL/SQL :cal SetSyn("plsql")<CR>
-an 50.100.450 &Syntax.Sh-S.SQL.SQL\ (Oracle) :cal SetSyn("sql")<CR>
-an 50.100.460 &Syntax.Sh-S.SQL.SQL\ Forms :cal SetSyn("sqlforms")<CR>
-an 50.100.470 &Syntax.Sh-S.SQL.SQLJ :cal SetSyn("sqlj")<CR>
-an 50.100.480 &Syntax.Sh-S.SQL.SQL-Informix :cal SetSyn("sqlinformix")<CR>
-an 50.100.490 &Syntax.Sh-S.SQR :cal SetSyn("sqr")<CR>
-an 50.100.500 &Syntax.Sh-S.Ssh.ssh_config :cal SetSyn("sshconfig")<CR>
-an 50.100.510 &Syntax.Sh-S.Ssh.sshd_config :cal SetSyn("sshdconfig")<CR>
-an 50.100.520 &Syntax.Sh-S.Standard\ ML :cal SetSyn("sml")<CR>
-an 50.100.530 &Syntax.Sh-S.Stored\ Procedures :cal SetSyn("stp")<CR>
-an 50.100.540 &Syntax.Sh-S.Strace :cal SetSyn("strace")<CR>
-an 50.100.550 &Syntax.Sh-S.Subversion\ commit :cal SetSyn("svn")<CR>
+an 50.100.450 &Syntax.Sh-S.SQL.SQL\ Anywhere :cal SetSyn("sqlanywhere")<CR>
+an 50.100.460 &Syntax.Sh-S.SQL.SQL\ (automatic) :cal SetSyn("sql")<CR>
+an 50.100.470 &Syntax.Sh-S.SQL.SQL\ (Oracle) :cal SetSyn("sqloracle")<CR>
+an 50.100.480 &Syntax.Sh-S.SQL.SQL\ Forms :cal SetSyn("sqlforms")<CR>
+an 50.100.490 &Syntax.Sh-S.SQL.SQLJ :cal SetSyn("sqlj")<CR>
+an 50.100.500 &Syntax.Sh-S.SQL.SQL-Informix :cal SetSyn("sqlinformix")<CR>
+an 50.100.510 &Syntax.Sh-S.SQR :cal SetSyn("sqr")<CR>
+an 50.100.520 &Syntax.Sh-S.Ssh.ssh_config :cal SetSyn("sshconfig")<CR>
+an 50.100.530 &Syntax.Sh-S.Ssh.sshd_config :cal SetSyn("sshdconfig")<CR>
+an 50.100.540 &Syntax.Sh-S.Standard\ ML :cal SetSyn("sml")<CR>
+an 50.100.550 &Syntax.Sh-S.Stored\ Procedures :cal SetSyn("stp")<CR>
+an 50.100.560 &Syntax.Sh-S.Strace :cal SetSyn("strace")<CR>
+an 50.100.570 &Syntax.Sh-S.Subversion\ commit :cal SetSyn("svn")<CR>
+an 50.100.580 &Syntax.Sh-S.Sudoers :cal SetSyn("sudoers")<CR>
+an 50.100.590 &Syntax.Sh-S.Sysctl\.conf :cal SetSyn("sysctl")<CR>
 an 50.110.100 &Syntax.TUV.TADS :cal SetSyn("tads")<CR>
 an 50.110.110 &Syntax.TUV.Tags :cal SetSyn("tags")<CR>
 an 50.110.120 &Syntax.TUV.TAK.TAK\ compare :cal SetSyn("takcmp")<CR>
@@ -396,22 +438,28 @@ an 50.110.240 &Syntax.TUV.Tidy\ configuration :cal SetSyn("tidy")<CR>
 an 50.110.250 &Syntax.TUV.Tilde :cal SetSyn("tilde")<CR>
 an 50.110.260 &Syntax.TUV.TPP :cal SetSyn("tpp")<CR>
 an 50.110.270 &Syntax.TUV.Trasys\ input :cal SetSyn("trasys")<CR>
-an 50.110.280 &Syntax.TUV.TSS.Command\ Line :cal SetSyn("tsscl")<CR>
-an 50.110.290 &Syntax.TUV.TSS.Geometry :cal SetSyn("tssgm")<CR>
-an 50.110.300 &Syntax.TUV.TSS.Optics :cal SetSyn("tssop")<CR>
-an 50.110.320 &Syntax.TUV.UIT/UIL :cal SetSyn("uil")<CR>
-an 50.110.330 &Syntax.TUV.UnrealScript :cal SetSyn("uc")<CR>
-an 50.110.350 &Syntax.TUV.Valgrind :cal SetSyn("valgrind")<CR>
-an 50.110.360 &Syntax.TUV.Verilog\ HDL :cal SetSyn("verilog")<CR>
-an 50.110.370 &Syntax.TUV.Vgrindefs :cal SetSyn("vgrindefs")<CR>
-an 50.110.380 &Syntax.TUV.VHDL :cal SetSyn("vhdl")<CR>
-an 50.110.390 &Syntax.TUV.Vim.Vim\ help\ file :cal SetSyn("help")<CR>
-an 50.110.400 &Syntax.TUV.Vim.Vim\ script :cal SetSyn("vim")<CR>
-an 50.110.410 &Syntax.TUV.Vim.Viminfo\ file :cal SetSyn("viminfo")<CR>
-an 50.110.420 &Syntax.TUV.Virata\ config :cal SetSyn("virata")<CR>
-an 50.110.430 &Syntax.TUV.Visual\ Basic :cal SetSyn("vb")<CR>
-an 50.110.440 &Syntax.TUV.VRML :cal SetSyn("vrml")<CR>
-an 50.110.450 &Syntax.TUV.VSE\ JCL :cal SetSyn("vsejcl")<CR>
+an 50.110.280 &Syntax.TUV.Trustees :cal SetSyn("trustees")<CR>
+an 50.110.290 &Syntax.TUV.TSS.Command\ Line :cal SetSyn("tsscl")<CR>
+an 50.110.300 &Syntax.TUV.TSS.Geometry :cal SetSyn("tssgm")<CR>
+an 50.110.310 &Syntax.TUV.TSS.Optics :cal SetSyn("tssop")<CR>
+an 50.110.330 &Syntax.TUV.Udev\ config :cal SetSyn("udevconf")<CR>
+an 50.110.340 &Syntax.TUV.Udev\ permissions :cal SetSyn("udevperm")<CR>
+an 50.110.350 &Syntax.TUV.Udev\ rules :cal SetSyn("udevrules")<CR>
+an 50.110.360 &Syntax.TUV.UIT/UIL :cal SetSyn("uil")<CR>
+an 50.110.370 &Syntax.TUV.UnrealScript :cal SetSyn("uc")<CR>
+an 50.110.380 &Syntax.TUV.Updatedb\.conf :cal SetSyn("updatedb")<CR>
+an 50.110.400 &Syntax.TUV.Valgrind :cal SetSyn("valgrind")<CR>
+an 50.110.410 &Syntax.TUV.Verilog-AMS\ HDL :cal SetSyn("verilogams")<CR>
+an 50.110.420 &Syntax.TUV.Verilog\ HDL :cal SetSyn("verilog")<CR>
+an 50.110.430 &Syntax.TUV.Vgrindefs :cal SetSyn("vgrindefs")<CR>
+an 50.110.440 &Syntax.TUV.VHDL :cal SetSyn("vhdl")<CR>
+an 50.110.450 &Syntax.TUV.Vim.Vim\ help\ file :cal SetSyn("help")<CR>
+an 50.110.460 &Syntax.TUV.Vim.Vim\ script :cal SetSyn("vim")<CR>
+an 50.110.470 &Syntax.TUV.Vim.Viminfo\ file :cal SetSyn("viminfo")<CR>
+an 50.110.480 &Syntax.TUV.Virata\ config :cal SetSyn("virata")<CR>
+an 50.110.490 &Syntax.TUV.Visual\ Basic :cal SetSyn("vb")<CR>
+an 50.110.500 &Syntax.TUV.VRML :cal SetSyn("vrml")<CR>
+an 50.110.510 &Syntax.TUV.VSE\ JCL :cal SetSyn("vsejcl")<CR>
 an 50.120.100 &Syntax.WXYZ.WEB.CWEB :cal SetSyn("cweb")<CR>
 an 50.120.110 &Syntax.WXYZ.WEB.WEB :cal SetSyn("web")<CR>
 an 50.120.120 &Syntax.WXYZ.WEB.WEB\ Changes :cal SetSyn("change")<CR>
@@ -423,19 +471,22 @@ an 50.120.190 &Syntax.WXYZ.Whitespace\ (add) :cal SetSyn("whitespace")<CR>
 an 50.120.200 &Syntax.WXYZ.WildPackets\ EtherPeek\ Decoder :cal SetSyn("dcd")<CR>
 an 50.120.210 &Syntax.WXYZ.WinBatch/Webbatch :cal SetSyn("winbatch")<CR>
 an 50.120.220 &Syntax.WXYZ.Windows\ Scripting\ Host :cal SetSyn("wsh")<CR>
-an 50.120.230 &Syntax.WXYZ.WvDial :cal SetSyn("wvdial")<CR>
-an 50.120.250 &Syntax.WXYZ.X\ Keyboard\ Extension :cal SetSyn("xkb")<CR>
-an 50.120.260 &Syntax.WXYZ.X\ Pixmap :cal SetSyn("xpm")<CR>
-an 50.120.270 &Syntax.WXYZ.X\ Pixmap\ (2) :cal SetSyn("xpm2")<CR>
-an 50.120.280 &Syntax.WXYZ.X\ resources :cal SetSyn("xdefaults")<CR>
-an 50.120.290 &Syntax.WXYZ.Xmodmap :cal SetSyn("xmodmap")<CR>
-an 50.120.300 &Syntax.WXYZ.Xmath :cal SetSyn("xmath")<CR>
-an 50.120.310 &Syntax.WXYZ.XML :cal SetSyn("xml")<CR>
-an 50.120.320 &Syntax.WXYZ.XML\ Schema\ (XSD) :cal SetSyn("xsd")<CR>
-an 50.120.330 &Syntax.WXYZ.Xslt :cal SetSyn("xslt")<CR>
-an 50.120.340 &Syntax.WXYZ.XFree86\ Config :cal SetSyn("xf86conf")<CR>
-an 50.120.360 &Syntax.WXYZ.YAML :cal SetSyn("yaml")<CR>
-an 50.120.370 &Syntax.WXYZ.Yacc :cal SetSyn("yacc")<CR>
+an 50.120.230 &Syntax.WXYZ.WSML :cal SetSyn("wsml")<CR>
+an 50.120.240 &Syntax.WXYZ.WvDial :cal SetSyn("wvdial")<CR>
+an 50.120.260 &Syntax.WXYZ.X\ Keyboard\ Extension :cal SetSyn("xkb")<CR>
+an 50.120.270 &Syntax.WXYZ.X\ Pixmap :cal SetSyn("xpm")<CR>
+an 50.120.280 &Syntax.WXYZ.X\ Pixmap\ (2) :cal SetSyn("xpm2")<CR>
+an 50.120.290 &Syntax.WXYZ.X\ resources :cal SetSyn("xdefaults")<CR>
+an 50.120.300 &Syntax.WXYZ.Xinetd\.conf :cal SetSyn("xinetd")<CR>
+an 50.120.310 &Syntax.WXYZ.Xmodmap :cal SetSyn("xmodmap")<CR>
+an 50.120.320 &Syntax.WXYZ.Xmath :cal SetSyn("xmath")<CR>
+an 50.120.330 &Syntax.WXYZ.XML :cal SetSyn("xml")<CR>
+an 50.120.340 &Syntax.WXYZ.XML\ Schema\ (XSD) :cal SetSyn("xsd")<CR>
+an 50.120.350 &Syntax.WXYZ.XQuery :cal SetSyn("xquery")<CR>
+an 50.120.360 &Syntax.WXYZ.Xslt :cal SetSyn("xslt")<CR>
+an 50.120.370 &Syntax.WXYZ.XFree86\ Config :cal SetSyn("xf86conf")<CR>
+an 50.120.390 &Syntax.WXYZ.YAML :cal SetSyn("yaml")<CR>
+an 50.120.400 &Syntax.WXYZ.Yacc :cal SetSyn("yacc")<CR>
 
 " The End Of The Syntax Menu
 
diff --git a/runtime/syntax/groovy.vim b/runtime/syntax/groovy.vim
new file mode 100644
index 0000000000000000000000000000000000000000..5f96dfbd07d6f0b0cb3363ccee3d3c6a16c7a1ab
--- /dev/null
+++ b/runtime/syntax/groovy.vim
@@ -0,0 +1,450 @@
+" Vim syntax file
+" Language:	Groovy
+" Maintainer:	Alessio Pace <billy.corgan@tiscali.it>
+" Version: 	0.1.9b
+" URL:	  http://www.vim.org/scripts/script.php?script_id=945	
+" Last Change:	6/4/2004
+
+" This is my very first vim script, I hope to have
+" done it the right way.
+" 
+" I must directly or indirectly thank the author of java.vim and ruby.vim:
+" I copied from them most of the stuff :-)
+"
+" Relies on html.vim
+
+" For version 5.x: Clear all syntax items
+" For version 6.x: Quit when a syntax file was already loaded
+"
+" HOWTO USE IT (INSTALL):
+" [groovy is still not recognized by vim! :-( ]
+"
+" 1) copy the file in the (global or user's $HOME/.vim/syntax/) syntax folder
+" 
+" 2) add this line to recognize groovy files by filename extension:
+"
+" au BufNewFile,BufRead *.groovy  setf groovy
+" in the global vim filetype.vim file or inside $HOME/.vim/filetype.vim
+"
+" 3) add this part to recognize by content groovy script (no extension needed :-)
+"
+"  if did_filetype()
+"    finish
+"  endif
+"  if getline(1) =~ '^#!.*[/\\]groovy\>'
+"    setf groovy
+"  endif
+"
+"  in the global scripts.vim file or in $HOME/.vim/scripts.vim
+" 
+" 4) open/write a .groovy file or a groovy script :-)
+"
+" Let me know if you like it or send me patches, so that I can improve it
+" when I have time
+
+" Quit when a syntax file was already loaded
+if !exists("main_syntax")
+  if version < 600
+    syntax clear
+  elseif exists("b:current_syntax")
+    finish
+  endif
+  " we define it here so that included files can test for it
+  let main_syntax='groovy'
+endif
+
+" don't use standard HiLink, it will not work with included syntax files
+if version < 508
+  command! -nargs=+ GroovyHiLink hi link <args>
+else
+  command! -nargs=+ GroovyHiLink hi def link <args>
+endif
+
+" ##########################
+" Java stuff taken from java.vim
+" some characters that cannot be in a groovy program (outside a string)
+" syn match groovyError "[\\@`]"
+"syn match groovyError "<<<\|\.\.\|=>\|<>\|||=\|&&=\|[^-]->\|\*\/"
+"syn match groovyOK "\.\.\."
+
+" keyword definitions
+syn keyword groovyExternal        native package
+syn match groovyExternal          "\<import\(\s\+static\>\)\?"
+syn keyword groovyError           goto const
+syn keyword groovyConditional     if else switch
+syn keyword groovyRepeat          while for do
+syn keyword groovyBoolean         true false
+syn keyword groovyConstant        null
+syn keyword groovyTypedef         this super
+syn keyword groovyOperator        new instanceof
+syn keyword groovyType            boolean char byte short int long float double
+syn keyword groovyType            void
+syn keyword groovyType		  Integer Double Date Boolean Float String Array Vector List
+syn keyword groovyStatement       return
+syn keyword groovyStorageClass    static synchronized transient volatile final strictfp serializable
+syn keyword groovyExceptions      throw try catch finally
+syn keyword groovyAssert          assert
+syn keyword groovyMethodDecl      synchronized throws
+syn keyword groovyClassDecl       extends implements interface
+" to differentiate the keyword class from MyClass.class we use a match here
+syn match   groovyTypedef         "\.\s*\<class\>"ms=s+1
+syn keyword groovyClassDecl         enum
+syn match   groovyClassDecl       "^class\>"
+syn match   groovyClassDecl       "[^.]\s*\<class\>"ms=s+1
+syn keyword groovyBranch          break continue nextgroup=groovyUserLabelRef skipwhite
+syn match   groovyUserLabelRef    "\k\+" contained
+syn keyword groovyScopeDecl       public protected private abstract
+
+
+if exists("groovy_highlight_groovy_lang_ids") || exists("groovy_highlight_groovy_lang") || exists("groovy_highlight_all")
+  " groovy.lang.*
+  syn keyword groovyLangClass  Closure MetaMethod GroovyObject
+  
+  syn match groovyJavaLangClass "\<System\>"
+  syn keyword groovyJavaLangClass  Cloneable Comparable Runnable Serializable Boolean Byte Class Object
+  syn keyword groovyJavaLangClass  Character CharSequence ClassLoader Compiler
+  " syn keyword groovyJavaLangClass  Integer Double Float Long 
+  syn keyword groovyJavaLangClass  InheritableThreadLocal Math Number Object Package Process
+  syn keyword groovyJavaLangClass  Runtime RuntimePermission InheritableThreadLocal
+  syn keyword groovyJavaLangClass  SecurityManager Short StrictMath StackTraceElement
+  syn keyword groovyJavaLangClass  StringBuffer Thread ThreadGroup
+  syn keyword groovyJavaLangClass  ThreadLocal Throwable Void ArithmeticException
+  syn keyword groovyJavaLangClass  ArrayIndexOutOfBoundsException AssertionError
+  syn keyword groovyJavaLangClass  ArrayStoreException ClassCastException
+  syn keyword groovyJavaLangClass  ClassNotFoundException
+  syn keyword groovyJavaLangClass  CloneNotSupportedException Exception
+  syn keyword groovyJavaLangClass  IllegalAccessException
+  syn keyword groovyJavaLangClass  IllegalArgumentException
+  syn keyword groovyJavaLangClass  IllegalMonitorStateException
+  syn keyword groovyJavaLangClass  IllegalStateException
+  syn keyword groovyJavaLangClass  IllegalThreadStateException
+  syn keyword groovyJavaLangClass  IndexOutOfBoundsException
+  syn keyword groovyJavaLangClass  InstantiationException InterruptedException
+  syn keyword groovyJavaLangClass  NegativeArraySizeException NoSuchFieldException
+  syn keyword groovyJavaLangClass  NoSuchMethodException NullPointerException
+  syn keyword groovyJavaLangClass  NumberFormatException RuntimeException
+  syn keyword groovyJavaLangClass  SecurityException StringIndexOutOfBoundsException
+  syn keyword groovyJavaLangClass  UnsupportedOperationException
+  syn keyword groovyJavaLangClass  AbstractMethodError ClassCircularityError
+  syn keyword groovyJavaLangClass  ClassFormatError Error ExceptionInInitializerError
+  syn keyword groovyJavaLangClass  IllegalAccessError InstantiationError
+  syn keyword groovyJavaLangClass  IncompatibleClassChangeError InternalError
+  syn keyword groovyJavaLangClass  LinkageError NoClassDefFoundError
+  syn keyword groovyJavaLangClass  NoSuchFieldError NoSuchMethodError
+  syn keyword groovyJavaLangClass  OutOfMemoryError StackOverflowError
+  syn keyword groovyJavaLangClass  ThreadDeath UnknownError UnsatisfiedLinkError
+  syn keyword groovyJavaLangClass  UnsupportedClassVersionError VerifyError
+  syn keyword groovyJavaLangClass  VirtualMachineError
+
+  syn keyword groovyJavaLangObject clone equals finalize getClass hashCode
+  syn keyword groovyJavaLangObject notify notifyAll toString wait
+
+  GroovyHiLink groovyLangClass                   groovyConstant
+  GroovyHiLink groovyJavaLangClass               groovyExternal
+  GroovyHiLink groovyJavaLangObject              groovyConstant
+  syn cluster groovyTop add=groovyJavaLangObject,groovyJavaLangClass,groovyLangClass
+  syn cluster groovyClasses add=groovyJavaLangClass,groovyLangClass
+endif
+
+
+" Groovy stuff
+syn match groovyOperator "\.\."
+syn match groovyOperator "<\{2,3}"
+syn match groovyOperator ">\{2,3}"
+syn match groovyOperator "->"
+syn match groovyExternal		'^#!.*[/\\]groovy\>'
+syn match groovyExceptions        "\<Exception\>\|\<[A-Z]\{1,}[a-zA-Z0-9]*Exception\>"
+
+" Groovy JDK stuff
+syn keyword groovyJDKBuiltin    as def in
+syn keyword groovyJDKOperOverl  div minus plus abs round power multiply 
+syn keyword groovyJDKMethods 	each call inject sort print println 
+syn keyword groovyJDKMethods    getAt putAt size push pop toList getText writeLine eachLine readLines
+syn keyword groovyJDKMethods    withReader withStream withWriter withPrintWriter write read leftShift 
+syn keyword groovyJDKMethods    withWriterAppend readBytes splitEachLine
+syn keyword groovyJDKMethods    newInputStream newOutputStream newPrintWriter newReader newWriter 
+syn keyword groovyJDKMethods    compareTo next previous isCase 
+syn keyword groovyJDKMethods    times step toInteger upto any collect dump every find findAll grep
+syn keyword groovyJDKMethods    inspect invokeMethods join 
+syn keyword groovyJDKMethods    getErr getIn getOut waitForOrKill
+syn keyword groovyJDKMethods    count tokenize asList flatten immutable intersect reverse reverseEach
+syn keyword groovyJDKMethods    subMap append asWritable eachByte eachLine eachFile 
+syn cluster groovyTop add=groovyJDKBuiltin,groovyJDKOperOverl,groovyJDKMethods
+
+" no useful I think, so I comment it..
+"if filereadable(expand("<sfile>:p:h")."/groovyid.vim")
+ " source <sfile>:p:h/groovyid.vim
+"endif
+
+if exists("groovy_space_errors")
+  if !exists("groovy_no_trail_space_error")
+    syn match   groovySpaceError  "\s\+$"
+  endif
+  if !exists("groovy_no_tab_space_error")
+    syn match   groovySpaceError  " \+\t"me=e-1
+  endif
+endif
+
+" it is a better case construct than java.vim to match groovy syntax
+syn region  groovyLabelRegion     transparent matchgroup=groovyLabel start="\<case\>" matchgroup=NONE end=":\|$" contains=groovyNumber,groovyString,groovyLangClass,groovyJavaLangClass
+syn match   groovyUserLabel       "^\s*[_$a-zA-Z][_$a-zA-Z0-9_]*\s*:"he=e-1 contains=groovyLabel
+syn keyword groovyLabel           default
+
+if !exists("groovy_allow_cpp_keywords")
+  syn keyword groovyError auto delete extern friend inline redeclared
+  syn keyword groovyError register signed sizeof struct template typedef union
+  syn keyword groovyError unsigned operator
+endif
+
+" The following cluster contains all groovy groups except the contained ones
+syn cluster groovyTop add=groovyExternal,groovyError,groovyError,groovyBranch,groovyLabelRegion,groovyLabel,groovyConditional,groovyRepeat,groovyBoolean,groovyConstant,groovyTypedef,groovyOperator,groovyType,groovyType,groovyStatement,groovyStorageClass,groovyAssert,groovyExceptions,groovyMethodDecl,groovyClassDecl,groovyClassDecl,groovyClassDecl,groovyScopeDecl,groovyError,groovyError2,groovyUserLabel,groovyLangObject
+
+
+" Comments
+syn keyword groovyTodo             contained TODO FIXME XXX
+if exists("groovy_comment_strings")
+  syn region  groovyCommentString    contained start=+"+ end=+"+ end=+$+ end=+\*/+me=s-1,he=s-1 contains=groovySpecial,groovyCommentStar,groovySpecialChar,@Spell
+  syn region  groovyComment2String   contained start=+"+  end=+$\|"+  contains=groovySpecial,groovySpecialChar,@Spell
+  syn match   groovyCommentCharacter contained "'\\[^']\{1,6\}'" contains=groovySpecialChar
+  syn match   groovyCommentCharacter contained "'\\''" contains=groovySpecialChar
+  syn match   groovyCommentCharacter contained "'[^\\]'"
+  syn cluster groovyCommentSpecial add=groovyCommentString,groovyCommentCharacter,groovyNumber
+  syn cluster groovyCommentSpecial2 add=groovyComment2String,groovyCommentCharacter,groovyNumber
+endif
+syn region  groovyComment          start="/\*"  end="\*/" contains=@groovyCommentSpecial,groovyTodo,@Spell
+syn match   groovyCommentStar      contained "^\s*\*[^/]"me=e-1
+syn match   groovyCommentStar      contained "^\s*\*$"
+syn match   groovyLineComment      "//.*" contains=@groovyCommentSpecial2,groovyTodo,@Spell
+syn match   groovyLineComment      "#.*" contains=@groovyCommentSpecial2,groovyTodo,@Spell
+GroovyHiLink groovyCommentString groovyString
+GroovyHiLink groovyComment2String groovyString
+GroovyHiLink groovyCommentCharacter groovyCharacter
+
+syn cluster groovyTop add=groovyComment,groovyLineComment
+
+if !exists("groovy_ignore_groovydoc") && main_syntax != 'jsp'
+  syntax case ignore
+  " syntax coloring for groovydoc comments (HTML)
+  " syntax include @groovyHtml <sfile>:p:h/html.vim
+   syntax include @groovyHtml runtime! syntax/html.vim
+  unlet b:current_syntax
+  syn region  groovyDocComment    start="/\*\*"  end="\*/" keepend contains=groovyCommentTitle,@groovyHtml,groovyDocTags,groovyTodo,@Spell
+  syn region  groovyCommentTitle  contained matchgroup=groovyDocComment start="/\*\*"   matchgroup=groovyCommentTitle keepend end="\.$" end="\.[ \t\r<&]"me=e-1 end="[^{]@"me=s-2,he=s-1 end="\*/"me=s-1,he=s-1 contains=@groovyHtml,groovyCommentStar,groovyTodo,@Spell,groovyDocTags
+
+  syn region groovyDocTags  contained start="{@\(link\|linkplain\|inherit[Dd]oc\|doc[rR]oot\|value\)" end="}"
+  syn match  groovyDocTags  contained "@\(see\|param\|exception\|throws\|since\)\s\+\S\+" contains=groovyDocParam
+  syn match  groovyDocParam contained "\s\S\+"
+  syn match  groovyDocTags  contained "@\(version\|author\|return\|deprecated\|serial\|serialField\|serialData\)\>"
+  syntax case match
+endif
+
+" match the special comment /**/
+syn match   groovyComment          "/\*\*/"
+
+" Strings and constants
+syn match   groovySpecialError     contained "\\."
+syn match   groovySpecialCharError contained "[^']"
+syn match   groovySpecialChar      contained "\\\([4-9]\d\|[0-3]\d\d\|[\"\\'ntbrf]\|u\x\{4\}\)"
+syn region  groovyString          start=+"+ end=+"+ end=+$+ contains=groovySpecialChar,groovySpecialError,@Spell,groovyELExpr
+syn region  groovyString          start=+'+ end=+'+ end=+$+ contains=groovySpecialChar,groovySpecialError,@Spell,groovyELExpr
+" syn region groovyELExpr start=+${+ end=+}+ keepend contained
+ syn match groovyELExpr /\${.\{-}}/ contained
+GroovyHiLink groovyELExpr Identifier
+
+" TODO: better matching. I am waiting to understand how it really works in groovy
+" syn region  groovyClosureParamsBraces          start=+|+ end=+|+ contains=groovyClosureParams
+" syn match groovyClosureParams	"[ a-zA-Z0-9_*]\+" contained
+" GroovyHiLink groovyClosureParams Identifier
+
+" next line disabled, it can cause a crash for a long line
+"syn match   groovyStringError      +"\([^"\\]\|\\.\)*$+
+
+" disabled: in groovy strings or characters are written the same
+" syn match   groovyCharacter        "'[^']*'" contains=groovySpecialChar,groovySpecialCharError
+" syn match   groovyCharacter        "'\\''" contains=groovySpecialChar
+" syn match   groovyCharacter        "'[^\\]'"
+syn match   groovyNumber           "\<\(0[0-7]*\|0[xX]\x\+\|\d\+\)[lL]\=\>"
+syn match   groovyNumber           "\(\<\d\+\.\d*\|\.\d\+\)\([eE][-+]\=\d\+\)\=[fFdD]\="
+syn match   groovyNumber           "\<\d\+[eE][-+]\=\d\+[fFdD]\=\>"
+syn match   groovyNumber           "\<\d\+\([eE][-+]\=\d\+\)\=[fFdD]\>"
+
+" unicode characters
+syn match   groovySpecial "\\u\d\{4\}"
+
+syn cluster groovyTop add=groovyString,groovyCharacter,groovyNumber,groovySpecial,groovyStringError
+
+if exists("groovy_highlight_functions")
+  if groovy_highlight_functions == "indent"
+    syn match  groovyFuncDef "^\(\t\| \{8\}\)[_$a-zA-Z][_$a-zA-Z0-9_. \[\]]*([^-+*/()]*)" contains=groovyScopeDecl,groovyType,groovyStorageClass,@groovyClasses
+    syn region groovyFuncDef start=+^\(\t\| \{8\}\)[$_a-zA-Z][$_a-zA-Z0-9_. \[\]]*([^-+*/()]*,\s*+ end=+)+ contains=groovyScopeDecl,groovyType,groovyStorageClass,@groovyClasses
+    syn match  groovyFuncDef "^  [$_a-zA-Z][$_a-zA-Z0-9_. \[\]]*([^-+*/()]*)" contains=groovyScopeDecl,groovyType,groovyStorageClass,@groovyClasses
+    syn region groovyFuncDef start=+^  [$_a-zA-Z][$_a-zA-Z0-9_. \[\]]*([^-+*/()]*,\s*+ end=+)+ contains=groovyScopeDecl,groovyType,groovyStorageClass,@groovyClasses
+  else
+    " This line catches method declarations at any indentation>0, but it assumes
+    " two things:
+    "   1. class names are always capitalized (ie: Button)
+    "   2. method names are never capitalized (except constructors, of course)
+    syn region groovyFuncDef start=+^\s\+\(\(public\|protected\|private\|static\|abstract\|final\|native\|synchronized\)\s\+\)*\(\(void\|boolean\|char\|byte\|short\|int\|long\|float\|double\|\([A-Za-z_][A-Za-z0-9_$]*\.\)*[A-Z][A-Za-z0-9_$]*\)\(<[^>]*>\)\=\(\[\]\)*\s\+[a-z][A-Za-z0-9_$]*\|[A-Z][A-Za-z0-9_$]*\)\s*([^0-9]+ end=+)+ contains=groovyScopeDecl,groovyType,groovyStorageClass,groovyComment,groovyLineComment,@groovyClasses
+  endif
+  syn match  groovyBraces  "[{}]"
+  syn cluster groovyTop add=groovyFuncDef,groovyBraces
+endif
+
+if exists("groovy_highlight_debug")
+
+  " Strings and constants
+  syn match   groovyDebugSpecial          contained "\\\d\d\d\|\\."
+  syn region  groovyDebugString           contained start=+"+  end=+"+  contains=groovyDebugSpecial
+  syn match   groovyDebugStringError      +"\([^"\\]\|\\.\)*$+
+  syn match   groovyDebugCharacter        contained "'[^\\]'"
+  syn match   groovyDebugSpecialCharacter contained "'\\.'"
+  syn match   groovyDebugSpecialCharacter contained "'\\''"
+  syn match   groovyDebugNumber           contained "\<\(0[0-7]*\|0[xX]\x\+\|\d\+\)[lL]\=\>"
+  syn match   groovyDebugNumber           contained "\(\<\d\+\.\d*\|\.\d\+\)\([eE][-+]\=\d\+\)\=[fFdD]\="
+  syn match   groovyDebugNumber           contained "\<\d\+[eE][-+]\=\d\+[fFdD]\=\>"
+  syn match   groovyDebugNumber           contained "\<\d\+\([eE][-+]\=\d\+\)\=[fFdD]\>"
+  syn keyword groovyDebugBoolean          contained true false
+  syn keyword groovyDebugType             contained null this super
+  syn region groovyDebugParen  start=+(+ end=+)+ contained contains=groovyDebug.*,groovyDebugParen
+
+  " to make this work you must define the highlighting for these groups
+  syn match groovyDebug "\<System\.\(out\|err\)\.print\(ln\)*\s*("me=e-1 contains=groovyDebug.* nextgroup=groovyDebugParen
+  syn match groovyDebug "\<p\s*("me=e-1 contains=groovyDebug.* nextgroup=groovyDebugParen
+  syn match groovyDebug "[A-Za-z][a-zA-Z0-9_]*\.printStackTrace\s*("me=e-1 contains=groovyDebug.* nextgroup=groovyDebugParen
+  syn match groovyDebug "\<trace[SL]\=\s*("me=e-1 contains=groovyDebug.* nextgroup=groovyDebugParen
+
+  syn cluster groovyTop add=groovyDebug
+
+  if version >= 508 || !exists("did_c_syn_inits")
+    GroovyHiLink groovyDebug                 Debug
+    GroovyHiLink groovyDebugString           DebugString
+    GroovyHiLink groovyDebugStringError      groovyError
+    GroovyHiLink groovyDebugType             DebugType
+    GroovyHiLink groovyDebugBoolean          DebugBoolean
+    GroovyHiLink groovyDebugNumber           Debug
+    GroovyHiLink groovyDebugSpecial          DebugSpecial
+    GroovyHiLink groovyDebugSpecialCharacter DebugSpecial
+    GroovyHiLink groovyDebugCharacter        DebugString
+    GroovyHiLink groovyDebugParen            Debug
+  
+    GroovyHiLink DebugString               String
+    GroovyHiLink DebugSpecial              Special
+    GroovyHiLink DebugBoolean              Boolean
+    GroovyHiLink DebugType                 Type
+  endif
+endif
+
+" Match all Exception classes 
+syn match groovyExceptions        "\<Exception\>\|\<[A-Z]\{1,}[a-zA-Z0-9]*Exception\>"
+
+
+if !exists("groovy_minlines")
+  let groovy_minlines = 10
+endif
+exec "syn sync ccomment groovyComment minlines=" . groovy_minlines
+
+
+" ################### 
+" Groovy stuff
+" syn match groovyOperator		"|[ ,a-zA-Z0-9_*]\+|"
+
+" All groovy valid tokens
+" syn match groovyTokens ";\|,\|<=>\|<>\|:\|:=\|>\|>=\|=\|==\|<\|<=\|!=\|/\|/=\|\.\.|\.\.\.\|\~=\|\~=="
+" syn match groovyTokens "\*=\|&\|&=\|\*\|->\|\~\|+\|-\|/\|?\|<<<\|>>>\|<<\|>>"
+
+" Must put explicit these ones because groovy.vim mark them as errors otherwise
+" syn match groovyTokens "<=>\|<>\|==\~"
+"syn cluster groovyTop add=groovyTokens
+
+" Mark these as operators
+
+" Hightlight brackets
+" syn match  groovyBraces		"[{}]"
+" syn match  groovyBraces		"[\[\]]"
+" syn match  groovyBraces		"[\|]"
+
+if exists("groovy_mark_braces_in_parens_as_errors")
+  syn match groovyInParen          contained "[{}]"
+  GroovyHiLink groovyInParen        groovyError
+  syn cluster groovyTop add=groovyInParen
+endif
+
+" catch errors caused by wrong parenthesis
+syn region  groovyParenT  transparent matchgroup=groovyParen  start="("  end=")" contains=@groovyTop,groovyParenT1
+syn region  groovyParenT1 transparent matchgroup=groovyParen1 start="(" end=")" contains=@groovyTop,groovyParenT2 contained
+syn region  groovyParenT2 transparent matchgroup=groovyParen2 start="(" end=")" contains=@groovyTop,groovyParenT  contained
+syn match   groovyParenError       ")"
+GroovyHiLink groovyParenError       groovyError
+
+" catch errors caused by wrong square parenthesis
+syn region  groovyParenT  transparent matchgroup=groovyParen  start="\["  end="\]" contains=@groovyTop,groovyParenT1
+syn region  groovyParenT1 transparent matchgroup=groovyParen1 start="\[" end="\]" contains=@groovyTop,groovyParenT2 contained
+syn region  groovyParenT2 transparent matchgroup=groovyParen2 start="\[" end="\]" contains=@groovyTop,groovyParenT  contained
+syn match   groovyParenError       "\]"
+
+" ###############################
+" java.vim default highlighting
+if version >= 508 || !exists("did_groovy_syn_inits")
+  if version < 508
+    let did_groovy_syn_inits = 1
+  endif
+  GroovyHiLink groovyFuncDef		Function
+  GroovyHiLink groovyBraces		Function
+  GroovyHiLink groovyBranch		Conditional
+  GroovyHiLink groovyUserLabelRef	groovyUserLabel
+  GroovyHiLink groovyLabel		Label
+  GroovyHiLink groovyUserLabel		Label
+  GroovyHiLink groovyConditional	Conditional
+  GroovyHiLink groovyRepeat		Repeat
+  GroovyHiLink groovyExceptions		Exception
+  GroovyHiLink groovyAssert 		Statement
+  GroovyHiLink groovyStorageClass	StorageClass
+  GroovyHiLink groovyMethodDecl		groovyStorageClass
+  GroovyHiLink groovyClassDecl		groovyStorageClass
+  GroovyHiLink groovyScopeDecl		groovyStorageClass
+  GroovyHiLink groovyBoolean		Boolean
+  GroovyHiLink groovySpecial		Special
+  GroovyHiLink groovySpecialError	Error
+  GroovyHiLink groovySpecialCharError	Error
+  GroovyHiLink groovyString		String
+  GroovyHiLink groovyCharacter		Character
+  GroovyHiLink groovySpecialChar	SpecialChar
+  GroovyHiLink groovyNumber		Number
+  GroovyHiLink groovyError		Error
+  GroovyHiLink groovyStringError	Error
+  GroovyHiLink groovyStatement		Statement
+  GroovyHiLink groovyOperator		Operator
+  GroovyHiLink groovyComment		Comment
+  GroovyHiLink groovyDocComment		Comment
+  GroovyHiLink groovyLineComment	Comment
+  GroovyHiLink groovyConstant		Constant
+  GroovyHiLink groovyTypedef		Typedef
+  GroovyHiLink groovyTodo		Todo
+  
+  GroovyHiLink groovyCommentTitle	SpecialComment
+  GroovyHiLink groovyDocTags		Special
+  GroovyHiLink groovyDocParam		Function
+  GroovyHiLink groovyCommentStar	groovyComment
+  
+  GroovyHiLink groovyType		Type
+  GroovyHiLink groovyExternal		Include
+  
+  GroovyHiLink htmlComment		Special
+  GroovyHiLink htmlCommentPart		Special
+  GroovyHiLink groovySpaceError		Error
+  GroovyHiLink groovyJDKBuiltin         Special
+  GroovyHiLink groovyJDKOperOverl       Operator
+  GroovyHiLink groovyJDKMethods         Function
+endif
+
+delcommand GroovyHiLink
+
+
+let b:current_syntax = "groovy"
+if main_syntax == 'groovy'
+  unlet main_syntax
+endif
+
+let b:spell_options="contained"
+
+" vim: ts=8
diff --git a/src/GvimExt/GvimExt.reg b/src/GvimExt/GvimExt.reg
index db49d24bde19cf31810bddfe3aadc9283dd61234..604e91160b1ddaeb18322ee631ff366942bf443f 100644
--- a/src/GvimExt/GvimExt.reg
+++ b/src/GvimExt/GvimExt.reg
@@ -15,6 +15,6 @@ REGEDIT4
 [HKEY_LOCAL_MACHINE\Software\Vim\Gvim]
    "path"="gvim.exe"
 
-[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall\Vim 7.0aa]
-   "DisplayName"="Vim 7.0aa: Edit with Vim popup menu entry"
+[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall\Vim 7.0b]
+   "DisplayName"="Vim 7.0b: Edit with Vim popup menu entry"
    "UninstallString"="uninstal.exe"
diff --git a/src/Make_bc3.mak b/src/Make_bc3.mak
index 20a9b1fee343490b14fd921c45d3b9c19c1bb48b..461763088c7e4add9aaa4914a36473b7be5678a1 100644
--- a/src/Make_bc3.mak
+++ b/src/Make_bc3.mak
@@ -66,7 +66,7 @@ EXE_dependencies = \
 	fold.obj \
 	getchar.obj \
 	hardcopy.obj \
-	hashtable.obj \
+	hashtab.obj \
 	main.obj \
 	mark.obj \
 	memfile.obj \
@@ -80,7 +80,7 @@ EXE_dependencies = \
 	normal.obj \
 	ops.obj \
 	option.obj \
-	popupmenu.obj \
+	popupmnu.obj \
 	quickfix.obj \
 	regexp.obj \
 	screen.obj \
diff --git a/src/Make_bc5.mak b/src/Make_bc5.mak
index 3e1640ed8999081d101c9150f137cef40a2e7e67..b063ce0e0e91526fc5f337ab5c9f7be4373fc022 100644
--- a/src/Make_bc5.mak
+++ b/src/Make_bc5.mak
@@ -547,7 +547,7 @@ vimobj =  \
 	$(OBJDIR)\fold.obj \
 	$(OBJDIR)\getchar.obj \
 	$(OBJDIR)\hardcopy.obj \
-	$(OBJDIR)\hashtable.obj \
+	$(OBJDIR)\hashtab.obj \
 	$(OBJDIR)\main.obj \
 	$(OBJDIR)\mark.obj \
 	$(OBJDIR)\memfile.obj \
@@ -561,7 +561,7 @@ vimobj =  \
 	$(OBJDIR)\normal.obj \
 	$(OBJDIR)\ops.obj \
 	$(OBJDIR)\option.obj \
-	$(OBJDIR)\popupmenu.obj \
+	$(OBJDIR)\popupmnu.obj \
 	$(OBJDIR)\quickfix.obj \
 	$(OBJDIR)\regexp.obj \
 	$(OBJDIR)\screen.obj \
diff --git a/src/Make_ivc.mak b/src/Make_ivc.mak
index f6b3694f64b95dd0e747f7f8185e43b0e859fb9d..2d118d5a64b6b546aa2da6119443952be1d70999 100644
--- a/src/Make_ivc.mak
+++ b/src/Make_ivc.mak
@@ -225,7 +225,7 @@ LINK32_OBJS= \
 	"$(INTDIR)/fold.obj" \
 	"$(INTDIR)/getchar.obj" \
 	"$(INTDIR)/hardcopy.obj" \
-	"$(INTDIR)/hashtable.obj" \
+	"$(INTDIR)/hashtab.obj" \
 	"$(INTDIR)/main.obj" \
 	"$(INTDIR)/mark.obj" \
 	"$(INTDIR)/mbyte.obj" \
@@ -241,7 +241,7 @@ LINK32_OBJS= \
 	"$(INTDIR)/option.obj" \
 	"$(INTDIR)/os_mswin.obj" \
 	"$(INTDIR)/os_win32.obj" \
-	"$(INTDIR)/popupmenu.obj" \
+	"$(INTDIR)/popupmnu.obj" \
 	"$(INTDIR)/quickfix.obj" \
 	"$(INTDIR)/regexp.obj" \
 	"$(INTDIR)/screen.obj" \
@@ -384,7 +384,7 @@ SOURCE=.\hardcopy.c
 # End Source File
 # Begin Source File
 
-SOURCE=.\hashtable.c
+SOURCE=.\hashtab.c
 # End Source File
 # Begin Source File
 
@@ -598,7 +598,7 @@ SOURCE=.\os_win32.c
 # End Source File
 # Begin Source File
 
-SOURCE=.\popupmenu.c
+SOURCE=.\popupmnu.c
 # End Source File
 # Begin Source File
 
diff --git a/src/Make_manx.mak b/src/Make_manx.mak
index 46c001575cddef4ffd92641fe29017e941a37174..b8e7852de535c4f017bbb091c9cb283d1c25f825 100644
--- a/src/Make_manx.mak
+++ b/src/Make_manx.mak
@@ -49,7 +49,7 @@ SRC =	buffer.c \
 	fold.c \
 	getchar.c \
 	hardcopy.c \
-	hashtable.c \
+	hashtab.c \
 	main.c \
 	mark.c \
 	memfile.c \
@@ -64,7 +64,7 @@ SRC =	buffer.c \
 	ops.c \
 	option.c \
 	os_amiga.c \
-	popupmenu.c \
+	popupmnu.c \
 	quickfix.c \
 	regexp.c \
 	screen.c \
@@ -95,7 +95,7 @@ OBJ =	obj/buffer.o \
 	obj/fold.o \
 	obj/getchar.o \
 	obj/hardcopy.o \
-	obj/hashtable.o \
+	obj/hashtab.o \
 	obj/main.o \
 	obj/mark.o \
 	obj/memfile.o \
@@ -110,7 +110,7 @@ OBJ =	obj/buffer.o \
 	obj/ops.o \
 	obj/option.o \
 	obj/os_amiga.o \
-	obj/popupmenu.o \
+	obj/popupmnu.o \
 	obj/quickfix.o \
 	obj/regexp.o \
 	obj/screen.o \
@@ -139,7 +139,7 @@ PRO =	proto/buffer.pro \
 	proto/fold.pro \
 	proto/getchar.pro \
 	proto/hardcopy.pro \
-	proto/hashtable.pro \
+	proto/hashtab.pro \
 	proto/main.pro \
 	proto/mark.pro \
 	proto/memfile.pro \
@@ -154,7 +154,7 @@ PRO =	proto/buffer.pro \
 	proto/ops.pro \
 	proto/option.pro \
 	proto/os_amiga.pro \
-	proto/popupmenu.pro \
+	proto/popupmnu.pro \
 	proto/quickfix.pro \
 	proto/regexp.pro \
 	proto/screen.pro \
@@ -258,8 +258,8 @@ obj/getchar.o:	getchar.c
 obj/hardcopy.o:	hardcopy.c
 	$(CCSYM) $@ hardcopy.c
 
-obj/hashtable.o:	hashtable.c
-	$(CCSYM) $@ hashtable.c
+obj/hashtab.o:	hashtab.c
+	$(CCSYM) $@ hashtab.c
 
 # Don't use $(SYMS) here, because main.c defines EXTERN
 obj/main.o:	main.c option.h globals.h
@@ -306,8 +306,8 @@ obj/option.o:	option.c
 obj/os_amiga.o:	os_amiga.c
 	$(CCSYM) $@ os_amiga.c
 
-obj/popupmenu.o:	popupmenu.c
-	$(CCSYM) $@ popupmenu.c
+obj/popupmnu.o:	popupmnu.c
+	$(CCSYM) $@ popupmnu.c
 
 obj/quickfix.o:	quickfix.c
 	$(CCSYM) $@ quickfix.c
diff --git a/src/Make_ming.mak b/src/Make_ming.mak
index 7b601cc6815d6a876edd267538c5a2db93424337..e09ba8c04b02bf31552567257d066930c7ee9415 100644
--- a/src/Make_ming.mak
+++ b/src/Make_ming.mak
@@ -372,7 +372,7 @@ OBJ = \
 	$(OUTDIR)/fold.o \
 	$(OUTDIR)/getchar.o \
 	$(OUTDIR)/hardcopy.o \
-	$(OUTDIR)/hashtable.o \
+	$(OUTDIR)/hashtab.o \
 	$(OUTDIR)/main.o \
 	$(OUTDIR)/mark.o \
 	$(OUTDIR)/memfile.o \
@@ -389,7 +389,7 @@ OBJ = \
 	$(OUTDIR)/os_win32.o \
 	$(OUTDIR)/os_mswin.o \
 	$(OUTDIR)/pathdef.o \
-	$(OUTDIR)/popupmenu.o \
+	$(OUTDIR)/popupmnu.o \
 	$(OUTDIR)/quickfix.o \
 	$(OUTDIR)/regexp.o \
 	$(OUTDIR)/screen.o \
diff --git a/src/Make_mvc.mak b/src/Make_mvc.mak
index dbebbd789ba8821ea27c89bb3174a45381361ee2..9bb048703f77f5ce41ea130002f8a96d1ee22fc8 100644
--- a/src/Make_mvc.mak
+++ b/src/Make_mvc.mak
@@ -390,7 +390,7 @@ OBJ = \
 	$(OUTDIR)\fold.obj \
 	$(OUTDIR)\getchar.obj \
 	$(OUTDIR)\hardcopy.obj \
-	$(OUTDIR)\hashtable.obj \
+	$(OUTDIR)\hashtab.obj \
 	$(OUTDIR)\main.obj \
 	$(OUTDIR)\mark.obj \
 	$(OUTDIR)\mbyte.obj \
@@ -407,7 +407,7 @@ OBJ = \
 	$(OUTDIR)\os_mswin.obj \
 	$(OUTDIR)\os_win32.obj \
 	$(OUTDIR)\pathdef.obj \
-	$(OUTDIR)\popupmenu.obj \
+	$(OUTDIR)\popupmnu.obj \
 	$(OUTDIR)\quickfix.obj \
 	$(OUTDIR)\regexp.obj \
 	$(OUTDIR)\screen.obj \
@@ -828,7 +828,7 @@ $(OUTDIR)/getchar.obj:	$(OUTDIR) getchar.c  $(INCL)
 
 $(OUTDIR)/hardcopy.obj:	$(OUTDIR) hardcopy.c  $(INCL)
 
-$(OUTDIR)/hashtable.obj:	$(OUTDIR) hashtable.c  $(INCL)
+$(OUTDIR)/hashtab.obj:	$(OUTDIR) hashtab.c  $(INCL)
 
 $(OUTDIR)/gui.obj:	$(OUTDIR) gui.c  $(INCL) $(GUI_INCL)
 
@@ -903,7 +903,7 @@ $(OUTDIR)/os_w32exe.obj:	$(OUTDIR) os_w32exe.c  $(INCL)
 $(OUTDIR)/pathdef.obj:	$(OUTDIR) $(PATHDEF_SRC) $(INCL)
 	$(CC) $(CFLAGS) $(PATHDEF_SRC)
 
-$(OUTDIR)/popupmenu.obj:	$(OUTDIR) popupmenu.c  $(INCL)
+$(OUTDIR)/popupmnu.obj:	$(OUTDIR) popupmnu.c  $(INCL)
 
 $(OUTDIR)/quickfix.obj:	$(OUTDIR) quickfix.c  $(INCL)
 
@@ -979,7 +979,7 @@ proto.h: \
 	proto/fileio.pro \
 	proto/getchar.pro \
 	proto/hardcopy.pro \
-	proto/hashtable.pro \
+	proto/hashtab.pro \
 	proto/main.pro \
 	proto/mark.pro \
 	proto/memfile.pro \
@@ -995,7 +995,7 @@ proto.h: \
 	proto/option.pro \
 	proto/os_mswin.pro \
 	proto/os_win32.pro \
-	proto/popupmenu.pro \
+	proto/popupmnu.pro \
 	proto/quickfix.pro \
 	proto/regexp.pro \
 	proto/screen.pro \
diff --git a/src/Make_os2.mak b/src/Make_os2.mak
index 1a64c113d403be90c8535dbf77c766667eb45b15..e90f23e28661969ecfd64c3d4826a68c52e92c6b 100644
--- a/src/Make_os2.mak
+++ b/src/Make_os2.mak
@@ -54,7 +54,7 @@ OBJ = \
 	fold.o \
 	getchar.o \
 	hardcopy.o \
-	hashtable.o \
+	hashtab.o \
 	main.o \
 	mark.o \
 	memfile.o \
@@ -68,7 +68,7 @@ OBJ = \
 	normal.o \
 	ops.o \
 	option.o \
-	popupmenu.o \
+	popupmnu.o \
 	quickfix.o \
 	regexp.o \
 	screen.o \
@@ -127,7 +127,7 @@ fileio.o:	fileio.c  $(INCL)
 fold.o:		fold.c  $(INCL)
 getchar.o:	getchar.c  $(INCL)
 hardcopy.o:	hardcopy.c  $(INCL)
-hashtable.o:	hashtable.c  $(INCL)
+hashtab.o:	hashtab.c  $(INCL)
 main.o:		main.c  $(INCL)
 mark.o:		mark.c  $(INCL)
 memfile.o:	memfile.c  $(INCL)
@@ -141,7 +141,7 @@ mbyte.o:	mbyte.c  $(INCL)
 normal.o:	normal.c  $(INCL)
 ops.o:		ops.c  $(INCL)
 option.o:	option.c  $(INCL)
-popupmenu.o:	popupmenu.c  $(INCL)
+popupmnu.o:	popupmnu.c  $(INCL)
 quickfix.o:	quickfix.c  $(INCL)
 regexp.o:	regexp.c  $(INCL)
 screen.o:	screen.c  $(INCL)
diff --git a/src/Make_ro.mak b/src/Make_ro.mak
index 1577409a1f82bcd76b030839213568fdd3503af8..203a18ac4d935d53a89e8b4de9c493faff0bdaf8 100644
--- a/src/Make_ro.mak
+++ b/src/Make_ro.mak
@@ -13,9 +13,9 @@ ASMFLAGS   = -throwback -objasm -gcc
 
 OBJS =  o.buffer o.charset o.diff o.digraph o.edit o.eval o.ex_cmds o.ex_cmds2  \
 	o.ex_docmd o.ex_eval o.ex_getln o.fileio o.fold o.getchar \
-	o.hardcopy o.hashtable o.main o.mark o.mbyte  \
+	o.hardcopy o.hashtab o.main o.mark o.mbyte  \
 	o.memfile o.memline o.menu o.message o.misc1 o.misc2 o.move     \
-	o.normal o.ops o.option o.popupmenu o.quickfix o.regexp o.screen \
+	o.normal o.ops o.option o.popupmnu o.quickfix o.regexp o.screen \
 	o.search   \
 	o.spell o.syntax o.tag o.term o.termlib o.ui o.undo o.version	\
 	o.window o.os_riscos o.swis o.gui o.gui_riscos
@@ -69,7 +69,7 @@ o.getchar:	c.getchar
 
 o.hardcopy:	c.hardcopy
 
-o.hashtable:	c.hashtable
+o.hashtab:	c.hashtab
 
 o.gui:		c.gui
 
@@ -105,7 +105,7 @@ o.os_riscos:	c.os_riscos
 
 o.pty:		c.pty
 
-o.popupmenu:	c.popupmenu
+o.popupmnu:	c.popupmnu
 
 o.quickfix:	c.quickfix
 
diff --git a/src/Make_sas.mak b/src/Make_sas.mak
index 9caadd0494093fb79461937b1692b903389d2111..98ec528be8856ebd37ce568aac5539881ab0a860 100644
--- a/src/Make_sas.mak
+++ b/src/Make_sas.mak
@@ -104,7 +104,7 @@ SRC = \
 	fold.c \
 	getchar.c \
 	hardcopy.c \
-	hashtable.c \
+	hashtab.c \
 	main.c \
 	mark.c \
 	memfile.c \
@@ -119,7 +119,7 @@ SRC = \
 	ops.c \
 	option.c \
 	os_amiga.c \
-	popupmenu.c \
+	popupmnu.c \
 	quickfix.c \
 	regexp.c \
 	screen.c \
@@ -149,7 +149,7 @@ OBJ = \
 	fold.o \
 	getchar.o \
 	hardcopy.o \
-	hashtable.o \
+	hashtab.o \
 	main.o \
 	mark.o \
 	memfile.o \
@@ -164,7 +164,7 @@ OBJ = \
 	ops.o \
 	option.o \
 	os_amiga.o \
-	popupmenu.o \
+	popupmnu.o \
 	quickfix.o \
 	regexp.o \
 	screen.o \
@@ -194,7 +194,7 @@ PRO = \
 	proto/fold.pro \
 	proto/getchar.pro \
 	proto/hardcopy.pro \
-	proto/hashtable.pro \
+	proto/hashtab.pro \
 	proto/main.pro \
 	proto/mark.pro \
 	proto/memfile.pro \
@@ -209,7 +209,7 @@ PRO = \
 	proto/ops.pro \
 	proto/option.pro \
 	proto/os_amiga.pro \
-	proto/popupmenu.pro \
+	proto/popupmnu.pro \
 	proto/quickfix.pro \
 	proto/regexp.pro \
 	proto/screen.pro \
@@ -308,8 +308,8 @@ getchar.o:		getchar.c
 proto/getchar.pro:	getchar.c
 hardcopy.o:		hardcopy.c
 proto/hardcopy.pro:	hardcopy.c
-hashtable.o:		hashtable.c
-proto/hashtable.pro:	hashtable.c
+hashtab.o:		hashtab.c
+proto/hashtab.pro:	hashtab.c
 main.o:			main.c
 proto/main.pro:		main.c
 mark.o:			mark.c
@@ -338,8 +338,8 @@ option.o:		option.c
 proto/option.pro:	option.c
 os_amiga.o:		os_amiga.c
 proto/os_amiga.pro:	os_amiga.c
-popupmenu.o:		popupmenu.c
-proto/popupmenu.pro:	popupmenu.c
+popupmnu.o:		popupmnu.c
+proto/popupmnu.pro:	popupmnu.c
 quickfix.o:		quickfix.c
 proto/quickfix.pro:	quickfix.c
 regexp.o:		regexp.c
diff --git a/src/Makefile b/src/Makefile
index 4c415cb10ba28f84b06b01724df22155fa0a6a34..86291b647e62cd71466aae22652e1af1631f3cfb 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -304,7 +304,7 @@ CClink = $(CC)
 
 # examples (can only use one!):
 #CONF_ARGS = --exec-prefix=/usr
-#CONF_ARGS = --with-vim-name=vim6 --with-ex-name=ex6 --with-view-name=view6
+#CONF_ARGS = --with-vim-name=vim7 --with-ex-name=ex7 --with-view-name=view7
 #CONF_ARGS = --with-global-runtime=/etc/vim
 
 # Use this one if you distribute a modified version of Vim.
@@ -876,7 +876,7 @@ MAN1DIR = /man1
 
 ### Vim version (adjusted by a script)
 VIMMAJOR = 7
-VIMMINOR = 0aa
+VIMMINOR = 0b
 
 ### Location of Vim files (should not need to be changed, and  {{{1
 ### some things might not work when they are changed!)
@@ -1348,7 +1348,7 @@ BASIC_SRC = \
 	fold.c \
 	getchar.c \
 	hardcopy.c \
-	hashtable.c \
+	hashtab.c \
 	if_cscope.c \
 	if_xcmdsrv.c \
 	main.c \
@@ -1366,7 +1366,7 @@ BASIC_SRC = \
 	option.c \
 	os_unix.c \
 	auto/pathdef.c \
-	popupmenu.c \
+	popupmnu.c \
 	quickfix.c \
 	regexp.c \
 	screen.c \
@@ -1418,7 +1418,7 @@ OBJ = \
 	objects/fold.o \
 	objects/getchar.o \
 	objects/hardcopy.o \
-	objects/hashtable.o \
+	objects/hashtab.o \
 	$(HANGULIN_OBJ) \
 	objects/if_cscope.o \
 	objects/if_xcmdsrv.o \
@@ -1437,7 +1437,7 @@ OBJ = \
 	objects/option.o \
 	objects/os_unix.o \
 	objects/pathdef.o \
-	objects/popupmenu.o \
+	objects/popupmnu.o \
 	objects/quickfix.o \
 	objects/regexp.o \
 	objects/screen.o \
@@ -1477,7 +1477,7 @@ PRO_AUTO = \
 	fold.pro \
 	getchar.pro \
 	hardcopy.pro \
-	hashtable.pro \
+	hashtab.pro \
 	hangulin.pro \
 	if_cscope.pro \
 	if_xcmdsrv.pro \
@@ -1497,7 +1497,7 @@ PRO_AUTO = \
 	ops.pro \
 	option.pro \
 	os_unix.pro \
-	popupmenu.pro \
+	popupmnu.pro \
 	quickfix.pro \
 	regexp.pro \
 	screen.pro \
@@ -2298,8 +2298,8 @@ objects/getchar.o: getchar.c
 objects/hardcopy.o: hardcopy.c
 	$(CCC) -o $@ hardcopy.c
 
-objects/hashtable.o: hashtable.c
-	$(CCC) -o $@ hashtable.c
+objects/hashtab.o: hashtab.c
+	$(CCC) -o $@ hashtab.c
 
 objects/gui.o: gui.c
 	$(CCC) -o $@ gui.c
@@ -2445,8 +2445,8 @@ objects/py_getpath.o: $(PYTHON_CONFDIR)/getpath.c
 objects/pty.o: pty.c
 	$(CCC) -o $@ pty.c
 
-objects/popupmenu.o: popupmenu.c
-	$(CCC) -o $@ popupmenu.c
+objects/popupmnu.o: popupmnu.c
+	$(CCC) -o $@ popupmnu.c
 
 objects/quickfix.o: quickfix.c
 	$(CCC) -o $@ quickfix.c
@@ -2589,205 +2589,201 @@ $(RESDIR)/%.icns: %.icns
 ### (automatically generated by 'make depend')
 ### Dependencies:
 objects/buffer.o: buffer.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
-  ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h gui_beval.h \
-  proto/gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
-  arabic.h if_sniff.h version.h
+  ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
+  gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h \
+  arabic.h version.h
 objects/charset.o: charset.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
-  ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h gui_beval.h \
-  proto/gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
-  arabic.h if_sniff.h
+  ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
+  gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h \
+  arabic.h
 objects/diff.o: diff.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
-  ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h gui_beval.h \
-  proto/gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
-  arabic.h if_sniff.h
+  ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
+  gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h \
+  arabic.h
 objects/digraph.o: digraph.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
-  ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h gui_beval.h \
-  proto/gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
-  arabic.h if_sniff.h
+  ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
+  gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h \
+  arabic.h
 objects/edit.o: edit.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
-  ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h gui_beval.h \
-  proto/gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
-  arabic.h if_sniff.h
+  ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
+  gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h \
+  arabic.h
 objects/eval.o: eval.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
-  ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h gui_beval.h \
-  proto/gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
-  arabic.h if_sniff.h version.h
+  ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
+  gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h \
+  arabic.h version.h
 objects/ex_cmds.o: ex_cmds.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
-  ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h gui_beval.h \
-  proto/gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
-  arabic.h if_sniff.h version.h
+  ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
+  gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h \
+  arabic.h version.h
 objects/ex_cmds2.o: ex_cmds2.c vim.h auto/config.h feature.h os_unix.h \
-  auto/osdef.h ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h \
-  gui_beval.h proto/gui_beval.pro option.h ex_cmds.h proto.h globals.h \
-  farsi.h arabic.h if_sniff.h version.h
+  auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
+  regexp.h gui.h gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h \
+  globals.h farsi.h arabic.h version.h
 objects/ex_docmd.o: ex_docmd.c vim.h auto/config.h feature.h os_unix.h \
-  auto/osdef.h ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h \
-  gui_beval.h proto/gui_beval.pro option.h ex_cmds.h proto.h globals.h \
-  farsi.h arabic.h if_sniff.h
+  auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
+  regexp.h gui.h gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h \
+  globals.h farsi.h arabic.h
 objects/ex_eval.o: ex_eval.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
-  ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h gui_beval.h \
-  proto/gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
-  arabic.h if_sniff.h
+  ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
+  gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h \
+  arabic.h
 objects/ex_getln.o: ex_getln.c vim.h auto/config.h feature.h os_unix.h \
-  auto/osdef.h ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h \
-  gui_beval.h proto/gui_beval.pro option.h ex_cmds.h proto.h globals.h \
-  farsi.h arabic.h if_sniff.h
+  auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
+  regexp.h gui.h gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h \
+  globals.h farsi.h arabic.h
 objects/fileio.o: fileio.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
-  ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h gui_beval.h \
-  proto/gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
-  arabic.h if_sniff.h
+  ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
+  gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h \
+  arabic.h
 objects/fold.o: fold.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
-  ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h gui_beval.h \
-  proto/gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
-  arabic.h if_sniff.h
+  ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
+  gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h \
+  arabic.h
 objects/getchar.o: getchar.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
-  ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h gui_beval.h \
-  proto/gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
-  arabic.h if_sniff.h
+  ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
+  gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h \
+  arabic.h
 objects/hardcopy.o: hardcopy.c vim.h auto/config.h feature.h os_unix.h \
-  auto/osdef.h ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h \
-  gui_beval.h proto/gui_beval.pro option.h ex_cmds.h proto.h globals.h \
-  farsi.h arabic.h if_sniff.h version.h
-objects/hashtable.o: hashtable.c vim.h auto/config.h feature.h os_unix.h \
-  auto/osdef.h ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h \
-  gui_beval.h proto/gui_beval.pro option.h ex_cmds.h proto.h globals.h \
-  farsi.h arabic.h if_sniff.h
+  auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
+  regexp.h gui.h gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h \
+  globals.h farsi.h arabic.h version.h
+objects/hashtab.o: hashtab.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
+  ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
+  gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h \
+  arabic.h
 objects/if_cscope.o: if_cscope.c vim.h auto/config.h feature.h os_unix.h \
-  auto/osdef.h ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h \
-  gui_beval.h proto/gui_beval.pro option.h ex_cmds.h proto.h globals.h \
-  farsi.h arabic.h if_sniff.h if_cscope.h
+  auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
+  regexp.h gui.h gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h \
+  globals.h farsi.h arabic.h if_cscope.h
 objects/if_xcmdsrv.o: if_xcmdsrv.c vim.h auto/config.h feature.h os_unix.h \
-  auto/osdef.h ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h \
-  gui_beval.h proto/gui_beval.pro option.h ex_cmds.h proto.h globals.h \
-  farsi.h arabic.h if_sniff.h version.h
+  auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
+  regexp.h gui.h gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h \
+  globals.h farsi.h arabic.h version.h
 objects/main.o: main.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
-  ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h gui_beval.h \
-  proto/gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
-  arabic.h if_sniff.h farsi.c arabic.c
+  ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
+  gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h \
+  arabic.h farsi.c arabic.c
 objects/mark.o: mark.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
-  ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h gui_beval.h \
-  proto/gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
-  arabic.h if_sniff.h
+  ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
+  gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h \
+  arabic.h
 objects/memfile.o: memfile.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
-  ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h gui_beval.h \
-  proto/gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
-  arabic.h if_sniff.h
+  ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
+  gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h \
+  arabic.h
 objects/memline.o: memline.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
-  ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h gui_beval.h \
-  proto/gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
-  arabic.h if_sniff.h
+  ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
+  gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h \
+  arabic.h
 objects/menu.o: menu.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
-  ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h gui_beval.h \
-  proto/gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
-  arabic.h if_sniff.h
+  ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
+  gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h \
+  arabic.h
 objects/message.o: message.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
-  ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h gui_beval.h \
-  proto/gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
-  arabic.h if_sniff.h
+  ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
+  gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h \
+  arabic.h
 objects/misc1.o: misc1.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
-  ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h gui_beval.h \
-  proto/gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
-  arabic.h if_sniff.h version.h
+  ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
+  gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h \
+  arabic.h version.h
 objects/misc2.o: misc2.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
-  ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h gui_beval.h \
-  proto/gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
-  arabic.h if_sniff.h
+  ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
+  gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h \
+  arabic.h
 objects/move.o: move.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
-  ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h gui_beval.h \
-  proto/gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
-  arabic.h if_sniff.h
+  ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
+  gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h \
+  arabic.h
 objects/mbyte.o: mbyte.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
-  ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h gui_beval.h \
-  proto/gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
-  arabic.h if_sniff.h
+  ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
+  gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h \
+  arabic.h
 objects/normal.o: normal.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
-  ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h gui_beval.h \
-  proto/gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
-  arabic.h if_sniff.h
+  ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
+  gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h \
+  arabic.h
 objects/ops.o: ops.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h ascii.h \
-  keymap.h term.h macros.h structs.h regexp.h gui.h gui_beval.h \
-  proto/gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
-  arabic.h if_sniff.h
+  keymap.h term.h macros.h option.h structs.h regexp.h gui.h gui_beval.h \
+  proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h arabic.h
 objects/option.o: option.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
-  ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h gui_beval.h \
-  proto/gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
-  arabic.h if_sniff.h
+  ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
+  gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h \
+  arabic.h
 objects/os_unix.o: os_unix.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
-  ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h gui_beval.h \
-  proto/gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
-  arabic.h if_sniff.h os_unixx.h
+  ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
+  gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h \
+  arabic.h os_unixx.h
 objects/pathdef.o: auto/pathdef.c ./vim.h ./auto/config.h ./feature.h ./os_unix.h \
-  ./auto/osdef.h ./ascii.h ./keymap.h ./term.h ./macros.h ./structs.h \
-  ./regexp.h ./gui.h ./gui_beval.h proto/gui_beval.pro ./option.h \
-  ./ex_cmds.h ./proto.h ./globals.h ./farsi.h ./arabic.h ./if_sniff.h
-objects/popupmenu.o: popupmenu.c vim.h auto/config.h feature.h os_unix.h \
-  auto/osdef.h ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h \
-  gui_beval.h proto/gui_beval.pro option.h ex_cmds.h proto.h globals.h \
-  farsi.h arabic.h if_sniff.h
+  ./auto/osdef.h ./ascii.h ./keymap.h ./term.h ./macros.h ./option.h \
+  ./structs.h ./regexp.h ./gui.h ./gui_beval.h proto/gui_beval.pro \
+  ./ex_cmds.h ./proto.h ./globals.h ./farsi.h ./arabic.h
+objects/popupmnu.o: popupmnu.c vim.h auto/config.h feature.h os_unix.h \
+  auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
+  regexp.h gui.h gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h \
+  globals.h farsi.h arabic.h
 objects/quickfix.o: quickfix.c vim.h auto/config.h feature.h os_unix.h \
-  auto/osdef.h ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h \
-  gui_beval.h proto/gui_beval.pro option.h ex_cmds.h proto.h globals.h \
-  farsi.h arabic.h if_sniff.h
+  auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
+  regexp.h gui.h gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h \
+  globals.h farsi.h arabic.h
 objects/regexp.o: regexp.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
-  ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h gui_beval.h \
-  proto/gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
-  arabic.h if_sniff.h
+  ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
+  gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h \
+  arabic.h
 objects/screen.o: screen.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
-  ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h gui_beval.h \
-  proto/gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
-  arabic.h if_sniff.h
+  ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
+  gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h \
+  arabic.h
 objects/search.o: search.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
-  ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h gui_beval.h \
-  proto/gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
-  arabic.h if_sniff.h
+  ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
+  gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h \
+  arabic.h
 objects/spell.o: spell.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
-  ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h gui_beval.h \
-  proto/gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
-  arabic.h if_sniff.h
+  ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
+  gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h \
+  arabic.h
 objects/syntax.o: syntax.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
-  ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h gui_beval.h \
-  proto/gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
-  arabic.h if_sniff.h
+  ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
+  gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h \
+  arabic.h
 objects/tag.o: tag.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h ascii.h \
-  keymap.h term.h macros.h structs.h regexp.h gui.h gui_beval.h \
-  proto/gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
-  arabic.h if_sniff.h
+  keymap.h term.h macros.h option.h structs.h regexp.h gui.h gui_beval.h \
+  proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h arabic.h
 objects/term.o: term.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
-  ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h gui_beval.h \
-  proto/gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
-  arabic.h if_sniff.h
+  ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
+  gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h \
+  arabic.h
 objects/ui.o: ui.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h ascii.h \
-  keymap.h term.h macros.h structs.h regexp.h gui.h gui_beval.h \
-  proto/gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
-  arabic.h if_sniff.h
+  keymap.h term.h macros.h option.h structs.h regexp.h gui.h gui_beval.h \
+  proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h arabic.h
 objects/undo.o: undo.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
-  ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h gui_beval.h \
-  proto/gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
-  arabic.h if_sniff.h
+  ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
+  gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h \
+  arabic.h
 objects/version.o: version.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
-  ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h gui_beval.h \
-  proto/gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
-  arabic.h if_sniff.h version.h
+  ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
+  gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h \
+  arabic.h version.h
 objects/window.o: window.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
-  ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h gui_beval.h \
-  proto/gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
-  arabic.h if_sniff.h
+  ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
+  gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h \
+  arabic.h
 objects/gui.o: gui.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h ascii.h \
-  keymap.h term.h macros.h structs.h regexp.h gui.h gui_beval.h \
-  proto/gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
-  arabic.h if_sniff.h
+  keymap.h term.h macros.h option.h structs.h regexp.h gui.h gui_beval.h \
+  proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h arabic.h
 objects/gui_gtk.o: gui_gtk.c gui_gtk_f.h vim.h auto/config.h feature.h os_unix.h \
-  auto/osdef.h ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h \
-  gui_beval.h proto/gui_beval.pro option.h ex_cmds.h proto.h globals.h \
-  farsi.h arabic.h if_sniff.h ../pixmaps/stock_icons.h
+  auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
+  regexp.h gui.h gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h \
+  globals.h farsi.h arabic.h ../pixmaps/stock_icons.h
 objects/gui_gtk_f.o: gui_gtk_f.c vim.h auto/config.h feature.h os_unix.h \
-  auto/osdef.h ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h \
-  gui_beval.h proto/gui_beval.pro option.h ex_cmds.h proto.h globals.h \
-  farsi.h arabic.h if_sniff.h gui_gtk_f.h
+  auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
+  regexp.h gui.h gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h \
+  globals.h farsi.h arabic.h gui_gtk_f.h
 objects/gui_motif.o: gui_motif.c vim.h auto/config.h feature.h os_unix.h \
-  auto/osdef.h ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h \
-  gui_beval.h proto/gui_beval.pro option.h ex_cmds.h proto.h globals.h \
-  farsi.h arabic.h if_sniff.h gui_xmebw.h ../pixmaps/alert.xpm \
+  auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
+  regexp.h gui.h gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h \
+  globals.h farsi.h arabic.h gui_xmebw.h ../pixmaps/alert.xpm \
   ../pixmaps/error.xpm ../pixmaps/generic.xpm ../pixmaps/info.xpm \
   ../pixmaps/quest.xpm gui_x11_pm.h ../pixmaps/tb_new.xpm \
   ../pixmaps/tb_open.xpm ../pixmaps/tb_close.xpm ../pixmaps/tb_save.xpm \
@@ -2806,17 +2802,17 @@ objects/gui_motif.o: gui_motif.c vim.h auto/config.h feature.h os_unix.h \
   ../pixmaps/tb_vsplit.xpm ../pixmaps/tb_maxwidth.xpm \
   ../pixmaps/tb_minwidth.xpm
 objects/gui_xmdlg.o: gui_xmdlg.c vim.h auto/config.h feature.h os_unix.h \
-  auto/osdef.h ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h \
-  gui_beval.h proto/gui_beval.pro option.h ex_cmds.h proto.h globals.h \
-  farsi.h arabic.h if_sniff.h
+  auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
+  regexp.h gui.h gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h \
+  globals.h farsi.h arabic.h
 objects/gui_xmebw.o: gui_xmebw.c vim.h auto/config.h feature.h os_unix.h \
-  auto/osdef.h ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h \
-  gui_beval.h proto/gui_beval.pro option.h ex_cmds.h proto.h globals.h \
-  farsi.h arabic.h if_sniff.h gui_xmebwp.h gui_xmebw.h
+  auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
+  regexp.h gui.h gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h \
+  globals.h farsi.h arabic.h gui_xmebwp.h gui_xmebw.h
 objects/gui_athena.o: gui_athena.c vim.h auto/config.h feature.h os_unix.h \
-  auto/osdef.h ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h \
-  gui_beval.h proto/gui_beval.pro option.h ex_cmds.h proto.h globals.h \
-  farsi.h arabic.h if_sniff.h gui_at_sb.h gui_x11_pm.h \
+  auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
+  regexp.h gui.h gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h \
+  globals.h farsi.h arabic.h gui_at_sb.h gui_x11_pm.h \
   ../pixmaps/tb_new.xpm ../pixmaps/tb_open.xpm ../pixmaps/tb_close.xpm \
   ../pixmaps/tb_save.xpm ../pixmaps/tb_print.xpm ../pixmaps/tb_cut.xpm \
   ../pixmaps/tb_copy.xpm ../pixmaps/tb_paste.xpm ../pixmaps/tb_find.xpm \
@@ -2833,69 +2829,72 @@ objects/gui_athena.o: gui_athena.c vim.h auto/config.h feature.h os_unix.h \
   ../pixmaps/tb_vsplit.xpm ../pixmaps/tb_maxwidth.xpm \
   ../pixmaps/tb_minwidth.xpm
 objects/gui_gtk_x11.o: gui_gtk_x11.c vim.h auto/config.h feature.h os_unix.h \
-  auto/osdef.h ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h \
-  gui_beval.h proto/gui_beval.pro option.h ex_cmds.h proto.h globals.h \
-  farsi.h arabic.h if_sniff.h gui_gtk_f.h ../runtime/vim32x32.xpm \
+  auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
+  regexp.h gui.h gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h \
+  globals.h farsi.h arabic.h gui_gtk_f.h ../runtime/vim32x32.xpm \
   ../runtime/vim16x16.xpm ../runtime/vim48x48.xpm
 objects/gui_x11.o: gui_x11.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
-  ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h gui_beval.h \
-  proto/gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
-  arabic.h if_sniff.h ../runtime/vim32x32.xpm ../runtime/vim16x16.xpm \
+  ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
+  gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h \
+  arabic.h ../runtime/vim32x32.xpm ../runtime/vim16x16.xpm \
   ../runtime/vim48x48.xpm
 objects/gui_at_sb.o: gui_at_sb.c vim.h auto/config.h feature.h os_unix.h \
-  auto/osdef.h ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h \
-  gui_beval.h proto/gui_beval.pro option.h ex_cmds.h proto.h globals.h \
-  farsi.h arabic.h if_sniff.h gui_at_sb.h
+  auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
+  regexp.h gui.h gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h \
+  globals.h farsi.h arabic.h gui_at_sb.h
 objects/gui_at_fs.o: gui_at_fs.c vim.h auto/config.h feature.h os_unix.h \
-  auto/osdef.h ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h \
-  gui_beval.h proto/gui_beval.pro option.h ex_cmds.h proto.h globals.h \
-  farsi.h arabic.h if_sniff.h gui_at_sb.h
+  auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
+  regexp.h gui.h gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h \
+  globals.h farsi.h arabic.h gui_at_sb.h
 objects/pty.o: pty.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h ascii.h \
-  keymap.h term.h macros.h structs.h regexp.h gui.h gui_beval.h \
-  proto/gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
-  arabic.h if_sniff.h
+  keymap.h term.h macros.h option.h structs.h regexp.h gui.h gui_beval.h \
+  proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h arabic.h
 objects/hangulin.o: hangulin.c vim.h auto/config.h feature.h os_unix.h \
-  auto/osdef.h ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h \
-  gui_beval.h proto/gui_beval.pro option.h ex_cmds.h proto.h globals.h \
-  farsi.h arabic.h if_sniff.h
+  auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
+  regexp.h gui.h gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h \
+  globals.h farsi.h arabic.h
+objects/if_mzsch.o: if_mzsch.c vim.h auto/config.h feature.h os_unix.h \
+  auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
+  regexp.h gui.h gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h \
+  globals.h farsi.h arabic.h if_mzsch.h
 objects/if_perl.o: auto/if_perl.c ./vim.h ./auto/config.h ./feature.h ./os_unix.h \
-  ./auto/osdef.h ./ascii.h ./keymap.h ./term.h ./macros.h ./structs.h \
-  ./regexp.h ./gui.h ./gui_beval.h proto/gui_beval.pro ./option.h \
-  ./ex_cmds.h ./proto.h ./globals.h ./farsi.h ./arabic.h ./if_sniff.h
+  ./auto/osdef.h ./ascii.h ./keymap.h ./term.h ./macros.h ./option.h \
+  ./structs.h ./regexp.h ./gui.h ./gui_beval.h proto/gui_beval.pro \
+  ./ex_cmds.h ./proto.h ./globals.h ./farsi.h ./arabic.h
 objects/if_perlsfio.o: if_perlsfio.c vim.h auto/config.h feature.h os_unix.h \
-  auto/osdef.h ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h \
-  gui_beval.h proto/gui_beval.pro option.h ex_cmds.h proto.h globals.h \
-  farsi.h arabic.h if_sniff.h
+  auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
+  regexp.h gui.h gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h \
+  globals.h farsi.h arabic.h
 objects/if_python.o: if_python.c vim.h auto/config.h feature.h os_unix.h \
-  auto/osdef.h ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h \
-  gui_beval.h proto/gui_beval.pro option.h ex_cmds.h proto.h globals.h \
-  farsi.h arabic.h if_sniff.h
+  auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
+  regexp.h gui.h gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h \
+  globals.h farsi.h arabic.h
 objects/if_tcl.o: if_tcl.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
-  ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h gui_beval.h \
-  proto/gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
-  arabic.h if_sniff.h
+  ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
+  gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h \
+  arabic.h
 objects/if_ruby.o: if_ruby.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
-  ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h gui_beval.h \
-  proto/gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
-  arabic.h if_sniff.h version.h
+  ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
+  gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h \
+  arabic.h version.h
 objects/if_sniff.o: if_sniff.c vim.h auto/config.h feature.h os_unix.h \
-  auto/osdef.h ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h \
-  gui_beval.h proto/gui_beval.pro option.h ex_cmds.h proto.h globals.h \
-  farsi.h arabic.h if_sniff.h os_unixx.h
+  auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
+  regexp.h gui.h gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h \
+  globals.h farsi.h arabic.h os_unixx.h
 objects/gui_beval.o: gui_beval.c vim.h auto/config.h feature.h os_unix.h \
-  auto/osdef.h ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h \
-  gui_beval.h proto/gui_beval.pro option.h ex_cmds.h proto.h globals.h \
-  farsi.h arabic.h if_sniff.h
+  auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
+  regexp.h gui.h gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h \
+  globals.h farsi.h arabic.h
 objects/workshop.o: workshop.c auto/config.h integration.h vim.h feature.h \
-  os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h structs.h \
-  regexp.h gui.h gui_beval.h proto/gui_beval.pro option.h ex_cmds.h \
-  proto.h globals.h farsi.h arabic.h if_sniff.h version.h workshop.h
+  os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h \
+  structs.h regexp.h gui.h gui_beval.h proto/gui_beval.pro ex_cmds.h \
+  proto.h globals.h farsi.h arabic.h version.h workshop.h
 objects/wsdebug.o: wsdebug.c
 objects/integration.o: integration.c vim.h auto/config.h feature.h os_unix.h \
-  auto/osdef.h ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h \
-  gui_beval.h proto/gui_beval.pro option.h ex_cmds.h proto.h globals.h \
-  farsi.h arabic.h if_sniff.h integration.h
+  auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
+  regexp.h gui.h gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h \
+  globals.h farsi.h arabic.h integration.h
 objects/netbeans.o: netbeans.c vim.h auto/config.h feature.h os_unix.h \
-  auto/osdef.h ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h \
-  gui_beval.h proto/gui_beval.pro option.h ex_cmds.h proto.h globals.h \
-  farsi.h arabic.h if_sniff.h version.h
+  auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
+  regexp.h gui.h gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h \
+  globals.h farsi.h arabic.h version.h
diff --git a/src/fileio.c b/src/fileio.c
index a5fdfb71dfd65134cbe5f6110cca8c46592cbd16..cf14c519b582c0a6e22baadf7b6c63ec70e46356 100644
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -1432,7 +1432,6 @@ retry:
 	    if (fio_flags & FIO_CODEPAGE)
 	    {
 		char_u	*src, *dst;
-		int	u8c;
 		WCHAR	ucs2buf[3];
 		int	ucs2len;
 		int	codepage = FIO_GET_CP(fio_flags);
@@ -1496,7 +1495,8 @@ retry:
 			}
 			else
 			{
-			    u8c = utf_ptr2char(src);
+			    int	    u8c = utf_ptr2char(src);
+
 			    if (u8c > 0xffff || (*src >= 0x80 && bytelen == 1))
 				found_bad = TRUE;
 			    ucs2buf[0] = u8c;
diff --git a/src/hashtab.c b/src/hashtab.c
new file mode 100644
index 0000000000000000000000000000000000000000..e3306b3c98be9c8b43ba88f721e4a734a9616b24
--- /dev/null
+++ b/src/hashtab.c
@@ -0,0 +1,518 @@
+/* vi:set ts=8 sts=4 sw=4:
+ *
+ * VIM - Vi IMproved	by Bram Moolenaar
+ *
+ * Do ":help uganda"  in Vim to read copying and usage conditions.
+ * Do ":help credits" in Vim to see a list of people who contributed.
+ * See README.txt for an overview of the Vim source code.
+ */
+
+/*
+ * hashtab.c: Handling of a hashtable with Vim-specific properties.
+ *
+ * Each item in a hashtable has a NUL terminated string key.  A key can appear
+ * only once in the table.
+ *
+ * A hash number is computed from the key for quick lookup.  When the hashes
+ * of two different keys point to the same entry an algorithm is used to
+ * iterate over other entries in the table until the right one is found.
+ * To make the iteration work removed keys are different from entries where a
+ * key was never present.
+ *
+ * The mechanism has been partly based on how Python Dictionaries are
+ * implemented.  The algorithm is from Knuth Vol. 3, Sec. 6.4.
+ *
+ * The hashtable grows to accommodate more entries when needed.  At least 1/3
+ * of the entries is empty to keep the lookup efficient (at the cost of extra
+ * memory).
+ */
+
+#include "vim.h"
+
+#if defined(FEAT_EVAL) || defined(FEAT_SYN_HL) || defined(PROTO)
+
+#if 0
+# define HT_DEBUG	/* extra checks for table consistency  and statistics */
+
+static long hash_count_lookup = 0;	/* count number of hashtab lookups */
+static long hash_count_perturb = 0;	/* count number of "misses" */
+#endif
+
+/* Magic value for algorithm that walks through the array. */
+#define PERTURB_SHIFT 5
+
+static int hash_may_resize __ARGS((hashtab_T *ht, int minitems));
+
+#if 0 /* currently not used */
+/*
+ * Create an empty hash table.
+ * Returns NULL when out of memory.
+ */
+    hashtab_T *
+hash_create()
+{
+    hashtab_T *ht;
+
+    ht = (hashtab_T *)alloc(sizeof(hashtab_T));
+    if (ht != NULL)
+	hash_init(ht);
+    return ht;
+}
+#endif
+
+/*
+ * Initialize an empty hash table.
+ */
+    void
+hash_init(ht)
+    hashtab_T *ht;
+{
+    /* This zeroes all "ht_" entries and all the "hi_key" in "ht_smallarray". */
+    vim_memset(ht, 0, sizeof(hashtab_T));
+    ht->ht_array = ht->ht_smallarray;
+    ht->ht_mask = HT_INIT_SIZE - 1;
+}
+
+/*
+ * Free the array of a hash table.  Does not free the items it contains!
+ * If "ht" is not freed then you should call hash_init() next!
+ */
+    void
+hash_clear(ht)
+    hashtab_T *ht;
+{
+    if (ht->ht_array != ht->ht_smallarray)
+	vim_free(ht->ht_array);
+}
+
+/*
+ * Free the array of a hash table and all the keys it contains.  The keys must
+ * have been allocated.  "off" is the offset from the start of the allocate
+ * memory to the location of the key (it's always positive).
+ */
+    void
+hash_clear_all(ht, off)
+    hashtab_T	*ht;
+    int		off;
+{
+    int		todo;
+    hashitem_T	*hi;
+
+    todo = ht->ht_used;
+    for (hi = ht->ht_array; todo > 0; ++hi)
+    {
+	if (!HASHITEM_EMPTY(hi))
+	{
+	    vim_free(hi->hi_key - off);
+	    --todo;
+	}
+    }
+    hash_clear(ht);
+}
+
+/*
+ * Find "key" in hashtable "ht".  "key" must not be NULL.
+ * Always returns a pointer to a hashitem.  If the item was not found then
+ * HASHITEM_EMPTY() is TRUE.  The pointer is then the place where the key
+ * would be added.
+ * WARNING: The returned pointer becomes invalid when the hashtable is changed
+ * (adding, setting or removing an item)!
+ */
+    hashitem_T *
+hash_find(ht, key)
+    hashtab_T	*ht;
+    char_u	*key;
+{
+    return hash_lookup(ht, key, hash_hash(key));
+}
+
+/*
+ * Like hash_find(), but caller computes "hash".
+ */
+    hashitem_T *
+hash_lookup(ht, key, hash)
+    hashtab_T	*ht;
+    char_u	*key;
+    hash_T	hash;
+{
+    hash_T	perturb;
+    hashitem_T	*freeitem;
+    hashitem_T	*hi;
+    int		idx;
+
+#ifdef HT_DEBUG
+    ++hash_count_lookup;
+#endif
+
+    /*
+     * Quickly handle the most common situations:
+     * - return if there is no item at all
+     * - skip over a removed item
+     * - return if the item matches
+     */
+    idx = hash & ht->ht_mask;
+    hi = &ht->ht_array[idx];
+
+    if (hi->hi_key == NULL)
+	return hi;
+    if (hi->hi_key == HI_KEY_REMOVED)
+	freeitem = hi;
+    else if (hi->hi_hash == hash && STRCMP(hi->hi_key, key) == 0)
+	return hi;
+    else
+	freeitem = NULL;
+
+    /*
+     * Need to search through the table to find the key.  The algorithm
+     * to step through the table starts with large steps, gradually becoming
+     * smaller down to (1/4 table size + 1).  This means it goes through all
+     * table entries in the end.
+     * When we run into a NULL key it's clear that the key isn't there.
+     * Return the first available slot found (can be a slot of a removed
+     * item).
+     */
+    for (perturb = hash; ; perturb >>= PERTURB_SHIFT)
+    {
+#ifdef HT_DEBUG
+	++hash_count_perturb;	    /* count a "miss" for hashtab lookup */
+#endif
+	idx = (idx << 2) + idx + perturb + 1;
+	hi = &ht->ht_array[idx & ht->ht_mask];
+	if (hi->hi_key == NULL)
+	    return freeitem == NULL ? hi : freeitem;
+	if (hi->hi_hash == hash
+		&& hi->hi_key != HI_KEY_REMOVED
+		&& STRCMP(hi->hi_key, key) == 0)
+	    return hi;
+	if (hi->hi_key == HI_KEY_REMOVED && freeitem == NULL)
+	    freeitem = hi;
+    }
+}
+
+/*
+ * Print the efficiency of hashtable lookups.
+ * Useful when trying different hash algorithms.
+ * Called when exiting.
+ */
+    void
+hash_debug_results()
+{
+#ifdef HT_DEBUG
+    fprintf(stderr, "\r\n\r\n\r\n\r\n");
+    fprintf(stderr, "Number of hashtable lookups: %ld\r\n", hash_count_lookup);
+    fprintf(stderr, "Number of perturb loops: %ld\r\n", hash_count_perturb);
+    fprintf(stderr, "Percentage of perturb loops: %ld%%\r\n",
+				hash_count_perturb * 100 / hash_count_lookup);
+#endif
+}
+
+/*
+ * Add item with key "key" to hashtable "ht".
+ * Returns FAIL when out of memory or the key is already present.
+ */
+    int
+hash_add(ht, key)
+    hashtab_T	*ht;
+    char_u	*key;
+{
+    hash_T	hash = hash_hash(key);
+    hashitem_T	*hi;
+
+    hi = hash_lookup(ht, key, hash);
+    if (!HASHITEM_EMPTY(hi))
+    {
+	EMSG2(_(e_intern2), "hash_add()");
+	return FAIL;
+    }
+    return hash_add_item(ht, hi, key, hash);
+}
+
+/*
+ * Add item "hi" with "key" to hashtable "ht".  "key" must not be NULL and
+ * "hi" must have been obtained with hash_lookup() and point to an empty item.
+ * "hi" is invalid after this!
+ * Returns OK or FAIL (out of memory).
+ */
+    int
+hash_add_item(ht, hi, key, hash)
+    hashtab_T	*ht;
+    hashitem_T	*hi;
+    char_u	*key;
+    hash_T	hash;
+{
+    /* If resizing failed before and it fails again we can't add an item. */
+    if (ht->ht_error && hash_may_resize(ht, 0) == FAIL)
+	return FAIL;
+
+    ++ht->ht_used;
+    if (hi->hi_key == NULL)
+	++ht->ht_filled;
+    hi->hi_key = key;
+    hi->hi_hash = hash;
+
+    /* When the space gets low may resize the array. */
+    return hash_may_resize(ht, 0);
+}
+
+#if 0  /* not used */
+/*
+ * Overwrite hashtable item "hi" with "key".  "hi" must point to the item that
+ * is to be overwritten.  Thus the number of items in the hashtable doesn't
+ * change.
+ * Although the key must be identical, the pointer may be different, thus it's
+ * set anyway (the key is part of an item with that key).
+ * The caller must take care of freeing the old item.
+ * "hi" is invalid after this!
+ */
+    void
+hash_set(hi, key)
+    hashitem_T	*hi;
+    char_u	*key;
+{
+    hi->hi_key = key;
+}
+#endif
+
+/*
+ * Remove item "hi" from  hashtable "ht".  "hi" must have been obtained with
+ * hash_lookup().
+ * The caller must take care of freeing the item itself.
+ */
+    void
+hash_remove(ht, hi)
+    hashtab_T	*ht;
+    hashitem_T	*hi;
+{
+    --ht->ht_used;
+    hi->hi_key = HI_KEY_REMOVED;
+    hash_may_resize(ht, 0);
+}
+
+/*
+ * Lock a hashtable: prevent that ht_array changes.
+ * Don't use this when items are to be added!
+ * Must call hash_unlock() later.
+ */
+    void
+hash_lock(ht)
+    hashtab_T	*ht;
+{
+    ++ht->ht_locked;
+}
+
+#if 0	    /* currently not used */
+/*
+ * Lock a hashtable at the specified number of entries.
+ * Caller must make sure no more than "size" entries will be added.
+ * Must call hash_unlock() later.
+ */
+    void
+hash_lock_size(ht, size)
+    hashtab_T	*ht;
+    int		size;
+{
+    (void)hash_may_resize(ht, size);
+    ++ht->ht_locked;
+}
+#endif
+
+/*
+ * Unlock a hashtable: allow ht_array changes again.
+ * Table will be resized (shrink) when necessary.
+ * This must balance a call to hash_lock().
+ */
+    void
+hash_unlock(ht)
+    hashtab_T	*ht;
+{
+    --ht->ht_locked;
+    (void)hash_may_resize(ht, 0);
+}
+
+/*
+ * Shrink a hashtable when there is too much empty space.
+ * Grow a hashtable when there is not enough empty space.
+ * Returns OK or FAIL (out of memory).
+ */
+    static int
+hash_may_resize(ht, minitems)
+    hashtab_T	*ht;
+    int		minitems;		/* minimal number of items */
+{
+    hashitem_T	temparray[HT_INIT_SIZE];
+    hashitem_T	*oldarray, *newarray;
+    hashitem_T	*olditem, *newitem;
+    int		newi;
+    int		todo;
+    long_u	oldsize, newsize;
+    long_u	minsize;
+    long_u	newmask;
+    hash_T	perturb;
+
+    /* Don't resize a locked table. */
+    if (ht->ht_locked > 0)
+	return OK;
+
+#ifdef HT_DEBUG
+    if (ht->ht_used > ht->ht_filled)
+	EMSG("hash_may_resize(): more used than filled");
+    if (ht->ht_filled >= ht->ht_mask + 1)
+	EMSG("hash_may_resize(): table completely filled");
+#endif
+
+    if (minitems == 0)
+    {
+	/* Return quickly for small tables with at least two NULL items.  NULL
+	 * items are required for the lookup to decide a key isn't there. */
+	if (ht->ht_filled < HT_INIT_SIZE - 1
+					 && ht->ht_array == ht->ht_smallarray)
+	    return OK;
+
+	/*
+	 * Grow or refill the array when it's more than 2/3 full (including
+	 * removed items, so that they get cleaned up).
+	 * Shrink the array when it's less than 1/5 full.  When growing it is
+	 * at least 1/4 full (avoids repeated grow-shrink operations)
+	 */
+	oldsize = ht->ht_mask + 1;
+	if (ht->ht_filled * 3 < oldsize * 2 && ht->ht_used > oldsize / 5)
+	    return OK;
+
+	if (ht->ht_used > 1000)
+	    minsize = ht->ht_used * 2;  /* it's big, don't make too much room */
+	else
+	    minsize = ht->ht_used * 4;  /* make plenty of room */
+    }
+    else
+    {
+	/* Use specified size. */
+	if ((long_u)minitems < ht->ht_used)	/* just in case... */
+	    minitems = ht->ht_used;
+	minsize = minitems * 3 / 2;	/* array is up to 2/3 full */
+    }
+
+    newsize = HT_INIT_SIZE;
+    while (newsize < minsize)
+    {
+	newsize <<= 1;		/* make sure it's always a power of 2 */
+	if (newsize == 0)
+	    return FAIL;	/* overflow */
+    }
+
+    if (newsize == HT_INIT_SIZE)
+    {
+	/* Use the small array inside the hashdict structure. */
+	newarray = ht->ht_smallarray;
+	if (ht->ht_array == newarray)
+	{
+	    /* Moving from ht_smallarray to ht_smallarray!  Happens when there
+	     * are many removed items.  Copy the items to be able to clean up
+	     * removed items. */
+	    mch_memmove(temparray, newarray, sizeof(temparray));
+	    oldarray = temparray;
+	}
+	else
+	    oldarray = ht->ht_array;
+    }
+    else
+    {
+	/* Allocate an array. */
+	newarray = (hashitem_T *)alloc((unsigned)
+					      (sizeof(hashitem_T) * newsize));
+	if (newarray == NULL)
+	{
+	    /* Out of memory.  When there are NULL items still return OK.
+	     * Otherwise set ht_error, because lookup may result in a hang if
+	     * we add another item. */
+	    if (ht->ht_filled < ht->ht_mask)
+		return OK;
+	    ht->ht_error = TRUE;
+	    return FAIL;
+	}
+	oldarray = ht->ht_array;
+    }
+    vim_memset(newarray, 0, (size_t)(sizeof(hashitem_T) * newsize));
+
+    /*
+     * Move all the items from the old array to the new one, placing them in
+     * the right spot.  The new array won't have any removed items, thus this
+     * is also a cleanup action.
+     */
+    newmask = newsize - 1;
+    todo = ht->ht_used;
+    for (olditem = oldarray; todo > 0; ++olditem)
+	if (!HASHITEM_EMPTY(olditem))
+	{
+	    /*
+	     * The algorithm to find the spot to add the item is identical to
+	     * the algorithm to find an item in hash_lookup().  But we only
+	     * need to search for a NULL key, thus it's simpler.
+	     */
+	    newi = olditem->hi_hash & newmask;
+	    newitem = &newarray[newi];
+
+	    if (newitem->hi_key != NULL)
+		for (perturb = olditem->hi_hash; ; perturb >>= PERTURB_SHIFT)
+		{
+		    newi = (newi << 2) + newi + perturb + 1;
+		    newitem = &newarray[newi & newmask];
+		    if (newitem->hi_key == NULL)
+			break;
+		}
+	    *newitem = *olditem;
+	    --todo;
+	}
+
+    if (ht->ht_array != ht->ht_smallarray)
+	vim_free(ht->ht_array);
+    ht->ht_array = newarray;
+    ht->ht_mask = newmask;
+    ht->ht_filled = ht->ht_used;
+    ht->ht_error = FALSE;
+
+    return OK;
+}
+
+/*
+ * Get the hash number for a key.
+ * If you think you know a better hash function: Compile with HT_DEBUG set and
+ * run a script that uses hashtables a lot.  Vim will then print statistics
+ * when exiting.  Try that with the current hash algorithm and yours.  The
+ * lower the percentage the better.
+ */
+    hash_T
+hash_hash(key)
+    char_u	*key;
+{
+    hash_T	hash;
+    char_u	*p;
+
+    if ((hash = *key) == 0)
+	return (hash_T)0;	/* Empty keys are not allowed, but we don't
+				   want to crash if we get one. */
+    p = key + 1;
+
+#if 0
+    /* ElfHash algorithm, which is supposed to have an even distribution.
+     * Suggested by Charles Campbell. */
+    hash_T	g;
+
+    while (*p != NUL)
+    {
+	hash = (hash << 4) + *p++;	/* clear low 4 bits of hash, add char */
+	g = hash & 0xf0000000L;		/* g has high 4 bits of hash only */
+	if (g != 0)
+	    hash ^= g >> 24;		/* xor g's high 4 bits into hash */
+    }
+#else
+
+    /* A simplistic algorithm that appears to do very well.
+     * Suggested by George Reilly. */
+    while (*p != NUL)
+	hash = hash * 101 + *p++;
+#endif
+
+    return hash;
+}
+
+#endif
diff --git a/src/message.c b/src/message.c
index e0971b67bc6dd2a4af45f12c279ac28313e5c162..d25d48501779fb4fecb3ac2191831241e37fcbb6 100644
--- a/src/message.c
+++ b/src/message.c
@@ -4167,8 +4167,8 @@ vim_snprintf(str, str_m, fmt, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10)
 		    {
 			/* memchr on HP does not like n > 2^31  !!! */
 			char *q = memchr(str_arg, '\0',
-				precision <= 0x7fffffff ? precision
-								: 0x7fffffff);
+				precision <= (size_t)0x7fffffffL ? precision
+						       : (size_t)0x7fffffffL);
 			str_arg_l = (q == NULL) ? precision : q - str_arg;
 		    }
 		    break;
diff --git a/src/os_msdos.c b/src/os_msdos.c
index 84341edf0e95f1edc695043a7e585f50dae87bf2..dee6d9128041bee3c8d125963a253aec0e1a793e 100644
--- a/src/os_msdos.c
+++ b/src/os_msdos.c
@@ -711,9 +711,7 @@ vim_kbhit(void)
     static  int
 WaitForChar(long msec)
 {
-    union REGS	regs;
     long	starttime = 0;
-    int		x, y;
 
     if (msec != 0)
 	starttime = biostime(0, 0L);
@@ -723,6 +721,8 @@ WaitForChar(long msec)
 #ifdef FEAT_MOUSE
 	long		clicktime;
 	static int	old_status = 0;
+	union REGS	regs;
+	int		x, y;
 
 	if (mouse_avail && mouse_active && mouse_click < 0)
 	{
diff --git a/src/os_msdos.h b/src/os_msdos.h
index b8e90e111abc45b93099d0a3421414cff3a01ec5..49420a8959a0979fa44be5f46168992a39e973f9 100644
--- a/src/os_msdos.h
+++ b/src/os_msdos.h
@@ -21,6 +21,7 @@
 # define USE_LONG_FNAME _USE_LFN    /* decide at run time */
 # define USE_FNAME_CASE
 # define HAVE_PUTENV
+# define HAVE_STDARG_H
 #else
 # define SHORT_FNAME		/* always 8.3 file name */
 #endif
diff --git a/src/proto.h b/src/proto.h
index 5191e7505b324220e7e38c83d6f30d056c2a7946..85f49378c7fb9bcf792881f2dcdeb7bc11f30bff 100644
--- a/src/proto.h
+++ b/src/proto.h
@@ -90,7 +90,7 @@ extern int _stricoll __ARGS((char *a, char *b));
 #  include "hangulin.pro"
 # endif
 # include "hardcopy.pro"
-# include "hashtable.pro"
+# include "hashtab.pro"
 # include "main.pro"
 # include "mark.pro"
 # include "memfile.pro"
@@ -140,8 +140,10 @@ void qsort __ARGS((void *base, size_t elm_count, size_t elm_size, int (*cmp)(con
 # include "normal.pro"
 # include "ops.pro"
 # include "option.pro"
-# include "popupmenu.pro"
-# include "quickfix.pro"
+# include "popupmnu.pro"
+# ifdef FEAT_QUICKFIX
+#  include "quickfix.pro"
+# endif
 # include "regexp.pro"
 # include "screen.pro"
 # include "search.pro"
diff --git a/src/proto/buffer.pro b/src/proto/buffer.pro
index 91934432d4c3191baefbdd2afffd336e3a4042ce..9da8c3e6e188667c454ce599002597dcaa4eef01 100644
--- a/src/proto/buffer.pro
+++ b/src/proto/buffer.pro
@@ -1,69 +1,69 @@
 /* buffer.c */
-int open_buffer __ARGS((int read_stdin, exarg_T *eap));
-int buf_valid __ARGS((buf_T *buf));
-void close_buffer __ARGS((win_T *win, buf_T *buf, int action));
-void buf_clear_file __ARGS((buf_T *buf));
-void buf_freeall __ARGS((buf_T *buf, int del_buf, int wipe_buf));
-void goto_buffer __ARGS((exarg_T *eap, int start, int dir, int count));
-void handle_swap_exists __ARGS((buf_T *old_curbuf));
-char_u *do_bufdel __ARGS((int command, char_u *arg, int addr_count, int start_bnr, int end_bnr, int forceit));
-int do_buffer __ARGS((int action, int start, int dir, int count, int forceit));
-void set_curbuf __ARGS((buf_T *buf, int action));
-void enter_buffer __ARGS((buf_T *buf));
-buf_T *buflist_new __ARGS((char_u *ffname, char_u *sfname, linenr_T lnum, int flags));
-void free_buf_options __ARGS((buf_T *buf, int free_p_ff));
-int buflist_getfile __ARGS((int n, linenr_T lnum, int options, int forceit));
-void buflist_getfpos __ARGS((void));
-buf_T *buflist_findname_exp __ARGS((char_u *fname));
-buf_T *buflist_findname __ARGS((char_u *ffname));
-int buflist_findpat __ARGS((char_u *pattern, char_u *pattern_end, int unlisted, int diffmode));
-int ExpandBufnames __ARGS((char_u *pat, int *num_file, char_u ***file, int options));
-buf_T *buflist_findnr __ARGS((int nr));
-char_u *buflist_nr2name __ARGS((int n, int fullname, int helptail));
-void get_winopts __ARGS((buf_T *buf));
-pos_T *buflist_findfpos __ARGS((buf_T *buf));
-linenr_T buflist_findlnum __ARGS((buf_T *buf));
-void buflist_list __ARGS((exarg_T *eap));
-int buflist_name_nr __ARGS((int fnum, char_u **fname, linenr_T *lnum));
-int setfname __ARGS((buf_T *buf, char_u *ffname, char_u *sfname, int message));
-void buf_set_name __ARGS((int fnum, char_u *name));
-void buf_name_changed __ARGS((buf_T *buf));
-buf_T *setaltfname __ARGS((char_u *ffname, char_u *sfname, linenr_T lnum));
-char_u *getaltfname __ARGS((int errmsg));
-int buflist_add __ARGS((char_u *fname, int flags));
-void buflist_slash_adjust __ARGS((void));
-void buflist_altfpos __ARGS((void));
-int otherfile __ARGS((char_u *ffname));
-void buf_setino __ARGS((buf_T *buf));
-void fileinfo __ARGS((int fullname, int shorthelp, int dont_truncate));
-void col_print __ARGS((char_u *buf, int col, int vcol));
-void maketitle __ARGS((void));
-void resettitle __ARGS((void));
-void free_titles __ARGS((void));
-int build_stl_str_hl __ARGS((win_T *wp, char_u *out, size_t outlen, char_u *fmt, int use_sandbox, int fillchar, int maxwidth, struct stl_hlrec *hltab, struct stl_hlrec *tabtab));
-void get_rel_pos __ARGS((win_T *wp, char_u *str));
-int append_arg_number __ARGS((win_T *wp, char_u *buf, int add_file, int maxlen));
-char_u *fix_fname __ARGS((char_u *fname));
-void fname_expand __ARGS((buf_T *buf, char_u **ffname, char_u **sfname));
-char_u *alist_name __ARGS((aentry_T *aep));
-void do_arg_all __ARGS((int count, int forceit, int keep_tabs));
-void ex_buffer_all __ARGS((exarg_T *eap));
-void do_modelines __ARGS((int flags));
-int read_viminfo_bufferlist __ARGS((vir_T *virp, int writing));
-void write_viminfo_bufferlist __ARGS((FILE *fp));
-char *buf_spname __ARGS((buf_T *buf));
-void buf_addsign __ARGS((buf_T *buf, int id, linenr_T lnum, int typenr));
-int buf_change_sign_type __ARGS((buf_T *buf, int markId, int typenr));
-int_u buf_getsigntype __ARGS((buf_T *buf, linenr_T lnum, int type));
-linenr_T buf_delsign __ARGS((buf_T *buf, int id));
-int buf_findsign __ARGS((buf_T *buf, int id));
-int buf_findsign_id __ARGS((buf_T *buf, linenr_T lnum));
-int buf_findsigntype_id __ARGS((buf_T *buf, linenr_T lnum, int typenr));
-int buf_signcount __ARGS((buf_T *buf, linenr_T lnum));
-void buf_delete_all_signs __ARGS((void));
-void sign_list_placed __ARGS((buf_T *rbuf));
-void sign_mark_adjust __ARGS((linenr_T line1, linenr_T line2, long amount, long amount_after));
-void set_buflisted __ARGS((int on));
-int buf_contents_changed __ARGS((buf_T *buf));
-void wipe_buffer __ARGS((buf_T *buf, int aucmd));
+extern int open_buffer __ARGS((int read_stdin, exarg_T *eap));
+extern int buf_valid __ARGS((buf_T *buf));
+extern void close_buffer __ARGS((win_T *win, buf_T *buf, int action));
+extern void buf_clear_file __ARGS((buf_T *buf));
+extern void buf_freeall __ARGS((buf_T *buf, int del_buf, int wipe_buf));
+extern void goto_buffer __ARGS((exarg_T *eap, int start, int dir, int count));
+extern void handle_swap_exists __ARGS((buf_T *old_curbuf));
+extern char_u *do_bufdel __ARGS((int command, char_u *arg, int addr_count, int start_bnr, int end_bnr, int forceit));
+extern int do_buffer __ARGS((int action, int start, int dir, int count, int forceit));
+extern void set_curbuf __ARGS((buf_T *buf, int action));
+extern void enter_buffer __ARGS((buf_T *buf));
+extern buf_T *buflist_new __ARGS((char_u *ffname, char_u *sfname, linenr_T lnum, int flags));
+extern void free_buf_options __ARGS((buf_T *buf, int free_p_ff));
+extern int buflist_getfile __ARGS((int n, linenr_T lnum, int options, int forceit));
+extern void buflist_getfpos __ARGS((void));
+extern buf_T *buflist_findname_exp __ARGS((char_u *fname));
+extern buf_T *buflist_findname __ARGS((char_u *ffname));
+extern int buflist_findpat __ARGS((char_u *pattern, char_u *pattern_end, int unlisted, int diffmode));
+extern int ExpandBufnames __ARGS((char_u *pat, int *num_file, char_u ***file, int options));
+extern buf_T *buflist_findnr __ARGS((int nr));
+extern char_u *buflist_nr2name __ARGS((int n, int fullname, int helptail));
+extern void get_winopts __ARGS((buf_T *buf));
+extern pos_T *buflist_findfpos __ARGS((buf_T *buf));
+extern linenr_T buflist_findlnum __ARGS((buf_T *buf));
+extern void buflist_list __ARGS((exarg_T *eap));
+extern int buflist_name_nr __ARGS((int fnum, char_u **fname, linenr_T *lnum));
+extern int setfname __ARGS((buf_T *buf, char_u *ffname, char_u *sfname, int message));
+extern void buf_set_name __ARGS((int fnum, char_u *name));
+extern void buf_name_changed __ARGS((buf_T *buf));
+extern buf_T *setaltfname __ARGS((char_u *ffname, char_u *sfname, linenr_T lnum));
+extern char_u *getaltfname __ARGS((int errmsg));
+extern int buflist_add __ARGS((char_u *fname, int flags));
+extern void buflist_slash_adjust __ARGS((void));
+extern void buflist_altfpos __ARGS((void));
+extern int otherfile __ARGS((char_u *ffname));
+extern void buf_setino __ARGS((buf_T *buf));
+extern void fileinfo __ARGS((int fullname, int shorthelp, int dont_truncate));
+extern void col_print __ARGS((char_u *buf, int col, int vcol));
+extern void maketitle __ARGS((void));
+extern void resettitle __ARGS((void));
+extern void free_titles __ARGS((void));
+extern int build_stl_str_hl __ARGS((win_T *wp, char_u *out, size_t outlen, char_u *fmt, int use_sandbox, int fillchar, int maxwidth, struct stl_hlrec *hltab, struct stl_hlrec *tabtab));
+extern void get_rel_pos __ARGS((win_T *wp, char_u *str));
+extern int append_arg_number __ARGS((win_T *wp, char_u *buf, int add_file, int maxlen));
+extern char_u *fix_fname __ARGS((char_u *fname));
+extern void fname_expand __ARGS((buf_T *buf, char_u **ffname, char_u **sfname));
+extern char_u *alist_name __ARGS((aentry_T *aep));
+extern void do_arg_all __ARGS((int count, int forceit, int keep_tabs));
+extern void ex_buffer_all __ARGS((exarg_T *eap));
+extern void do_modelines __ARGS((int flags));
+extern int read_viminfo_bufferlist __ARGS((vir_T *virp, int writing));
+extern void write_viminfo_bufferlist __ARGS((FILE *fp));
+extern char *buf_spname __ARGS((buf_T *buf));
+extern void buf_addsign __ARGS((buf_T *buf, int id, linenr_T lnum, int typenr));
+extern int buf_change_sign_type __ARGS((buf_T *buf, int markId, int typenr));
+extern int_u buf_getsigntype __ARGS((buf_T *buf, linenr_T lnum, int type));
+extern linenr_T buf_delsign __ARGS((buf_T *buf, int id));
+extern int buf_findsign __ARGS((buf_T *buf, int id));
+extern int buf_findsign_id __ARGS((buf_T *buf, linenr_T lnum));
+extern int buf_findsigntype_id __ARGS((buf_T *buf, linenr_T lnum, int typenr));
+extern int buf_signcount __ARGS((buf_T *buf, linenr_T lnum));
+extern void buf_delete_all_signs __ARGS((void));
+extern void sign_list_placed __ARGS((buf_T *rbuf));
+extern void sign_mark_adjust __ARGS((linenr_T line1, linenr_T line2, long amount, long amount_after));
+extern void set_buflisted __ARGS((int on));
+extern int buf_contents_changed __ARGS((buf_T *buf));
+extern void wipe_buffer __ARGS((buf_T *buf, int aucmd));
 /* vim: set ft=c : */
diff --git a/src/proto/charset.pro b/src/proto/charset.pro
index 4b6890d18bd32c6c2e978b6bc534e41e0fadaa26..a6f4802622cb7e08acbdad444cd498414b368d57 100644
--- a/src/proto/charset.pro
+++ b/src/proto/charset.pro
@@ -1,56 +1,56 @@
 /* charset.c */
-int init_chartab __ARGS((void));
-int buf_init_chartab __ARGS((buf_T *buf, int global));
-void trans_characters __ARGS((char_u *buf, int bufsize));
-char_u *transstr __ARGS((char_u *s));
-char_u *str_foldcase __ARGS((char_u *str, int orglen, char_u *buf, int buflen));
-char_u *transchar __ARGS((int c));
-char_u *transchar_byte __ARGS((int c));
-void transchar_nonprint __ARGS((char_u *buf, int c));
-void transchar_hex __ARGS((char_u *buf, int c));
-int byte2cells __ARGS((int b));
-int char2cells __ARGS((int c));
-int ptr2cells __ARGS((char_u *p));
-int vim_strsize __ARGS((char_u *s));
-int vim_strnsize __ARGS((char_u *s, int len));
-int chartabsize __ARGS((char_u *p, colnr_T col));
-int linetabsize __ARGS((char_u *s));
-int win_linetabsize __ARGS((win_T *wp, char_u *p, colnr_T len));
-int vim_isIDc __ARGS((int c));
-int vim_iswordc __ARGS((int c));
-int vim_iswordp __ARGS((char_u *p));
-int vim_iswordc_buf __ARGS((char_u *p, buf_T *buf));
-int vim_isfilec __ARGS((int c));
-int vim_isprintc __ARGS((int c));
-int vim_isprintc_strict __ARGS((int c));
-int lbr_chartabsize __ARGS((unsigned char *s, colnr_T col));
-int lbr_chartabsize_adv __ARGS((char_u **s, colnr_T col));
-int win_lbr_chartabsize __ARGS((win_T *wp, char_u *s, colnr_T col, int *headp));
-int in_win_border __ARGS((win_T *wp, colnr_T vcol));
-void getvcol __ARGS((win_T *wp, pos_T *pos, colnr_T *start, colnr_T *cursor, colnr_T *end));
-colnr_T getvcol_nolist __ARGS((pos_T *posp));
-void getvvcol __ARGS((win_T *wp, pos_T *pos, colnr_T *start, colnr_T *cursor, colnr_T *end));
-void getvcols __ARGS((win_T *wp, pos_T *pos1, pos_T *pos2, colnr_T *left, colnr_T *right));
-char_u *skipwhite __ARGS((char_u *p));
-char_u *skipdigits __ARGS((char_u *p));
-char_u *skiphex __ARGS((char_u *p));
-char_u *skiptodigit __ARGS((char_u *p));
-char_u *skiptohex __ARGS((char_u *p));
-int vim_isdigit __ARGS((int c));
-int vim_isxdigit __ARGS((int c));
-int vim_islower __ARGS((int c));
-int vim_isupper __ARGS((int c));
-int vim_toupper __ARGS((int c));
-int vim_tolower __ARGS((int c));
-char_u *skiptowhite __ARGS((char_u *p));
-char_u *skiptowhite_esc __ARGS((char_u *p));
-long getdigits __ARGS((char_u **pp));
-int vim_isblankline __ARGS((char_u *lbuf));
-void vim_str2nr __ARGS((char_u *start, int *hexp, int *len, int dooct, int dohex, long *nptr, unsigned long *unptr));
-int hex2nr __ARGS((int c));
-int hexhex2nr __ARGS((char_u *p));
-int rem_backslash __ARGS((char_u *str));
-void backslash_halve __ARGS((char_u *p));
-char_u *backslash_halve_save __ARGS((char_u *p));
-void ebcdic2ascii __ARGS((char_u *buffer, int len));
+extern int init_chartab __ARGS((void));
+extern int buf_init_chartab __ARGS((buf_T *buf, int global));
+extern void trans_characters __ARGS((char_u *buf, int bufsize));
+extern char_u *transstr __ARGS((char_u *s));
+extern char_u *str_foldcase __ARGS((char_u *str, int orglen, char_u *buf, int buflen));
+extern char_u *transchar __ARGS((int c));
+extern char_u *transchar_byte __ARGS((int c));
+extern void transchar_nonprint __ARGS((char_u *buf, int c));
+extern void transchar_hex __ARGS((char_u *buf, int c));
+extern int byte2cells __ARGS((int b));
+extern int char2cells __ARGS((int c));
+extern int ptr2cells __ARGS((char_u *p));
+extern int vim_strsize __ARGS((char_u *s));
+extern int vim_strnsize __ARGS((char_u *s, int len));
+extern int chartabsize __ARGS((char_u *p, colnr_T col));
+extern int linetabsize __ARGS((char_u *s));
+extern int win_linetabsize __ARGS((win_T *wp, char_u *p, colnr_T len));
+extern int vim_isIDc __ARGS((int c));
+extern int vim_iswordc __ARGS((int c));
+extern int vim_iswordp __ARGS((char_u *p));
+extern int vim_iswordc_buf __ARGS((char_u *p, buf_T *buf));
+extern int vim_isfilec __ARGS((int c));
+extern int vim_isprintc __ARGS((int c));
+extern int vim_isprintc_strict __ARGS((int c));
+extern int lbr_chartabsize __ARGS((unsigned char *s, colnr_T col));
+extern int lbr_chartabsize_adv __ARGS((char_u **s, colnr_T col));
+extern int win_lbr_chartabsize __ARGS((win_T *wp, char_u *s, colnr_T col, int *headp));
+extern int in_win_border __ARGS((win_T *wp, colnr_T vcol));
+extern void getvcol __ARGS((win_T *wp, pos_T *pos, colnr_T *start, colnr_T *cursor, colnr_T *end));
+extern colnr_T getvcol_nolist __ARGS((pos_T *posp));
+extern void getvvcol __ARGS((win_T *wp, pos_T *pos, colnr_T *start, colnr_T *cursor, colnr_T *end));
+extern void getvcols __ARGS((win_T *wp, pos_T *pos1, pos_T *pos2, colnr_T *left, colnr_T *right));
+extern char_u *skipwhite __ARGS((char_u *p));
+extern char_u *skipdigits __ARGS((char_u *p));
+extern char_u *skiphex __ARGS((char_u *p));
+extern char_u *skiptodigit __ARGS((char_u *p));
+extern char_u *skiptohex __ARGS((char_u *p));
+extern int vim_isdigit __ARGS((int c));
+extern int vim_isxdigit __ARGS((int c));
+extern int vim_islower __ARGS((int c));
+extern int vim_isupper __ARGS((int c));
+extern int vim_toupper __ARGS((int c));
+extern int vim_tolower __ARGS((int c));
+extern char_u *skiptowhite __ARGS((char_u *p));
+extern char_u *skiptowhite_esc __ARGS((char_u *p));
+extern long getdigits __ARGS((char_u **pp));
+extern int vim_isblankline __ARGS((char_u *lbuf));
+extern void vim_str2nr __ARGS((char_u *start, int *hexp, int *len, int dooct, int dohex, long *nptr, unsigned long *unptr));
+extern int hex2nr __ARGS((int c));
+extern int hexhex2nr __ARGS((char_u *p));
+extern int rem_backslash __ARGS((char_u *str));
+extern void backslash_halve __ARGS((char_u *p));
+extern char_u *backslash_halve_save __ARGS((char_u *p));
+extern void ebcdic2ascii __ARGS((char_u *buffer, int len));
 /* vim: set ft=c : */
diff --git a/src/proto/diff.pro b/src/proto/diff.pro
index e45127ad0de2c8258348c02940b695d81dc98065..65b978fe931e172e71c9af976ddf40ca4960e5e9 100644
--- a/src/proto/diff.pro
+++ b/src/proto/diff.pro
@@ -1,26 +1,26 @@
 /* diff.c */
-void diff_buf_delete __ARGS((buf_T *buf));
-void diff_buf_adjust __ARGS((win_T *win));
-void diff_buf_add __ARGS((buf_T *buf));
-void diff_invalidate __ARGS((buf_T *buf));
-void diff_mark_adjust __ARGS((linenr_T line1, linenr_T line2, long amount, long amount_after));
-void ex_diffupdate __ARGS((exarg_T *eap));
-void ex_diffpatch __ARGS((exarg_T *eap));
-void ex_diffsplit __ARGS((exarg_T *eap));
-void ex_diffthis __ARGS((exarg_T *eap));
-void diff_win_options __ARGS((win_T *wp, int addbuf));
-void ex_diffoff __ARGS((exarg_T *eap));
-void diff_clear __ARGS((tabpage_T *tp));
-int diff_check __ARGS((win_T *wp, linenr_T lnum));
-int diff_check_fill __ARGS((win_T *wp, linenr_T lnum));
-void diff_set_topline __ARGS((win_T *fromwin, win_T *towin));
-int diffopt_changed __ARGS((void));
-int diffopt_horizontal __ARGS((void));
-int diff_find_change __ARGS((win_T *wp, linenr_T lnum, int *startp, int *endp));
-int diff_infold __ARGS((win_T *wp, linenr_T lnum));
-void nv_diffgetput __ARGS((int put));
-void ex_diffgetput __ARGS((exarg_T *eap));
-int diff_mode_buf __ARGS((buf_T *buf));
-int diff_move_to __ARGS((int dir, long count));
-linenr_T diff_lnum_win __ARGS((linenr_T lnum, win_T *wp));
+extern void diff_buf_delete __ARGS((buf_T *buf));
+extern void diff_buf_adjust __ARGS((win_T *win));
+extern void diff_buf_add __ARGS((buf_T *buf));
+extern void diff_invalidate __ARGS((buf_T *buf));
+extern void diff_mark_adjust __ARGS((linenr_T line1, linenr_T line2, long amount, long amount_after));
+extern void ex_diffupdate __ARGS((exarg_T *eap));
+extern void ex_diffpatch __ARGS((exarg_T *eap));
+extern void ex_diffsplit __ARGS((exarg_T *eap));
+extern void ex_diffthis __ARGS((exarg_T *eap));
+extern void diff_win_options __ARGS((win_T *wp, int addbuf));
+extern void ex_diffoff __ARGS((exarg_T *eap));
+extern void diff_clear __ARGS((tabpage_T *tp));
+extern int diff_check __ARGS((win_T *wp, linenr_T lnum));
+extern int diff_check_fill __ARGS((win_T *wp, linenr_T lnum));
+extern void diff_set_topline __ARGS((win_T *fromwin, win_T *towin));
+extern int diffopt_changed __ARGS((void));
+extern int diffopt_horizontal __ARGS((void));
+extern int diff_find_change __ARGS((win_T *wp, linenr_T lnum, int *startp, int *endp));
+extern int diff_infold __ARGS((win_T *wp, linenr_T lnum));
+extern void nv_diffgetput __ARGS((int put));
+extern void ex_diffgetput __ARGS((exarg_T *eap));
+extern int diff_mode_buf __ARGS((buf_T *buf));
+extern int diff_move_to __ARGS((int dir, long count));
+extern linenr_T diff_lnum_win __ARGS((linenr_T lnum, win_T *wp));
 /* vim: set ft=c : */
diff --git a/src/proto/digraph.pro b/src/proto/digraph.pro
index be5be71ed01d650c86ca38de644837fa6b7406cb..6821f88dca3f16038691b36dba8c5e57c9ff26be 100644
--- a/src/proto/digraph.pro
+++ b/src/proto/digraph.pro
@@ -1,9 +1,9 @@
 /* digraph.c */
-int do_digraph __ARGS((int c));
-int get_digraph __ARGS((int cmdline));
-int getdigraph __ARGS((int char1, int char2, int meta));
-void putdigraph __ARGS((char_u *str));
-void listdigraphs __ARGS((void));
-char_u *keymap_init __ARGS((void));
-void ex_loadkeymap __ARGS((exarg_T *eap));
+extern int do_digraph __ARGS((int c));
+extern int get_digraph __ARGS((int cmdline));
+extern int getdigraph __ARGS((int char1, int char2, int meta));
+extern void putdigraph __ARGS((char_u *str));
+extern void listdigraphs __ARGS((void));
+extern char_u *keymap_init __ARGS((void));
+extern void ex_loadkeymap __ARGS((exarg_T *eap));
 /* vim: set ft=c : */
diff --git a/src/proto/eval.pro b/src/proto/eval.pro
index a0e86850f4764cdd06b956846306861d3c620526..b2c8200f9bf307d7d719ac64cc1841bd48d5ac15 100644
--- a/src/proto/eval.pro
+++ b/src/proto/eval.pro
@@ -1,99 +1,99 @@
 /* eval.c */
-void eval_init __ARGS((void));
-void eval_clear __ARGS((void));
-char_u *func_name __ARGS((void *cookie));
-linenr_T *func_breakpoint __ARGS((void *cookie));
-int *func_dbg_tick __ARGS((void *cookie));
-int func_level __ARGS((void *cookie));
-int current_func_returned __ARGS((void));
-void set_internal_string_var __ARGS((char_u *name, char_u *value));
-int var_redir_start __ARGS((char_u *name, int append));
-void var_redir_str __ARGS((char_u *value, int len));
-void var_redir_stop __ARGS((void));
-int eval_charconvert __ARGS((char_u *enc_from, char_u *enc_to, char_u *fname_from, char_u *fname_to));
-int eval_printexpr __ARGS((char_u *fname, char_u *args));
-void eval_diff __ARGS((char_u *origfile, char_u *newfile, char_u *outfile));
-void eval_patch __ARGS((char_u *origfile, char_u *difffile, char_u *outfile));
-int eval_to_bool __ARGS((char_u *arg, int *error, char_u **nextcmd, int skip));
-char_u *eval_to_string_skip __ARGS((char_u *arg, char_u **nextcmd, int skip));
-int skip_expr __ARGS((char_u **pp));
-char_u *eval_to_string __ARGS((char_u *arg, char_u **nextcmd, int dolist));
-char_u *eval_to_string_safe __ARGS((char_u *arg, char_u **nextcmd, int use_sandbox));
-int eval_to_number __ARGS((char_u *expr));
-list_T *eval_spell_expr __ARGS((char_u *badword, char_u *expr));
-int get_spellword __ARGS((list_T *list, char_u **pp));
-typval_T *eval_expr __ARGS((char_u *arg, char_u **nextcmd));
-void *call_func_retstr __ARGS((char_u *func, int argc, char_u **argv, int safe));
-long call_func_retnr __ARGS((char_u *func, int argc, char_u **argv, int safe));
-void *call_func_retlist __ARGS((char_u *func, int argc, char_u **argv, int safe));
-void *save_funccal __ARGS((void));
-void restore_funccal __ARGS((void *vfc));
-void prof_child_enter __ARGS((proftime_T *tm));
-void prof_child_exit __ARGS((proftime_T *tm));
-int eval_foldexpr __ARGS((char_u *arg, int *cp));
-void ex_let __ARGS((exarg_T *eap));
-void *eval_for_line __ARGS((char_u *arg, int *errp, char_u **nextcmdp, int skip));
-int next_for_item __ARGS((void *fi_void, char_u *arg));
-void free_for_info __ARGS((void *fi_void));
-void set_context_for_expression __ARGS((expand_T *xp, char_u *arg, cmdidx_T cmdidx));
-void ex_call __ARGS((exarg_T *eap));
-void ex_unlet __ARGS((exarg_T *eap));
-void ex_lockvar __ARGS((exarg_T *eap));
-int do_unlet __ARGS((char_u *name, int forceit));
-void del_menutrans_vars __ARGS((void));
-char_u *get_user_var_name __ARGS((expand_T *xp, int idx));
-list_T *list_alloc __ARGS((void));
-void list_unref __ARGS((list_T *l));
-void list_free __ARGS((list_T *l));
-dictitem_T *dict_lookup __ARGS((hashitem_T *hi));
-int list_append_dict __ARGS((list_T *list, dict_T *dict));
-int garbage_collect __ARGS((void));
-dict_T *dict_alloc __ARGS((void));
-int dict_add_nr_str __ARGS((dict_T *d, char *key, long nr, char_u *str));
-char_u *get_dict_string __ARGS((dict_T *d, char_u *key, int save));
-long get_dict_number __ARGS((dict_T *d, char_u *key));
-char_u *get_function_name __ARGS((expand_T *xp, int idx));
-char_u *get_expr_name __ARGS((expand_T *xp, int idx));
-long do_searchpair __ARGS((char_u *spat, char_u *mpat, char_u *epat, int dir, char_u *skip, int flags, pos_T *match_pos, linenr_T lnum_stop));
-void set_vim_var_nr __ARGS((int idx, long val));
-long get_vim_var_nr __ARGS((int idx));
-char_u *get_vim_var_str __ARGS((int idx));
-void set_vcount __ARGS((long count, long count1));
-void set_vim_var_string __ARGS((int idx, char_u *val, int len));
-void set_reg_var __ARGS((int c));
-char_u *v_exception __ARGS((char_u *oldval));
-char_u *v_throwpoint __ARGS((char_u *oldval));
-char_u *set_cmdarg __ARGS((exarg_T *eap, char_u *oldarg));
-void free_tv __ARGS((typval_T *varp));
-void clear_tv __ARGS((typval_T *varp));
-long get_tv_number_chk __ARGS((typval_T *varp, int *denote));
-char_u *get_tv_string_chk __ARGS((typval_T *varp));
-char_u *get_var_value __ARGS((char_u *name));
-void new_script_vars __ARGS((scid_T id));
-void init_var_dict __ARGS((dict_T *dict, dictitem_T *dict_var));
-void vars_clear __ARGS((hashtab_T *ht));
-void ex_echo __ARGS((exarg_T *eap));
-void ex_echohl __ARGS((exarg_T *eap));
-void ex_execute __ARGS((exarg_T *eap));
-void ex_function __ARGS((exarg_T *eap));
-void free_all_functions __ARGS((void));
-void func_dump_profile __ARGS((FILE *fd));
-char_u *get_user_func_name __ARGS((expand_T *xp, int idx));
-void ex_delfunction __ARGS((exarg_T *eap));
-void ex_return __ARGS((exarg_T *eap));
-int do_return __ARGS((exarg_T *eap, int reanimate, int is_cmd, void *rettv));
-void discard_pending_return __ARGS((void *rettv));
-char_u *get_return_cmd __ARGS((void *rettv));
-char_u *get_func_line __ARGS((int c, void *cookie, int indent));
-void func_line_start __ARGS((void *cookie));
-void func_line_exec __ARGS((void *cookie));
-void func_line_end __ARGS((void *cookie));
-int func_has_ended __ARGS((void *cookie));
-int func_has_abort __ARGS((void *cookie));
-int read_viminfo_varlist __ARGS((vir_T *virp, int writing));
-void write_viminfo_varlist __ARGS((FILE *fp));
-int store_session_globals __ARGS((FILE *fd));
-void last_set_msg __ARGS((scid_T scriptID));
-int modify_fname __ARGS((char_u *src, int *usedlen, char_u **fnamep, char_u **bufp, int *fnamelen));
-char_u *do_string_sub __ARGS((char_u *str, char_u *pat, char_u *sub, char_u *flags));
+extern void eval_init __ARGS((void));
+extern void eval_clear __ARGS((void));
+extern char_u *func_name __ARGS((void *cookie));
+extern linenr_T *func_breakpoint __ARGS((void *cookie));
+extern int *func_dbg_tick __ARGS((void *cookie));
+extern int func_level __ARGS((void *cookie));
+extern int current_func_returned __ARGS((void));
+extern void set_internal_string_var __ARGS((char_u *name, char_u *value));
+extern int var_redir_start __ARGS((char_u *name, int append));
+extern void var_redir_str __ARGS((char_u *value, int len));
+extern void var_redir_stop __ARGS((void));
+extern int eval_charconvert __ARGS((char_u *enc_from, char_u *enc_to, char_u *fname_from, char_u *fname_to));
+extern int eval_printexpr __ARGS((char_u *fname, char_u *args));
+extern void eval_diff __ARGS((char_u *origfile, char_u *newfile, char_u *outfile));
+extern void eval_patch __ARGS((char_u *origfile, char_u *difffile, char_u *outfile));
+extern int eval_to_bool __ARGS((char_u *arg, int *error, char_u **nextcmd, int skip));
+extern char_u *eval_to_string_skip __ARGS((char_u *arg, char_u **nextcmd, int skip));
+extern int skip_expr __ARGS((char_u **pp));
+extern char_u *eval_to_string __ARGS((char_u *arg, char_u **nextcmd, int dolist));
+extern char_u *eval_to_string_safe __ARGS((char_u *arg, char_u **nextcmd, int use_sandbox));
+extern int eval_to_number __ARGS((char_u *expr));
+extern list_T *eval_spell_expr __ARGS((char_u *badword, char_u *expr));
+extern int get_spellword __ARGS((list_T *list, char_u **pp));
+extern typval_T *eval_expr __ARGS((char_u *arg, char_u **nextcmd));
+extern void *call_func_retstr __ARGS((char_u *func, int argc, char_u **argv, int safe));
+extern long call_func_retnr __ARGS((char_u *func, int argc, char_u **argv, int safe));
+extern void *call_func_retlist __ARGS((char_u *func, int argc, char_u **argv, int safe));
+extern void *save_funccal __ARGS((void));
+extern void restore_funccal __ARGS((void *vfc));
+extern void prof_child_enter __ARGS((proftime_T *tm));
+extern void prof_child_exit __ARGS((proftime_T *tm));
+extern int eval_foldexpr __ARGS((char_u *arg, int *cp));
+extern void ex_let __ARGS((exarg_T *eap));
+extern void *eval_for_line __ARGS((char_u *arg, int *errp, char_u **nextcmdp, int skip));
+extern int next_for_item __ARGS((void *fi_void, char_u *arg));
+extern void free_for_info __ARGS((void *fi_void));
+extern void set_context_for_expression __ARGS((expand_T *xp, char_u *arg, cmdidx_T cmdidx));
+extern void ex_call __ARGS((exarg_T *eap));
+extern void ex_unlet __ARGS((exarg_T *eap));
+extern void ex_lockvar __ARGS((exarg_T *eap));
+extern int do_unlet __ARGS((char_u *name, int forceit));
+extern void del_menutrans_vars __ARGS((void));
+extern char_u *get_user_var_name __ARGS((expand_T *xp, int idx));
+extern list_T *list_alloc __ARGS((void));
+extern void list_unref __ARGS((list_T *l));
+extern void list_free __ARGS((list_T *l));
+extern dictitem_T *dict_lookup __ARGS((hashitem_T *hi));
+extern int list_append_dict __ARGS((list_T *list, dict_T *dict));
+extern int garbage_collect __ARGS((void));
+extern dict_T *dict_alloc __ARGS((void));
+extern int dict_add_nr_str __ARGS((dict_T *d, char *key, long nr, char_u *str));
+extern char_u *get_dict_string __ARGS((dict_T *d, char_u *key, int save));
+extern long get_dict_number __ARGS((dict_T *d, char_u *key));
+extern char_u *get_function_name __ARGS((expand_T *xp, int idx));
+extern char_u *get_expr_name __ARGS((expand_T *xp, int idx));
+extern long do_searchpair __ARGS((char_u *spat, char_u *mpat, char_u *epat, int dir, char_u *skip, int flags, pos_T *match_pos, linenr_T lnum_stop));
+extern void set_vim_var_nr __ARGS((int idx, long val));
+extern long get_vim_var_nr __ARGS((int idx));
+extern char_u *get_vim_var_str __ARGS((int idx));
+extern void set_vcount __ARGS((long count, long count1));
+extern void set_vim_var_string __ARGS((int idx, char_u *val, int len));
+extern void set_reg_var __ARGS((int c));
+extern char_u *v_exception __ARGS((char_u *oldval));
+extern char_u *v_throwpoint __ARGS((char_u *oldval));
+extern char_u *set_cmdarg __ARGS((exarg_T *eap, char_u *oldarg));
+extern void free_tv __ARGS((typval_T *varp));
+extern void clear_tv __ARGS((typval_T *varp));
+extern long get_tv_number_chk __ARGS((typval_T *varp, int *denote));
+extern char_u *get_tv_string_chk __ARGS((typval_T *varp));
+extern char_u *get_var_value __ARGS((char_u *name));
+extern void new_script_vars __ARGS((scid_T id));
+extern void init_var_dict __ARGS((dict_T *dict, dictitem_T *dict_var));
+extern void vars_clear __ARGS((hashtab_T *ht));
+extern void ex_echo __ARGS((exarg_T *eap));
+extern void ex_echohl __ARGS((exarg_T *eap));
+extern void ex_execute __ARGS((exarg_T *eap));
+extern void ex_function __ARGS((exarg_T *eap));
+extern void free_all_functions __ARGS((void));
+extern void func_dump_profile __ARGS((FILE *fd));
+extern char_u *get_user_func_name __ARGS((expand_T *xp, int idx));
+extern void ex_delfunction __ARGS((exarg_T *eap));
+extern void ex_return __ARGS((exarg_T *eap));
+extern int do_return __ARGS((exarg_T *eap, int reanimate, int is_cmd, void *rettv));
+extern void discard_pending_return __ARGS((void *rettv));
+extern char_u *get_return_cmd __ARGS((void *rettv));
+extern char_u *get_func_line __ARGS((int c, void *cookie, int indent));
+extern void func_line_start __ARGS((void *cookie));
+extern void func_line_exec __ARGS((void *cookie));
+extern void func_line_end __ARGS((void *cookie));
+extern int func_has_ended __ARGS((void *cookie));
+extern int func_has_abort __ARGS((void *cookie));
+extern int read_viminfo_varlist __ARGS((vir_T *virp, int writing));
+extern void write_viminfo_varlist __ARGS((FILE *fp));
+extern int store_session_globals __ARGS((FILE *fd));
+extern void last_set_msg __ARGS((scid_T scriptID));
+extern int modify_fname __ARGS((char_u *src, int *usedlen, char_u **fnamep, char_u **bufp, int *fnamelen));
+extern char_u *do_string_sub __ARGS((char_u *str, char_u *pat, char_u *sub, char_u *flags));
 /* vim: set ft=c : */
diff --git a/src/proto/ex_docmd.pro b/src/proto/ex_docmd.pro
index ec6e573038ce4525386982263e9ce403465b99ab..992409b2b46c9a118ce41e00c6c86862c0cd4e7c 100644
--- a/src/proto/ex_docmd.pro
+++ b/src/proto/ex_docmd.pro
@@ -1,52 +1,52 @@
 /* ex_docmd.c */
-void do_exmode __ARGS((int improved));
-int do_cmdline_cmd __ARGS((char_u *cmd));
-int do_cmdline __ARGS((char_u *cmdline, char_u *(*getline)(int, void *, int), void *cookie, int flags));
-int getline_equal __ARGS((char_u *(*getline)(int, void *, int), void *cookie, char_u *(*func)(int, void *, int)));
-void *getline_cookie __ARGS((char_u *(*getline)(int, void *, int), void *cookie));
-int checkforcmd __ARGS((char_u **pp, char *cmd, int len));
-int cmd_exists __ARGS((char_u *name));
-char_u *set_one_cmd_context __ARGS((expand_T *xp, char_u *buff));
-char_u *skip_range __ARGS((char_u *cmd, int *ctx));
-void ex_ni __ARGS((exarg_T *eap));
-int expand_filename __ARGS((exarg_T *eap, char_u **cmdlinep, char_u **errormsgp));
-void separate_nextcmd __ARGS((exarg_T *eap));
-int ends_excmd __ARGS((int c));
-char_u *find_nextcmd __ARGS((char_u *p));
-char_u *check_nextcmd __ARGS((char_u *p));
-char_u *get_command_name __ARGS((expand_T *xp, int idx));
-void ex_comclear __ARGS((exarg_T *eap));
-void uc_clear __ARGS((garray_T *gap));
-char_u *get_user_commands __ARGS((expand_T *xp, int idx));
-char_u *get_user_cmd_flags __ARGS((expand_T *xp, int idx));
-char_u *get_user_cmd_nargs __ARGS((expand_T *xp, int idx));
-char_u *get_user_cmd_complete __ARGS((expand_T *xp, int idx));
-int parse_compl_arg __ARGS((char_u *value, int vallen, int *complp, long *argt, char_u **compl_arg));
-void not_exiting __ARGS((void));
-void tabpage_close __ARGS((int forceit));
-void tabpage_close_other __ARGS((tabpage_T *tp, int forceit));
-void ex_all __ARGS((exarg_T *eap));
-void handle_drop __ARGS((int filec, char_u **filev, int split));
-void alist_clear __ARGS((alist_T *al));
-void alist_init __ARGS((alist_T *al));
-void alist_unlink __ARGS((alist_T *al));
-void alist_new __ARGS((void));
-void alist_expand __ARGS((int *fnum_list, int fnum_len));
-void alist_set __ARGS((alist_T *al, int count, char_u **files, int use_curbuf, int *fnum_list, int fnum_len));
-void alist_add __ARGS((alist_T *al, char_u *fname, int set_fnum));
-void alist_slash_adjust __ARGS((void));
-void ex_splitview __ARGS((exarg_T *eap));
-void tabpage_new __ARGS((void));
-void do_exedit __ARGS((exarg_T *eap, win_T *old_curwin));
-void free_cd_dir __ARGS((void));
-void do_sleep __ARGS((long msec));
-int vim_mkdir_emsg __ARGS((char_u *name, int prot));
-FILE *open_exfile __ARGS((char_u *fname, int forceit, char *mode));
-void update_topline_cursor __ARGS((void));
-void exec_normal_cmd __ARGS((char_u *cmd, int remap, int silent));
-char_u *eval_vars __ARGS((char_u *src, int *usedlen, linenr_T *lnump, char_u **errormsg, char_u *srcstart));
-char_u *expand_sfile __ARGS((char_u *arg));
-int put_eol __ARGS((FILE *fd));
-int put_line __ARGS((FILE *fd, char *s));
-void dialog_msg __ARGS((char_u *buff, char *format, char_u *fname));
+extern void do_exmode __ARGS((int improved));
+extern int do_cmdline_cmd __ARGS((char_u *cmd));
+extern int do_cmdline __ARGS((char_u *cmdline, char_u *(*getline)(int, void *, int), void *cookie, int flags));
+extern int getline_equal __ARGS((char_u *(*getline)(int, void *, int), void *cookie, char_u *(*func)(int, void *, int)));
+extern void *getline_cookie __ARGS((char_u *(*getline)(int, void *, int), void *cookie));
+extern int checkforcmd __ARGS((char_u **pp, char *cmd, int len));
+extern int cmd_exists __ARGS((char_u *name));
+extern char_u *set_one_cmd_context __ARGS((expand_T *xp, char_u *buff));
+extern char_u *skip_range __ARGS((char_u *cmd, int *ctx));
+extern void ex_ni __ARGS((exarg_T *eap));
+extern int expand_filename __ARGS((exarg_T *eap, char_u **cmdlinep, char_u **errormsgp));
+extern void separate_nextcmd __ARGS((exarg_T *eap));
+extern int ends_excmd __ARGS((int c));
+extern char_u *find_nextcmd __ARGS((char_u *p));
+extern char_u *check_nextcmd __ARGS((char_u *p));
+extern char_u *get_command_name __ARGS((expand_T *xp, int idx));
+extern void ex_comclear __ARGS((exarg_T *eap));
+extern void uc_clear __ARGS((garray_T *gap));
+extern char_u *get_user_commands __ARGS((expand_T *xp, int idx));
+extern char_u *get_user_cmd_flags __ARGS((expand_T *xp, int idx));
+extern char_u *get_user_cmd_nargs __ARGS((expand_T *xp, int idx));
+extern char_u *get_user_cmd_complete __ARGS((expand_T *xp, int idx));
+extern int parse_compl_arg __ARGS((char_u *value, int vallen, int *complp, long *argt, char_u **compl_arg));
+extern void not_exiting __ARGS((void));
+extern void tabpage_close __ARGS((int forceit));
+extern void tabpage_close_other __ARGS((tabpage_T *tp, int forceit));
+extern void ex_all __ARGS((exarg_T *eap));
+extern void handle_drop __ARGS((int filec, char_u **filev, int split));
+extern void alist_clear __ARGS((alist_T *al));
+extern void alist_init __ARGS((alist_T *al));
+extern void alist_unlink __ARGS((alist_T *al));
+extern void alist_new __ARGS((void));
+extern void alist_expand __ARGS((int *fnum_list, int fnum_len));
+extern void alist_set __ARGS((alist_T *al, int count, char_u **files, int use_curbuf, int *fnum_list, int fnum_len));
+extern void alist_add __ARGS((alist_T *al, char_u *fname, int set_fnum));
+extern void alist_slash_adjust __ARGS((void));
+extern void ex_splitview __ARGS((exarg_T *eap));
+extern void tabpage_new __ARGS((void));
+extern void do_exedit __ARGS((exarg_T *eap, win_T *old_curwin));
+extern void free_cd_dir __ARGS((void));
+extern void do_sleep __ARGS((long msec));
+extern int vim_mkdir_emsg __ARGS((char_u *name, int prot));
+extern FILE *open_exfile __ARGS((char_u *fname, int forceit, char *mode));
+extern void update_topline_cursor __ARGS((void));
+extern void exec_normal_cmd __ARGS((char_u *cmd, int remap, int silent));
+extern char_u *eval_vars __ARGS((char_u *src, int *usedlen, linenr_T *lnump, char_u **errormsg, char_u *srcstart));
+extern char_u *expand_sfile __ARGS((char_u *arg));
+extern int put_eol __ARGS((FILE *fd));
+extern int put_line __ARGS((FILE *fd, char *s));
+extern void dialog_msg __ARGS((char_u *buff, char *format, char_u *fname));
 /* vim: set ft=c : */
diff --git a/src/proto/ex_eval.pro b/src/proto/ex_eval.pro
index 8fb234283e33b00bc49f66f02a6045b4e2c44625..20601f8af69734e219524773dae7e9823606fd7a 100644
--- a/src/proto/ex_eval.pro
+++ b/src/proto/ex_eval.pro
@@ -1,32 +1,32 @@
 /* ex_eval.c */
-int aborting __ARGS((void));
-void update_force_abort __ARGS((void));
-int should_abort __ARGS((int retcode));
-int aborted_in_try __ARGS((void));
-int cause_errthrow __ARGS((char_u *mesg, int severe, int *ignore));
-void do_errthrow __ARGS((struct condstack *cstack, char_u *cmdname));
-int do_intthrow __ARGS((struct condstack *cstack));
-void discard_current_exception __ARGS((void));
-void report_make_pending __ARGS((int pending, void *value));
-void report_resume_pending __ARGS((int pending, void *value));
-void report_discard_pending __ARGS((int pending, void *value));
-void ex_if __ARGS((exarg_T *eap));
-void ex_endif __ARGS((exarg_T *eap));
-void ex_else __ARGS((exarg_T *eap));
-void ex_while __ARGS((exarg_T *eap));
-void ex_continue __ARGS((exarg_T *eap));
-void ex_break __ARGS((exarg_T *eap));
-void ex_endwhile __ARGS((exarg_T *eap));
-void ex_throw __ARGS((exarg_T *eap));
-void do_throw __ARGS((struct condstack *cstack));
-void ex_try __ARGS((exarg_T *eap));
-void ex_catch __ARGS((exarg_T *eap));
-void ex_finally __ARGS((exarg_T *eap));
-void ex_endtry __ARGS((exarg_T *eap));
-void enter_cleanup __ARGS((cleanup_T *csp));
-void leave_cleanup __ARGS((cleanup_T *csp));
-int cleanup_conditionals __ARGS((struct condstack *cstack, int searched_cond, int inclusive));
-void rewind_conditionals __ARGS((struct condstack *cstack, int idx, int cond_type, int *cond_level));
-void ex_endfunction __ARGS((exarg_T *eap));
-int has_loop_cmd __ARGS((char_u *p));
+extern int aborting __ARGS((void));
+extern void update_force_abort __ARGS((void));
+extern int should_abort __ARGS((int retcode));
+extern int aborted_in_try __ARGS((void));
+extern int cause_errthrow __ARGS((char_u *mesg, int severe, int *ignore));
+extern void do_errthrow __ARGS((struct condstack *cstack, char_u *cmdname));
+extern int do_intthrow __ARGS((struct condstack *cstack));
+extern void discard_current_exception __ARGS((void));
+extern void report_make_pending __ARGS((int pending, void *value));
+extern void report_resume_pending __ARGS((int pending, void *value));
+extern void report_discard_pending __ARGS((int pending, void *value));
+extern void ex_if __ARGS((exarg_T *eap));
+extern void ex_endif __ARGS((exarg_T *eap));
+extern void ex_else __ARGS((exarg_T *eap));
+extern void ex_while __ARGS((exarg_T *eap));
+extern void ex_continue __ARGS((exarg_T *eap));
+extern void ex_break __ARGS((exarg_T *eap));
+extern void ex_endwhile __ARGS((exarg_T *eap));
+extern void ex_throw __ARGS((exarg_T *eap));
+extern void do_throw __ARGS((struct condstack *cstack));
+extern void ex_try __ARGS((exarg_T *eap));
+extern void ex_catch __ARGS((exarg_T *eap));
+extern void ex_finally __ARGS((exarg_T *eap));
+extern void ex_endtry __ARGS((exarg_T *eap));
+extern void enter_cleanup __ARGS((cleanup_T *csp));
+extern void leave_cleanup __ARGS((cleanup_T *csp));
+extern int cleanup_conditionals __ARGS((struct condstack *cstack, int searched_cond, int inclusive));
+extern void rewind_conditionals __ARGS((struct condstack *cstack, int idx, int cond_type, int *cond_level));
+extern void ex_endfunction __ARGS((exarg_T *eap));
+extern int has_loop_cmd __ARGS((char_u *p));
 /* vim: set ft=c : */
diff --git a/src/proto/ex_getln.pro b/src/proto/ex_getln.pro
index 6b4fa4fdaaa0a1fed6bcf800aaaff3cc97d71b1b..ba18f381a793d99a7258608b8d8f5698d3330a2a 100644
--- a/src/proto/ex_getln.pro
+++ b/src/proto/ex_getln.pro
@@ -1,53 +1,53 @@
 /* ex_getln.c */
-char_u *getcmdline __ARGS((int firstc, long count, int indent));
-char_u *getcmdline_prompt __ARGS((int firstc, char_u *prompt, int attr, int xp_context, char_u *xp_arg));
-int text_locked __ARGS((void));
-void text_locked_msg __ARGS((void));
-char_u *getexline __ARGS((int c, void *dummy, int indent));
-char_u *getexmodeline __ARGS((int promptc, void *dummy, int indent));
-int cmdline_overstrike __ARGS((void));
-int cmdline_at_end __ARGS((void));
-colnr_T cmdline_getvcol_cursor __ARGS((void));
-void free_cmdline_buf __ARGS((void));
-void putcmdline __ARGS((int c, int shift));
-void unputcmdline __ARGS((void));
-int put_on_cmdline __ARGS((char_u *str, int len, int redraw));
-void cmdline_paste_str __ARGS((char_u *s, int literally));
-void redrawcmdline __ARGS((void));
-void redrawcmd __ARGS((void));
-void compute_cmdrow __ARGS((void));
-void gotocmdline __ARGS((int clr));
-char_u *ExpandOne __ARGS((expand_T *xp, char_u *str, char_u *orig, int options, int mode));
-void ExpandInit __ARGS((expand_T *xp));
-void ExpandCleanup __ARGS((expand_T *xp));
-void ExpandEscape __ARGS((expand_T *xp, char_u *str, int numfiles, char_u **files, int options));
-void tilde_replace __ARGS((char_u *orig_pat, int num_files, char_u **files));
-char_u *sm_gettail __ARGS((char_u *s));
-char_u *addstar __ARGS((char_u *fname, int len, int context));
-void set_cmd_context __ARGS((expand_T *xp, char_u *str, int len, int col));
-int expand_cmdline __ARGS((expand_T *xp, char_u *str, int col, int *matchcount, char_u ***matches));
-int ExpandGeneric __ARGS((expand_T *xp, regmatch_T *regmatch, int *num_file, char_u ***file, char_u *((*func)(expand_T *, int))));
-char_u *globpath __ARGS((char_u *path, char_u *file));
-void init_history __ARGS((void));
-int get_histtype __ARGS((char_u *name));
-void add_to_history __ARGS((int histype, char_u *new_entry, int in_map, int sep));
-int get_history_idx __ARGS((int histype));
-char_u *get_cmdline_str __ARGS((void));
-int get_cmdline_pos __ARGS((void));
-int set_cmdline_pos __ARGS((int pos));
-int get_cmdline_type __ARGS((void));
-char_u *get_history_entry __ARGS((int histype, int idx));
-int clr_history __ARGS((int histype));
-int del_history_entry __ARGS((int histype, char_u *str));
-int del_history_idx __ARGS((int histype, int idx));
-void remove_key_from_history __ARGS((void));
-int get_list_range __ARGS((char_u **str, int *num1, int *num2));
-void ex_history __ARGS((exarg_T *eap));
-void prepare_viminfo_history __ARGS((int asklen));
-int read_viminfo_history __ARGS((vir_T *virp));
-void finish_viminfo_history __ARGS((void));
-void write_viminfo_history __ARGS((FILE *fp));
-void cmd_pchar __ARGS((int c, int offset));
-int cmd_gchar __ARGS((int offset));
-char_u *script_get __ARGS((exarg_T *eap, char_u *cmd));
+extern char_u *getcmdline __ARGS((int firstc, long count, int indent));
+extern char_u *getcmdline_prompt __ARGS((int firstc, char_u *prompt, int attr, int xp_context, char_u *xp_arg));
+extern int text_locked __ARGS((void));
+extern void text_locked_msg __ARGS((void));
+extern char_u *getexline __ARGS((int c, void *dummy, int indent));
+extern char_u *getexmodeline __ARGS((int promptc, void *dummy, int indent));
+extern int cmdline_overstrike __ARGS((void));
+extern int cmdline_at_end __ARGS((void));
+extern colnr_T cmdline_getvcol_cursor __ARGS((void));
+extern void free_cmdline_buf __ARGS((void));
+extern void putcmdline __ARGS((int c, int shift));
+extern void unputcmdline __ARGS((void));
+extern int put_on_cmdline __ARGS((char_u *str, int len, int redraw));
+extern void cmdline_paste_str __ARGS((char_u *s, int literally));
+extern void redrawcmdline __ARGS((void));
+extern void redrawcmd __ARGS((void));
+extern void compute_cmdrow __ARGS((void));
+extern void gotocmdline __ARGS((int clr));
+extern char_u *ExpandOne __ARGS((expand_T *xp, char_u *str, char_u *orig, int options, int mode));
+extern void ExpandInit __ARGS((expand_T *xp));
+extern void ExpandCleanup __ARGS((expand_T *xp));
+extern void ExpandEscape __ARGS((expand_T *xp, char_u *str, int numfiles, char_u **files, int options));
+extern void tilde_replace __ARGS((char_u *orig_pat, int num_files, char_u **files));
+extern char_u *sm_gettail __ARGS((char_u *s));
+extern char_u *addstar __ARGS((char_u *fname, int len, int context));
+extern void set_cmd_context __ARGS((expand_T *xp, char_u *str, int len, int col));
+extern int expand_cmdline __ARGS((expand_T *xp, char_u *str, int col, int *matchcount, char_u ***matches));
+extern int ExpandGeneric __ARGS((expand_T *xp, regmatch_T *regmatch, int *num_file, char_u ***file, char_u *((*func)(expand_T *, int))));
+extern char_u *globpath __ARGS((char_u *path, char_u *file));
+extern void init_history __ARGS((void));
+extern int get_histtype __ARGS((char_u *name));
+extern void add_to_history __ARGS((int histype, char_u *new_entry, int in_map, int sep));
+extern int get_history_idx __ARGS((int histype));
+extern char_u *get_cmdline_str __ARGS((void));
+extern int get_cmdline_pos __ARGS((void));
+extern int set_cmdline_pos __ARGS((int pos));
+extern int get_cmdline_type __ARGS((void));
+extern char_u *get_history_entry __ARGS((int histype, int idx));
+extern int clr_history __ARGS((int histype));
+extern int del_history_entry __ARGS((int histype, char_u *str));
+extern int del_history_idx __ARGS((int histype, int idx));
+extern void remove_key_from_history __ARGS((void));
+extern int get_list_range __ARGS((char_u **str, int *num1, int *num2));
+extern void ex_history __ARGS((exarg_T *eap));
+extern void prepare_viminfo_history __ARGS((int asklen));
+extern int read_viminfo_history __ARGS((vir_T *virp));
+extern void finish_viminfo_history __ARGS((void));
+extern void write_viminfo_history __ARGS((FILE *fp));
+extern void cmd_pchar __ARGS((int c, int offset));
+extern int cmd_gchar __ARGS((int offset));
+extern char_u *script_get __ARGS((exarg_T *eap, char_u *cmd));
 /* vim: set ft=c : */
diff --git a/src/proto/fold.pro b/src/proto/fold.pro
index 3318bbde757d5fad5146de43018b5a798bb1d740..85510932ff98b4d2364147b9718e01dea0e1cbdc 100644
--- a/src/proto/fold.pro
+++ b/src/proto/fold.pro
@@ -1,41 +1,41 @@
 /* fold.c */
-void copyFoldingState __ARGS((win_T *wp_from, win_T *wp_to));
-int hasAnyFolding __ARGS((win_T *win));
-int hasFolding __ARGS((linenr_T lnum, linenr_T *firstp, linenr_T *lastp));
-int hasFoldingWin __ARGS((win_T *win, linenr_T lnum, linenr_T *firstp, linenr_T *lastp, int cache, foldinfo_T *infop));
-int foldLevel __ARGS((linenr_T lnum));
-int lineFolded __ARGS((win_T *win, linenr_T lnum));
-long foldedCount __ARGS((win_T *win, linenr_T lnum, foldinfo_T *infop));
-int foldmethodIsManual __ARGS((win_T *wp));
-int foldmethodIsIndent __ARGS((win_T *wp));
-int foldmethodIsExpr __ARGS((win_T *wp));
-int foldmethodIsMarker __ARGS((win_T *wp));
-int foldmethodIsSyntax __ARGS((win_T *wp));
-int foldmethodIsDiff __ARGS((win_T *wp));
-void closeFold __ARGS((linenr_T lnum, long count));
-void closeFoldRecurse __ARGS((linenr_T lnum));
-void opFoldRange __ARGS((linenr_T first, linenr_T last, int opening, int recurse, int had_visual));
-void openFold __ARGS((linenr_T lnum, long count));
-void openFoldRecurse __ARGS((linenr_T lnum));
-void foldOpenCursor __ARGS((void));
-void newFoldLevel __ARGS((void));
-void foldCheckClose __ARGS((void));
-int foldManualAllowed __ARGS((int create));
-void foldCreate __ARGS((linenr_T start, linenr_T end));
-void deleteFold __ARGS((linenr_T start, linenr_T end, int recursive, int had_visual));
-void clearFolding __ARGS((win_T *win));
-void foldUpdate __ARGS((win_T *wp, linenr_T top, linenr_T bot));
-void foldUpdateAll __ARGS((win_T *win));
-int foldMoveTo __ARGS((int updown, int dir, long count));
-void foldInitWin __ARGS((win_T *newwin));
-int find_wl_entry __ARGS((win_T *win, linenr_T lnum));
-void foldAdjustVisual __ARGS((void));
-void foldAdjustCursor __ARGS((void));
-void cloneFoldGrowArray __ARGS((garray_T *from, garray_T *to));
-void deleteFoldRecurse __ARGS((garray_T *gap));
-void foldMarkAdjust __ARGS((win_T *wp, linenr_T line1, linenr_T line2, long amount, long amount_after));
-int getDeepestNesting __ARGS((void));
-char_u *get_foldtext __ARGS((win_T *wp, linenr_T lnum, linenr_T lnume, foldinfo_T *foldinfo, char_u *buf));
-void foldtext_cleanup __ARGS((char_u *str));
-int put_folds __ARGS((FILE *fd, win_T *wp));
+extern void copyFoldingState __ARGS((win_T *wp_from, win_T *wp_to));
+extern int hasAnyFolding __ARGS((win_T *win));
+extern int hasFolding __ARGS((linenr_T lnum, linenr_T *firstp, linenr_T *lastp));
+extern int hasFoldingWin __ARGS((win_T *win, linenr_T lnum, linenr_T *firstp, linenr_T *lastp, int cache, foldinfo_T *infop));
+extern int foldLevel __ARGS((linenr_T lnum));
+extern int lineFolded __ARGS((win_T *win, linenr_T lnum));
+extern long foldedCount __ARGS((win_T *win, linenr_T lnum, foldinfo_T *infop));
+extern int foldmethodIsManual __ARGS((win_T *wp));
+extern int foldmethodIsIndent __ARGS((win_T *wp));
+extern int foldmethodIsExpr __ARGS((win_T *wp));
+extern int foldmethodIsMarker __ARGS((win_T *wp));
+extern int foldmethodIsSyntax __ARGS((win_T *wp));
+extern int foldmethodIsDiff __ARGS((win_T *wp));
+extern void closeFold __ARGS((linenr_T lnum, long count));
+extern void closeFoldRecurse __ARGS((linenr_T lnum));
+extern void opFoldRange __ARGS((linenr_T first, linenr_T last, int opening, int recurse, int had_visual));
+extern void openFold __ARGS((linenr_T lnum, long count));
+extern void openFoldRecurse __ARGS((linenr_T lnum));
+extern void foldOpenCursor __ARGS((void));
+extern void newFoldLevel __ARGS((void));
+extern void foldCheckClose __ARGS((void));
+extern int foldManualAllowed __ARGS((int create));
+extern void foldCreate __ARGS((linenr_T start, linenr_T end));
+extern void deleteFold __ARGS((linenr_T start, linenr_T end, int recursive, int had_visual));
+extern void clearFolding __ARGS((win_T *win));
+extern void foldUpdate __ARGS((win_T *wp, linenr_T top, linenr_T bot));
+extern void foldUpdateAll __ARGS((win_T *win));
+extern int foldMoveTo __ARGS((int updown, int dir, long count));
+extern void foldInitWin __ARGS((win_T *newwin));
+extern int find_wl_entry __ARGS((win_T *win, linenr_T lnum));
+extern void foldAdjustVisual __ARGS((void));
+extern void foldAdjustCursor __ARGS((void));
+extern void cloneFoldGrowArray __ARGS((garray_T *from, garray_T *to));
+extern void deleteFoldRecurse __ARGS((garray_T *gap));
+extern void foldMarkAdjust __ARGS((win_T *wp, linenr_T line1, linenr_T line2, long amount, long amount_after));
+extern int getDeepestNesting __ARGS((void));
+extern char_u *get_foldtext __ARGS((win_T *wp, linenr_T lnum, linenr_T lnume, foldinfo_T *foldinfo, char_u *buf));
+extern void foldtext_cleanup __ARGS((char_u *str));
+extern int put_folds __ARGS((FILE *fd, win_T *wp));
 /* vim: set ft=c : */
diff --git a/src/proto/getchar.pro b/src/proto/getchar.pro
index 9212342b2e24d7650828a359273097234a21e277..608124bac5f062675f2d1f24ded6758e4fdf6ae8 100644
--- a/src/proto/getchar.pro
+++ b/src/proto/getchar.pro
@@ -1,63 +1,63 @@
 /* getchar.c */
-void free_buff __ARGS((struct buffheader *buf));
-char_u *get_recorded __ARGS((void));
-char_u *get_inserted __ARGS((void));
-int stuff_empty __ARGS((void));
-void typeahead_noflush __ARGS((int c));
-void flush_buffers __ARGS((int typeahead));
-void ResetRedobuff __ARGS((void));
-void saveRedobuff __ARGS((void));
-void restoreRedobuff __ARGS((void));
-void AppendToRedobuff __ARGS((char_u *s));
-void AppendToRedobuffLit __ARGS((char_u *str, int len));
-void AppendCharToRedobuff __ARGS((int c));
-void AppendNumberToRedobuff __ARGS((long n));
-void stuffReadbuff __ARGS((char_u *s));
-void stuffReadbuffLen __ARGS((char_u *s, long len));
-void stuffReadbuffSpec __ARGS((char_u *s));
-void stuffcharReadbuff __ARGS((int c));
-void stuffnumReadbuff __ARGS((long n));
-int start_redo __ARGS((long count, int old_redo));
-int start_redo_ins __ARGS((void));
-void stop_redo_ins __ARGS((void));
-int ins_typebuf __ARGS((char_u *str, int noremap, int offset, int nottyped, int silent));
-int typebuf_changed __ARGS((int tb_change_cnt));
-int typebuf_typed __ARGS((void));
-int typebuf_maplen __ARGS((void));
-void del_typebuf __ARGS((int len, int offset));
-int alloc_typebuf __ARGS((void));
-void free_typebuf __ARGS((void));
-int save_typebuf __ARGS((void));
-void save_typeahead __ARGS((tasave_T *tp));
-void restore_typeahead __ARGS((tasave_T *tp));
-void openscript __ARGS((char_u *name, int directly));
-void close_all_scripts __ARGS((void));
-int using_script __ARGS((void));
-void before_blocking __ARGS((void));
-void updatescript __ARGS((int c));
-int vgetc __ARGS((void));
-int safe_vgetc __ARGS((void));
-int vpeekc __ARGS((void));
-int vpeekc_nomap __ARGS((void));
-int vpeekc_any __ARGS((void));
-int char_avail __ARGS((void));
-void vungetc __ARGS((int c));
-int inchar __ARGS((char_u *buf, int maxlen, long wait_time, int tb_change_cnt));
-int fix_input_buffer __ARGS((char_u *buf, int len, int script));
-int input_available __ARGS((void));
-int do_map __ARGS((int maptype, char_u *arg, int mode, int abbrev));
-int get_map_mode __ARGS((char_u **cmdp, int forceit));
-void map_clear __ARGS((char_u *cmdp, char_u *arg, int forceit, int abbr));
-void map_clear_int __ARGS((buf_T *buf, int mode, int local, int abbr));
-int map_to_exists __ARGS((char_u *str, char_u *modechars, int abbr));
-int map_to_exists_mode __ARGS((char_u *rhs, int mode, int abbr));
-char_u *set_context_in_map_cmd __ARGS((expand_T *xp, char_u *cmd, char_u *arg, int forceit, int isabbrev, int isunmap, cmdidx_T cmdidx));
-int ExpandMappings __ARGS((regmatch_T *regmatch, int *num_file, char_u ***file));
-int check_abbr __ARGS((int c, char_u *ptr, int col, int mincol));
-int makemap __ARGS((FILE *fd, buf_T *buf));
-int put_escstr __ARGS((FILE *fd, char_u *strstart, int what));
-void check_map_keycodes __ARGS((void));
-char_u *check_map __ARGS((char_u *keys, int mode, int exact, int ign_mod, int abbr));
-void init_mappings __ARGS((void));
-void add_map __ARGS((char_u *map, int mode));
+extern void free_buff __ARGS((struct buffheader *buf));
+extern char_u *get_recorded __ARGS((void));
+extern char_u *get_inserted __ARGS((void));
+extern int stuff_empty __ARGS((void));
+extern void typeahead_noflush __ARGS((int c));
+extern void flush_buffers __ARGS((int typeahead));
+extern void ResetRedobuff __ARGS((void));
+extern void saveRedobuff __ARGS((void));
+extern void restoreRedobuff __ARGS((void));
+extern void AppendToRedobuff __ARGS((char_u *s));
+extern void AppendToRedobuffLit __ARGS((char_u *str, int len));
+extern void AppendCharToRedobuff __ARGS((int c));
+extern void AppendNumberToRedobuff __ARGS((long n));
+extern void stuffReadbuff __ARGS((char_u *s));
+extern void stuffReadbuffLen __ARGS((char_u *s, long len));
+extern void stuffReadbuffSpec __ARGS((char_u *s));
+extern void stuffcharReadbuff __ARGS((int c));
+extern void stuffnumReadbuff __ARGS((long n));
+extern int start_redo __ARGS((long count, int old_redo));
+extern int start_redo_ins __ARGS((void));
+extern void stop_redo_ins __ARGS((void));
+extern int ins_typebuf __ARGS((char_u *str, int noremap, int offset, int nottyped, int silent));
+extern int typebuf_changed __ARGS((int tb_change_cnt));
+extern int typebuf_typed __ARGS((void));
+extern int typebuf_maplen __ARGS((void));
+extern void del_typebuf __ARGS((int len, int offset));
+extern int alloc_typebuf __ARGS((void));
+extern void free_typebuf __ARGS((void));
+extern int save_typebuf __ARGS((void));
+extern void save_typeahead __ARGS((tasave_T *tp));
+extern void restore_typeahead __ARGS((tasave_T *tp));
+extern void openscript __ARGS((char_u *name, int directly));
+extern void close_all_scripts __ARGS((void));
+extern int using_script __ARGS((void));
+extern void before_blocking __ARGS((void));
+extern void updatescript __ARGS((int c));
+extern int vgetc __ARGS((void));
+extern int safe_vgetc __ARGS((void));
+extern int vpeekc __ARGS((void));
+extern int vpeekc_nomap __ARGS((void));
+extern int vpeekc_any __ARGS((void));
+extern int char_avail __ARGS((void));
+extern void vungetc __ARGS((int c));
+extern int inchar __ARGS((char_u *buf, int maxlen, long wait_time, int tb_change_cnt));
+extern int fix_input_buffer __ARGS((char_u *buf, int len, int script));
+extern int input_available __ARGS((void));
+extern int do_map __ARGS((int maptype, char_u *arg, int mode, int abbrev));
+extern int get_map_mode __ARGS((char_u **cmdp, int forceit));
+extern void map_clear __ARGS((char_u *cmdp, char_u *arg, int forceit, int abbr));
+extern void map_clear_int __ARGS((buf_T *buf, int mode, int local, int abbr));
+extern int map_to_exists __ARGS((char_u *str, char_u *modechars, int abbr));
+extern int map_to_exists_mode __ARGS((char_u *rhs, int mode, int abbr));
+extern char_u *set_context_in_map_cmd __ARGS((expand_T *xp, char_u *cmd, char_u *arg, int forceit, int isabbrev, int isunmap, cmdidx_T cmdidx));
+extern int ExpandMappings __ARGS((regmatch_T *regmatch, int *num_file, char_u ***file));
+extern int check_abbr __ARGS((int c, char_u *ptr, int col, int mincol));
+extern int makemap __ARGS((FILE *fd, buf_T *buf));
+extern int put_escstr __ARGS((FILE *fd, char_u *strstart, int what));
+extern void check_map_keycodes __ARGS((void));
+extern char_u *check_map __ARGS((char_u *keys, int mode, int exact, int ign_mod, int abbr));
+extern void init_mappings __ARGS((void));
+extern void add_map __ARGS((char_u *map, int mode));
 /* vim: set ft=c : */
diff --git a/src/proto/gui.pro b/src/proto/gui.pro
index 087c1a884a87b2827a505a550cd002d5f9faf58f..704cd1b59d015e36d5ba951e862ed30d807b7b02 100644
--- a/src/proto/gui.pro
+++ b/src/proto/gui.pro
@@ -1,64 +1,64 @@
 /* gui.c */
-void gui_start __ARGS((void));
-void gui_prepare __ARGS((int *argc, char **argv));
-int gui_init_check __ARGS((void));
-void gui_init __ARGS((void));
-void gui_exit __ARGS((int rc));
-void gui_shell_closed __ARGS((void));
-int gui_init_font __ARGS((char_u *font_list, int fontset));
-int gui_get_wide_font __ARGS((void));
-void gui_set_cursor __ARGS((int row, int col));
-void gui_update_cursor __ARGS((int force, int clear_selection));
-void gui_position_menu __ARGS((void));
-int gui_get_base_width __ARGS((void));
-int gui_get_base_height __ARGS((void));
-void gui_resize_shell __ARGS((int pixel_width, int pixel_height));
-void gui_may_resize_shell __ARGS((void));
-int gui_get_shellsize __ARGS((void));
-void gui_set_shellsize __ARGS((int mustset, int fit_to_display));
-void gui_new_shellsize __ARGS((void));
-void gui_reset_scroll_region __ARGS((void));
-void gui_start_highlight __ARGS((int mask));
-void gui_stop_highlight __ARGS((int mask));
-void gui_clear_block __ARGS((int row1, int col1, int row2, int col2));
-void gui_update_cursor_later __ARGS((void));
-void gui_write __ARGS((char_u *s, int len));
-void gui_dont_update_cursor __ARGS((void));
-void gui_can_update_cursor __ARGS((void));
-int gui_outstr_nowrap __ARGS((char_u *s, int len, int flags, guicolor_T fg, guicolor_T bg, int back));
-void gui_undraw_cursor __ARGS((void));
-void gui_redraw __ARGS((int x, int y, int w, int h));
-int gui_redraw_block __ARGS((int row1, int col1, int row2, int col2, int flags));
-int gui_wait_for_chars __ARGS((long wtime));
-void gui_send_mouse_event __ARGS((int button, int x, int y, int repeated_click, int_u modifiers));
-int gui_xy2colrow __ARGS((int x, int y, int *colp));
-void gui_menu_cb __ARGS((vimmenu_T *menu));
-void gui_init_which_components __ARGS((char_u *oldval));
-int gui_use_tabline __ARGS((void));
-void gui_update_tabline __ARGS((void));
-void get_tabline_label __ARGS((tabpage_T *tp));
-int send_tabline_event __ARGS((int nr));
-void gui_remove_scrollbars __ARGS((void));
-void gui_create_scrollbar __ARGS((scrollbar_T *sb, int type, win_T *wp));
-scrollbar_T *gui_find_scrollbar __ARGS((long ident));
-void gui_drag_scrollbar __ARGS((scrollbar_T *sb, long value, int still_dragging));
-void gui_update_scrollbars __ARGS((int force));
-int gui_do_scroll __ARGS((void));
-int gui_do_horiz_scroll __ARGS((void));
-void gui_check_colors __ARGS((void));
-guicolor_T gui_get_color __ARGS((char_u *name));
-int gui_get_lightness __ARGS((guicolor_T pixel));
-void gui_new_scrollbar_colors __ARGS((void));
-void gui_focus_change __ARGS((int in_focus));
-void gui_mouse_moved __ARGS((int x, int y));
-void gui_mouse_correct __ARGS((void));
-void ex_gui __ARGS((exarg_T *eap));
-int gui_find_bitmap __ARGS((char_u *name, char_u *buffer, char *ext));
-void gui_find_iconfile __ARGS((char_u *name, char_u *buffer, char *ext));
-void display_errors __ARGS((void));
-int no_console_input __ARGS((void));
-void gui_update_screen __ARGS((void));
-char_u *get_find_dialog_text __ARGS((char_u *arg, int *wwordp, int *mcasep));
-int gui_do_findrepl __ARGS((int flags, char_u *find_text, char_u *repl_text, int down));
-void gui_handle_drop __ARGS((int x, int y, int_u modifiers, char_u **fnames, int count));
+extern void gui_start __ARGS((void));
+extern void gui_prepare __ARGS((int *argc, char **argv));
+extern int gui_init_check __ARGS((void));
+extern void gui_init __ARGS((void));
+extern void gui_exit __ARGS((int rc));
+extern void gui_shell_closed __ARGS((void));
+extern int gui_init_font __ARGS((char_u *font_list, int fontset));
+extern int gui_get_wide_font __ARGS((void));
+extern void gui_set_cursor __ARGS((int row, int col));
+extern void gui_update_cursor __ARGS((int force, int clear_selection));
+extern void gui_position_menu __ARGS((void));
+extern int gui_get_base_width __ARGS((void));
+extern int gui_get_base_height __ARGS((void));
+extern void gui_resize_shell __ARGS((int pixel_width, int pixel_height));
+extern void gui_may_resize_shell __ARGS((void));
+extern int gui_get_shellsize __ARGS((void));
+extern void gui_set_shellsize __ARGS((int mustset, int fit_to_display));
+extern void gui_new_shellsize __ARGS((void));
+extern void gui_reset_scroll_region __ARGS((void));
+extern void gui_start_highlight __ARGS((int mask));
+extern void gui_stop_highlight __ARGS((int mask));
+extern void gui_clear_block __ARGS((int row1, int col1, int row2, int col2));
+extern void gui_update_cursor_later __ARGS((void));
+extern void gui_write __ARGS((char_u *s, int len));
+extern void gui_dont_update_cursor __ARGS((void));
+extern void gui_can_update_cursor __ARGS((void));
+extern int gui_outstr_nowrap __ARGS((char_u *s, int len, int flags, guicolor_T fg, guicolor_T bg, int back));
+extern void gui_undraw_cursor __ARGS((void));
+extern void gui_redraw __ARGS((int x, int y, int w, int h));
+extern int gui_redraw_block __ARGS((int row1, int col1, int row2, int col2, int flags));
+extern int gui_wait_for_chars __ARGS((long wtime));
+extern void gui_send_mouse_event __ARGS((int button, int x, int y, int repeated_click, int_u modifiers));
+extern int gui_xy2colrow __ARGS((int x, int y, int *colp));
+extern void gui_menu_cb __ARGS((vimmenu_T *menu));
+extern void gui_init_which_components __ARGS((char_u *oldval));
+extern int gui_use_tabline __ARGS((void));
+extern void gui_update_tabline __ARGS((void));
+extern void get_tabline_label __ARGS((tabpage_T *tp));
+extern int send_tabline_event __ARGS((int nr));
+extern void gui_remove_scrollbars __ARGS((void));
+extern void gui_create_scrollbar __ARGS((scrollbar_T *sb, int type, win_T *wp));
+extern scrollbar_T *gui_find_scrollbar __ARGS((long ident));
+extern void gui_drag_scrollbar __ARGS((scrollbar_T *sb, long value, int still_dragging));
+extern void gui_update_scrollbars __ARGS((int force));
+extern int gui_do_scroll __ARGS((void));
+extern int gui_do_horiz_scroll __ARGS((void));
+extern void gui_check_colors __ARGS((void));
+extern guicolor_T gui_get_color __ARGS((char_u *name));
+extern int gui_get_lightness __ARGS((guicolor_T pixel));
+extern void gui_new_scrollbar_colors __ARGS((void));
+extern void gui_focus_change __ARGS((int in_focus));
+extern void gui_mouse_moved __ARGS((int x, int y));
+extern void gui_mouse_correct __ARGS((void));
+extern void ex_gui __ARGS((exarg_T *eap));
+extern int gui_find_bitmap __ARGS((char_u *name, char_u *buffer, char *ext));
+extern void gui_find_iconfile __ARGS((char_u *name, char_u *buffer, char *ext));
+extern void display_errors __ARGS((void));
+extern int no_console_input __ARGS((void));
+extern void gui_update_screen __ARGS((void));
+extern char_u *get_find_dialog_text __ARGS((char_u *arg, int *wwordp, int *mcasep));
+extern int gui_do_findrepl __ARGS((int flags, char_u *find_text, char_u *repl_text, int down));
+extern void gui_handle_drop __ARGS((int x, int y, int_u modifiers, char_u **fnames, int count));
 /* vim: set ft=c : */
diff --git a/src/proto/gui_athena.pro b/src/proto/gui_athena.pro
index 353c33b0753b19a1b3baa125c41397faf24574b3..96c059abab04c68d4e96bcc03a7ce2f3c8469444 100644
--- a/src/proto/gui_athena.pro
+++ b/src/proto/gui_athena.pro
@@ -1,31 +1,31 @@
 /* gui_athena.c */
-void gui_x11_create_widgets __ARGS((void));
-void gui_x11_destroy_widgets __ARGS((void));
-void gui_mch_set_toolbar_pos __ARGS((int x, int y, int w, int h));
-void gui_mch_set_text_area_pos __ARGS((int x, int y, int w, int h));
-void gui_x11_set_back_color __ARGS((void));
-void gui_mch_enable_menu __ARGS((int flag));
-void gui_mch_set_menu_pos __ARGS((int x, int y, int w, int h));
-void gui_mch_add_menu __ARGS((vimmenu_T *menu, int idx));
-void gui_mch_new_menu_font __ARGS((void));
-void gui_mch_new_tooltip_font __ARGS((void));
-void gui_mch_new_tooltip_colors __ARGS((void));
-void gui_mch_add_menu_item __ARGS((vimmenu_T *menu, int idx));
-void gui_mch_show_toolbar __ARGS((int showit));
-int gui_mch_compute_toolbar_height __ARGS((void));
-void gui_mch_get_toolbar_colors __ARGS((Pixel *bgp, Pixel *fgp, Pixel *bsp, Pixel *tsp, Pixel *hsp));
-void gui_mch_toggle_tearoffs __ARGS((int enable));
-void gui_mch_new_menu_colors __ARGS((void));
-void gui_mch_destroy_menu __ARGS((vimmenu_T *menu));
-void gui_mch_show_popupmenu __ARGS((vimmenu_T *menu));
-void gui_mch_def_colors __ARGS((void));
-void gui_mch_set_scrollbar_thumb __ARGS((scrollbar_T *sb, long val, long size, long max));
-void gui_mch_set_scrollbar_pos __ARGS((scrollbar_T *sb, int x, int y, int w, int h));
-void gui_mch_enable_scrollbar __ARGS((scrollbar_T *sb, int flag));
-void gui_mch_create_scrollbar __ARGS((scrollbar_T *sb, int orient));
-void gui_mch_destroy_scrollbar __ARGS((scrollbar_T *sb));
-void gui_mch_set_scrollbar_colors __ARGS((scrollbar_T *sb));
-Window gui_x11_get_wid __ARGS((void));
-char_u *gui_mch_browse __ARGS((int saving, char_u *title, char_u *dflt, char_u *ext, char_u *initdir, char_u *filter));
-int gui_mch_dialog __ARGS((int type, char_u *title, char_u *message, char_u *buttons, int dfltbutton, char_u *textfield));
+extern void gui_x11_create_widgets __ARGS((void));
+extern void gui_x11_destroy_widgets __ARGS((void));
+extern void gui_mch_set_toolbar_pos __ARGS((int x, int y, int w, int h));
+extern void gui_mch_set_text_area_pos __ARGS((int x, int y, int w, int h));
+extern void gui_x11_set_back_color __ARGS((void));
+extern void gui_mch_enable_menu __ARGS((int flag));
+extern void gui_mch_set_menu_pos __ARGS((int x, int y, int w, int h));
+extern void gui_mch_add_menu __ARGS((vimmenu_T *menu, int idx));
+extern void gui_mch_new_menu_font __ARGS((void));
+extern void gui_mch_new_tooltip_font __ARGS((void));
+extern void gui_mch_new_tooltip_colors __ARGS((void));
+extern void gui_mch_add_menu_item __ARGS((vimmenu_T *menu, int idx));
+extern void gui_mch_show_toolbar __ARGS((int showit));
+extern int gui_mch_compute_toolbar_height __ARGS((void));
+extern void gui_mch_get_toolbar_colors __ARGS((Pixel *bgp, Pixel *fgp, Pixel *bsp, Pixel *tsp, Pixel *hsp));
+extern void gui_mch_toggle_tearoffs __ARGS((int enable));
+extern void gui_mch_new_menu_colors __ARGS((void));
+extern void gui_mch_destroy_menu __ARGS((vimmenu_T *menu));
+extern void gui_mch_show_popupmenu __ARGS((vimmenu_T *menu));
+extern void gui_mch_def_colors __ARGS((void));
+extern void gui_mch_set_scrollbar_thumb __ARGS((scrollbar_T *sb, long val, long size, long max));
+extern void gui_mch_set_scrollbar_pos __ARGS((scrollbar_T *sb, int x, int y, int w, int h));
+extern void gui_mch_enable_scrollbar __ARGS((scrollbar_T *sb, int flag));
+extern void gui_mch_create_scrollbar __ARGS((scrollbar_T *sb, int orient));
+extern void gui_mch_destroy_scrollbar __ARGS((scrollbar_T *sb));
+extern void gui_mch_set_scrollbar_colors __ARGS((scrollbar_T *sb));
+extern Window gui_x11_get_wid __ARGS((void));
+extern char_u *gui_mch_browse __ARGS((int saving, char_u *title, char_u *dflt, char_u *ext, char_u *initdir, char_u *filter));
+extern int gui_mch_dialog __ARGS((int type, char_u *title, char_u *message, char_u *buttons, int dfltbutton, char_u *textfield));
 /* vim: set ft=c : */
diff --git a/src/proto/gui_gtk.pro b/src/proto/gui_gtk.pro
index 960d631b9917e74e9f83f3583769962aabe6d799..f1fdbe64593557d42212d40cc9400cb5c7b12ae2 100644
--- a/src/proto/gui_gtk.pro
+++ b/src/proto/gui_gtk.pro
@@ -1,23 +1,23 @@
 /* gui_gtk.c */
-void gui_gtk_register_stock_icons __ARGS((void));
-void gui_mch_add_menu __ARGS((vimmenu_T *menu, int idx));
-void gui_mch_add_menu_item __ARGS((vimmenu_T *menu, int idx));
-void gui_mch_set_text_area_pos __ARGS((int x, int y, int w, int h));
-void gui_gtk_set_mnemonics __ARGS((int enable));
-void gui_mch_toggle_tearoffs __ARGS((int enable));
-void gui_mch_menu_set_tip __ARGS((vimmenu_T *menu));
-void gui_mch_destroy_menu __ARGS((vimmenu_T *menu));
-void gui_mch_set_scrollbar_thumb __ARGS((scrollbar_T *sb, long val, long size, long max));
-void gui_mch_set_scrollbar_pos __ARGS((scrollbar_T *sb, int x, int y, int w, int h));
-void gui_mch_create_scrollbar __ARGS((scrollbar_T *sb, int orient));
-void gui_mch_destroy_scrollbar __ARGS((scrollbar_T *sb));
-char_u *gui_mch_browse __ARGS((int saving, char_u *title, char_u *dflt, char_u *ext, char_u *initdir, char_u *filter));
-char_u *gui_mch_browsedir __ARGS((char_u *title, char_u *initdir));
-int gui_mch_dialog __ARGS((int type, char_u *title, char_u *message, char_u *buttons, int def_but, char_u *textfield));
-void gui_mch_show_popupmenu __ARGS((vimmenu_T *menu));
-void gui_make_popup __ARGS((char_u *path_name, int mouse_pos));
-void gui_mch_find_dialog __ARGS((exarg_T *eap));
-void gui_mch_replace_dialog __ARGS((exarg_T *eap));
-void gui_gtk_synch_fonts __ARGS((void));
-void ex_helpfind __ARGS((exarg_T *eap));
+extern void gui_gtk_register_stock_icons __ARGS((void));
+extern void gui_mch_add_menu __ARGS((vimmenu_T *menu, int idx));
+extern void gui_mch_add_menu_item __ARGS((vimmenu_T *menu, int idx));
+extern void gui_mch_set_text_area_pos __ARGS((int x, int y, int w, int h));
+extern void gui_gtk_set_mnemonics __ARGS((int enable));
+extern void gui_mch_toggle_tearoffs __ARGS((int enable));
+extern void gui_mch_menu_set_tip __ARGS((vimmenu_T *menu));
+extern void gui_mch_destroy_menu __ARGS((vimmenu_T *menu));
+extern void gui_mch_set_scrollbar_thumb __ARGS((scrollbar_T *sb, long val, long size, long max));
+extern void gui_mch_set_scrollbar_pos __ARGS((scrollbar_T *sb, int x, int y, int w, int h));
+extern void gui_mch_create_scrollbar __ARGS((scrollbar_T *sb, int orient));
+extern void gui_mch_destroy_scrollbar __ARGS((scrollbar_T *sb));
+extern char_u *gui_mch_browse __ARGS((int saving, char_u *title, char_u *dflt, char_u *ext, char_u *initdir, char_u *filter));
+extern char_u *gui_mch_browsedir __ARGS((char_u *title, char_u *initdir));
+extern int gui_mch_dialog __ARGS((int type, char_u *title, char_u *message, char_u *buttons, int def_but, char_u *textfield));
+extern void gui_mch_show_popupmenu __ARGS((vimmenu_T *menu));
+extern void gui_make_popup __ARGS((char_u *path_name, int mouse_pos));
+extern void gui_mch_find_dialog __ARGS((exarg_T *eap));
+extern void gui_mch_replace_dialog __ARGS((exarg_T *eap));
+extern void gui_gtk_synch_fonts __ARGS((void));
+extern void ex_helpfind __ARGS((exarg_T *eap));
 /* vim: set ft=c : */
diff --git a/src/proto/gui_gtk_x11.pro b/src/proto/gui_gtk_x11.pro
index afb384eb333270c65ffc2af3de368541c8170583..46fcc9f0092fdafe10d1330999d3043a2f656967 100644
--- a/src/proto/gui_gtk_x11.pro
+++ b/src/proto/gui_gtk_x11.pro
@@ -1,73 +1,73 @@
 /* gui_gtk_x11.c */
-void gui_mch_prepare __ARGS((int *argc, char **argv));
-void gui_mch_free_all __ARGS((void));
-void gui_mch_set_blinking __ARGS((long waittime, long on, long off));
-void gui_mch_stop_blink __ARGS((void));
-void gui_mch_start_blink __ARGS((void));
-int gui_mch_init_check __ARGS((void));
-void gui_mch_show_tabline __ARGS((int showit));
-int gui_mch_showing_tabline __ARGS((void));
-void gui_mch_update_tabline __ARGS((void));
-void gui_mch_set_curtab __ARGS((int nr));
-int gui_mch_init __ARGS((void));
-void gui_mch_forked __ARGS((void));
-void gui_mch_new_colors __ARGS((void));
-int gui_mch_open __ARGS((void));
-void gui_mch_exit __ARGS((int rc));
-int gui_mch_get_winpos __ARGS((int *x, int *y));
-void gui_mch_set_winpos __ARGS((int x, int y));
-void gui_mch_set_shellsize __ARGS((int width, int height, int min_width, int min_height, int base_width, int base_height));
-void gui_mch_get_screen_dimensions __ARGS((int *screen_w, int *screen_h));
-void gui_mch_settitle __ARGS((char_u *title, char_u *icon));
-void gui_mch_enable_menu __ARGS((int showit));
-void gui_mch_show_toolbar __ARGS((int showit));
-int gui_mch_adjust_charheight __ARGS((void));
-GuiFontset gui_mch_get_fontset __ARGS((char_u *name, int report_error, int fixed_width));
-char_u *gui_mch_font_dialog __ARGS((char_u *oldval));
-int gui_mch_init_font __ARGS((char_u *font_name, int fontset));
-GuiFont gui_mch_get_font __ARGS((char_u *name, int report_error));
-char_u *gui_mch_get_fontname __ARGS((GuiFont font, char_u *name));
-void gui_mch_set_font __ARGS((GuiFont font));
-void gui_mch_set_fontset __ARGS((GuiFontset fontset));
-void gui_mch_free_font __ARGS((GuiFont font));
-void gui_mch_free_fontset __ARGS((GuiFontset fontset));
-guicolor_T gui_mch_get_color __ARGS((char_u *name));
-void gui_mch_set_fg_color __ARGS((guicolor_T color));
-void gui_mch_set_bg_color __ARGS((guicolor_T color));
-void gui_mch_set_sp_color __ARGS((guicolor_T color));
-int gui_gtk2_draw_string __ARGS((int row, int col, char_u *s, int len, int flags));
-void gui_mch_draw_string __ARGS((int row, int col, char_u *s, int len, int flags));
-int gui_mch_haskey __ARGS((char_u *name));
-int gui_get_x11_windis __ARGS((Window *win, Display **dis));
-Display *gui_mch_get_display __ARGS((void));
-void gui_mch_beep __ARGS((void));
-void gui_mch_flash __ARGS((int msec));
-void gui_mch_invert_rectangle __ARGS((int r, int c, int nr, int nc));
-void gui_mch_iconify __ARGS((void));
-void gui_mch_set_foreground __ARGS((void));
-void gui_mch_draw_hollow_cursor __ARGS((guicolor_T color));
-void gui_mch_draw_part_cursor __ARGS((int w, int h, guicolor_T color));
-void gui_mch_update __ARGS((void));
-int gui_mch_wait_for_chars __ARGS((long wtime));
-void gui_mch_flush __ARGS((void));
-void gui_mch_clear_block __ARGS((int row1, int col1, int row2, int col2));
-void gui_mch_clear_all __ARGS((void));
-void gui_mch_delete_lines __ARGS((int row, int num_lines));
-void gui_mch_insert_lines __ARGS((int row, int num_lines));
-void clip_mch_request_selection __ARGS((VimClipboard *cbd));
-void clip_mch_lose_selection __ARGS((VimClipboard *cbd));
-int clip_mch_own_selection __ARGS((VimClipboard *cbd));
-void clip_mch_set_selection __ARGS((VimClipboard *cbd));
-void gui_mch_menu_grey __ARGS((vimmenu_T *menu, int grey));
-void gui_mch_menu_hidden __ARGS((vimmenu_T *menu, int hidden));
-void gui_mch_draw_menubar __ARGS((void));
-void gui_mch_enable_scrollbar __ARGS((scrollbar_T *sb, int flag));
-long_u gui_mch_get_rgb __ARGS((guicolor_T pixel));
-void gui_mch_getmouse __ARGS((int *x, int *y));
-void gui_mch_setmouse __ARGS((int x, int y));
-void gui_mch_mousehide __ARGS((int hide));
-void mch_set_mouse_shape __ARGS((int shape));
-void gui_mch_drawsign __ARGS((int row, int col, int typenr));
-void *gui_mch_register_sign __ARGS((char_u *signfile));
-void gui_mch_destroy_sign __ARGS((void *sign));
+extern void gui_mch_prepare __ARGS((int *argc, char **argv));
+extern void gui_mch_free_all __ARGS((void));
+extern void gui_mch_set_blinking __ARGS((long waittime, long on, long off));
+extern void gui_mch_stop_blink __ARGS((void));
+extern void gui_mch_start_blink __ARGS((void));
+extern int gui_mch_init_check __ARGS((void));
+extern void gui_mch_show_tabline __ARGS((int showit));
+extern int gui_mch_showing_tabline __ARGS((void));
+extern void gui_mch_update_tabline __ARGS((void));
+extern void gui_mch_set_curtab __ARGS((int nr));
+extern int gui_mch_init __ARGS((void));
+extern void gui_mch_forked __ARGS((void));
+extern void gui_mch_new_colors __ARGS((void));
+extern int gui_mch_open __ARGS((void));
+extern void gui_mch_exit __ARGS((int rc));
+extern int gui_mch_get_winpos __ARGS((int *x, int *y));
+extern void gui_mch_set_winpos __ARGS((int x, int y));
+extern void gui_mch_set_shellsize __ARGS((int width, int height, int min_width, int min_height, int base_width, int base_height));
+extern void gui_mch_get_screen_dimensions __ARGS((int *screen_w, int *screen_h));
+extern void gui_mch_settitle __ARGS((char_u *title, char_u *icon));
+extern void gui_mch_enable_menu __ARGS((int showit));
+extern void gui_mch_show_toolbar __ARGS((int showit));
+extern int gui_mch_adjust_charheight __ARGS((void));
+extern GuiFontset gui_mch_get_fontset __ARGS((char_u *name, int report_error, int fixed_width));
+extern char_u *gui_mch_font_dialog __ARGS((char_u *oldval));
+extern int gui_mch_init_font __ARGS((char_u *font_name, int fontset));
+extern GuiFont gui_mch_get_font __ARGS((char_u *name, int report_error));
+extern char_u *gui_mch_get_fontname __ARGS((GuiFont font, char_u *name));
+extern void gui_mch_set_font __ARGS((GuiFont font));
+extern void gui_mch_set_fontset __ARGS((GuiFontset fontset));
+extern void gui_mch_free_font __ARGS((GuiFont font));
+extern void gui_mch_free_fontset __ARGS((GuiFontset fontset));
+extern guicolor_T gui_mch_get_color __ARGS((char_u *name));
+extern void gui_mch_set_fg_color __ARGS((guicolor_T color));
+extern void gui_mch_set_bg_color __ARGS((guicolor_T color));
+extern void gui_mch_set_sp_color __ARGS((guicolor_T color));
+extern int gui_gtk2_draw_string __ARGS((int row, int col, char_u *s, int len, int flags));
+extern void gui_mch_draw_string __ARGS((int row, int col, char_u *s, int len, int flags));
+extern int gui_mch_haskey __ARGS((char_u *name));
+extern int gui_get_x11_windis __ARGS((Window *win, Display **dis));
+extern Display *gui_mch_get_display __ARGS((void));
+extern void gui_mch_beep __ARGS((void));
+extern void gui_mch_flash __ARGS((int msec));
+extern void gui_mch_invert_rectangle __ARGS((int r, int c, int nr, int nc));
+extern void gui_mch_iconify __ARGS((void));
+extern void gui_mch_set_foreground __ARGS((void));
+extern void gui_mch_draw_hollow_cursor __ARGS((guicolor_T color));
+extern void gui_mch_draw_part_cursor __ARGS((int w, int h, guicolor_T color));
+extern void gui_mch_update __ARGS((void));
+extern int gui_mch_wait_for_chars __ARGS((long wtime));
+extern void gui_mch_flush __ARGS((void));
+extern void gui_mch_clear_block __ARGS((int row1, int col1, int row2, int col2));
+extern void gui_mch_clear_all __ARGS((void));
+extern void gui_mch_delete_lines __ARGS((int row, int num_lines));
+extern void gui_mch_insert_lines __ARGS((int row, int num_lines));
+extern void clip_mch_request_selection __ARGS((VimClipboard *cbd));
+extern void clip_mch_lose_selection __ARGS((VimClipboard *cbd));
+extern int clip_mch_own_selection __ARGS((VimClipboard *cbd));
+extern void clip_mch_set_selection __ARGS((VimClipboard *cbd));
+extern void gui_mch_menu_grey __ARGS((vimmenu_T *menu, int grey));
+extern void gui_mch_menu_hidden __ARGS((vimmenu_T *menu, int hidden));
+extern void gui_mch_draw_menubar __ARGS((void));
+extern void gui_mch_enable_scrollbar __ARGS((scrollbar_T *sb, int flag));
+extern long_u gui_mch_get_rgb __ARGS((guicolor_T pixel));
+extern void gui_mch_getmouse __ARGS((int *x, int *y));
+extern void gui_mch_setmouse __ARGS((int x, int y));
+extern void gui_mch_mousehide __ARGS((int hide));
+extern void mch_set_mouse_shape __ARGS((int shape));
+extern void gui_mch_drawsign __ARGS((int row, int col, int typenr));
+extern void *gui_mch_register_sign __ARGS((char_u *signfile));
+extern void gui_mch_destroy_sign __ARGS((void *sign));
 /* vim: set ft=c : */
diff --git a/src/proto/gui_photon.pro b/src/proto/gui_photon.pro
index 098cdc72b6341ba9e4d29f06cda1e114c50f7550..0ffbaaad5f082b61a782fc55d506f76817f65b9c 100644
--- a/src/proto/gui_photon.pro
+++ b/src/proto/gui_photon.pro
@@ -1,67 +1,67 @@
 /* gui_photon.c */
-void gui_ph_encoding_changed __ARGS((int new_encoding));
-void gui_mch_prepare __ARGS((int *argc, char **argv));
-int gui_mch_init __ARGS((void));
-int gui_mch_init_check __ARGS((void));
-int gui_mch_open __ARGS((void));
-void gui_mch_exit __ARGS((int rc));
-void gui_mch_update __ARGS((void));
-int gui_mch_wait_for_chars __ARGS((int wtime));
-char_u *gui_mch_browse __ARGS((int saving, char_u *title, char_u *default_name, char_u *ext, char_u *initdir, char_u *filter));
-int gui_mch_dialog __ARGS((int type, char_u *title, char_u *message, char_u *buttons, int default_button, char_u *textfield));
-int gui_mch_get_winpos __ARGS((int *x, int *y));
-void gui_mch_set_winpos __ARGS((int x, int y));
-void gui_mch_set_shellsize __ARGS((int width, int height, int min_width, int min_height, int base_width, int base_height));
-void gui_mch_get_screen_dimensions __ARGS((int *screen_w, int *screen_h));
-void gui_mch_iconify __ARGS((void));
-void gui_mch_set_foreground __ARGS((void));
-void gui_mch_settitle __ARGS((char_u *title, char_u *icon));
-void gui_mch_set_scrollbar_thumb __ARGS((scrollbar_T *sb, int val, int size, int max));
-void gui_mch_set_scrollbar_pos __ARGS((scrollbar_T *sb, int x, int y, int w, int h));
-void gui_mch_create_scrollbar __ARGS((scrollbar_T *sb, int orient));
-void gui_mch_enable_scrollbar __ARGS((scrollbar_T *sb, int flag));
-void gui_mch_destroy_scrollbar __ARGS((scrollbar_T *sb));
-void mch_set_mouse_shape __ARGS((int shape));
-void gui_mch_mousehide __ARGS((int hide));
-void gui_mch_getmouse __ARGS((int *x, int *y));
-void gui_mch_setmouse __ARGS((int x, int y));
-long_u gui_mch_get_rgb __ARGS((guicolor_T pixel));
-void gui_mch_new_colors __ARGS((void));
-guicolor_T gui_mch_get_color __ARGS((char_u *name));
-void gui_mch_set_fg_color __ARGS((guicolor_T color));
-void gui_mch_set_bg_color __ARGS((guicolor_T color));
-void gui_mch_set_sp_color __ARGS((guicolor_T color));
-void gui_mch_invert_rectangle __ARGS((int row, int col, int nr, int nc));
-void gui_mch_clear_block __ARGS((int row1, int col1, int row2, int col2));
-void gui_mch_clear_all __ARGS((void));
-void gui_mch_delete_lines __ARGS((int row, int num_lines));
-void gui_mch_insert_lines __ARGS((int row, int num_lines));
-void gui_mch_draw_string __ARGS((int row, int col, char_u *s, int len, int flags));
-void gui_mch_draw_hollow_cursor __ARGS((guicolor_T color));
-void gui_mch_draw_part_cursor __ARGS((int w, int h, guicolor_T color));
-void gui_mch_set_blinking __ARGS((long wait, long on, long off));
-void gui_mch_start_blink __ARGS((void));
-void gui_mch_stop_blink __ARGS((void));
-void gui_mch_beep __ARGS((void));
-void gui_mch_flash __ARGS((int msec));
-void gui_mch_flush __ARGS((void));
-void gui_mch_set_text_area_pos __ARGS((int x, int y, int w, int h));
-int gui_mch_haskey __ARGS((char_u *name));
-void gui_mch_enable_menu __ARGS((int flag));
-void gui_mch_set_menu_pos __ARGS((int x, int y, int w, int h));
-void gui_mch_add_menu __ARGS((vimmenu_T *menu, int index));
-void gui_mch_add_menu_item __ARGS((vimmenu_T *menu, int index));
-void gui_mch_destroy_menu __ARGS((vimmenu_T *menu));
-void gui_mch_menu_grey __ARGS((vimmenu_T *menu, int grey));
-void gui_mch_menu_hidden __ARGS((vimmenu_T *menu, int hidden));
-void gui_mch_draw_menubar __ARGS((void));
-void gui_mch_show_popupmenu __ARGS((vimmenu_T *menu));
-void gui_mch_toggle_tearoffs __ARGS((int enable));
-void gui_mch_show_toolbar __ARGS((int showit));
-int gui_mch_init_font __ARGS((char_u *vim_font_name, int fontset));
-int gui_mch_adjust_charheight __ARGS((void));
-GuiFont gui_mch_get_font __ARGS((char_u *vim_font_name, int report_error));
-char_u *gui_mch_get_fontname __ARGS((GuiFont font, char_u *name));
-void gui_mch_set_font __ARGS((GuiFont font));
-void gui_mch_free_font __ARGS((GuiFont font));
+extern void gui_ph_encoding_changed __ARGS((int new_encoding));
+extern void gui_mch_prepare __ARGS((int *argc, char **argv));
+extern int gui_mch_init __ARGS((void));
+extern int gui_mch_init_check __ARGS((void));
+extern int gui_mch_open __ARGS((void));
+extern void gui_mch_exit __ARGS((int rc));
+extern void gui_mch_update __ARGS((void));
+extern int gui_mch_wait_for_chars __ARGS((int wtime));
+extern char_u *gui_mch_browse __ARGS((int saving, char_u *title, char_u *default_name, char_u *ext, char_u *initdir, char_u *filter));
+extern int gui_mch_dialog __ARGS((int type, char_u *title, char_u *message, char_u *buttons, int default_button, char_u *textfield));
+extern int gui_mch_get_winpos __ARGS((int *x, int *y));
+extern void gui_mch_set_winpos __ARGS((int x, int y));
+extern void gui_mch_set_shellsize __ARGS((int width, int height, int min_width, int min_height, int base_width, int base_height));
+extern void gui_mch_get_screen_dimensions __ARGS((int *screen_w, int *screen_h));
+extern void gui_mch_iconify __ARGS((void));
+extern void gui_mch_set_foreground __ARGS((void));
+extern void gui_mch_settitle __ARGS((char_u *title, char_u *icon));
+extern void gui_mch_set_scrollbar_thumb __ARGS((scrollbar_T *sb, int val, int size, int max));
+extern void gui_mch_set_scrollbar_pos __ARGS((scrollbar_T *sb, int x, int y, int w, int h));
+extern void gui_mch_create_scrollbar __ARGS((scrollbar_T *sb, int orient));
+extern void gui_mch_enable_scrollbar __ARGS((scrollbar_T *sb, int flag));
+extern void gui_mch_destroy_scrollbar __ARGS((scrollbar_T *sb));
+extern void mch_set_mouse_shape __ARGS((int shape));
+extern void gui_mch_mousehide __ARGS((int hide));
+extern void gui_mch_getmouse __ARGS((int *x, int *y));
+extern void gui_mch_setmouse __ARGS((int x, int y));
+extern long_u gui_mch_get_rgb __ARGS((guicolor_T pixel));
+extern void gui_mch_new_colors __ARGS((void));
+extern guicolor_T gui_mch_get_color __ARGS((char_u *name));
+extern void gui_mch_set_fg_color __ARGS((guicolor_T color));
+extern void gui_mch_set_bg_color __ARGS((guicolor_T color));
+extern void gui_mch_set_sp_color __ARGS((guicolor_T color));
+extern void gui_mch_invert_rectangle __ARGS((int row, int col, int nr, int nc));
+extern void gui_mch_clear_block __ARGS((int row1, int col1, int row2, int col2));
+extern void gui_mch_clear_all __ARGS((void));
+extern void gui_mch_delete_lines __ARGS((int row, int num_lines));
+extern void gui_mch_insert_lines __ARGS((int row, int num_lines));
+extern void gui_mch_draw_string __ARGS((int row, int col, char_u *s, int len, int flags));
+extern void gui_mch_draw_hollow_cursor __ARGS((guicolor_T color));
+extern void gui_mch_draw_part_cursor __ARGS((int w, int h, guicolor_T color));
+extern void gui_mch_set_blinking __ARGS((long wait, long on, long off));
+extern void gui_mch_start_blink __ARGS((void));
+extern void gui_mch_stop_blink __ARGS((void));
+extern void gui_mch_beep __ARGS((void));
+extern void gui_mch_flash __ARGS((int msec));
+extern void gui_mch_flush __ARGS((void));
+extern void gui_mch_set_text_area_pos __ARGS((int x, int y, int w, int h));
+extern int gui_mch_haskey __ARGS((char_u *name));
+extern void gui_mch_enable_menu __ARGS((int flag));
+extern void gui_mch_set_menu_pos __ARGS((int x, int y, int w, int h));
+extern void gui_mch_add_menu __ARGS((vimmenu_T *menu, int index));
+extern void gui_mch_add_menu_item __ARGS((vimmenu_T *menu, int index));
+extern void gui_mch_destroy_menu __ARGS((vimmenu_T *menu));
+extern void gui_mch_menu_grey __ARGS((vimmenu_T *menu, int grey));
+extern void gui_mch_menu_hidden __ARGS((vimmenu_T *menu, int hidden));
+extern void gui_mch_draw_menubar __ARGS((void));
+extern void gui_mch_show_popupmenu __ARGS((vimmenu_T *menu));
+extern void gui_mch_toggle_tearoffs __ARGS((int enable));
+extern void gui_mch_show_toolbar __ARGS((int showit));
+extern int gui_mch_init_font __ARGS((char_u *vim_font_name, int fontset));
+extern int gui_mch_adjust_charheight __ARGS((void));
+extern GuiFont gui_mch_get_font __ARGS((char_u *vim_font_name, int report_error));
+extern char_u *gui_mch_get_fontname __ARGS((GuiFont font, char_u *name));
+extern void gui_mch_set_font __ARGS((GuiFont font));
+extern void gui_mch_free_font __ARGS((GuiFont font));
 /* vim: set ft=c : */
diff --git a/src/proto/gui_w16.pro b/src/proto/gui_w16.pro
index 254a68f22731da7da45f0fd6f51b881731dec991..4ca3ded539fba1ba04bc6ccfdec59fc38eaa05ea 100644
--- a/src/proto/gui_w16.pro
+++ b/src/proto/gui_w16.pro
@@ -1,75 +1,75 @@
 /* gui_w16.c */
-void gui_mch_set_blinking __ARGS((long wait, long on, long off));
-void gui_mch_stop_blink __ARGS((void));
-void gui_mch_start_blink __ARGS((void));
-LRESULT WINAPI vim_WindowProc __ARGS((HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam));
-void gui_mch_new_colors __ARGS((void));
-void gui_mch_def_colors __ARGS((void));
-int gui_mch_open __ARGS((void));
-int gui_mch_get_winpos __ARGS((int *x, int *y));
-void gui_mch_set_winpos __ARGS((int x, int y));
-void gui_mch_set_text_area_pos __ARGS((int x, int y, int w, int h));
-void gui_mch_enable_scrollbar __ARGS((scrollbar_T *sb, int flag));
-void gui_mch_set_scrollbar_pos __ARGS((scrollbar_T *sb, int x, int y, int w, int h));
-void gui_mch_create_scrollbar __ARGS((scrollbar_T *sb, int orient));
-int gui_mch_adjust_charheight __ARGS((void));
-GuiFont gui_mch_get_font __ARGS((char_u *name, int giveErrorIfMissing));
-char_u *gui_mch_get_fontname __ARGS((GuiFont font, char_u *name));
-void gui_mch_free_font __ARGS((GuiFont font));
-guicolor_T gui_mch_get_color __ARGS((char_u *name));
-int gui_mch_haskey __ARGS((char_u *name));
-void gui_mch_beep __ARGS((void));
-void gui_mch_invert_rectangle __ARGS((int r, int c, int nr, int nc));
-void gui_mch_iconify __ARGS((void));
-void gui_mch_draw_hollow_cursor __ARGS((guicolor_T color));
-void gui_mch_draw_part_cursor __ARGS((int w, int h, guicolor_T color));
-void gui_mch_update __ARGS((void));
-int gui_mch_wait_for_chars __ARGS((int wtime));
-void gui_mch_clear_block __ARGS((int row1, int col1, int row2, int col2));
-void gui_mch_clear_all __ARGS((void));
-void gui_mch_enable_menu __ARGS((int flag));
-void gui_mch_set_menu_pos __ARGS((int x, int y, int w, int h));
-void gui_mch_menu_hidden __ARGS((vimmenu_T *menu, int hidden));
-void gui_mch_draw_menubar __ARGS((void));
-long_u gui_mch_get_rgb __ARGS((guicolor_T pixel));
-void gui_mch_activate_window __ARGS((void));
-void gui_mch_show_toolbar __ARGS((int showit));
-void ex_simalt __ARGS((exarg_T *eap));
-void gui_mch_find_dialog __ARGS((exarg_T *eap));
-void gui_mch_replace_dialog __ARGS((exarg_T *eap));
-void gui_mch_mousehide __ARGS((int hide));
-void gui_mch_destroy_scrollbar __ARGS((scrollbar_T *sb));
-void gui_mch_getmouse __ARGS((int *x, int *y));
-void gui_mch_setmouse __ARGS((int x, int y));
-void gui_mch_get_screen_dimensions __ARGS((int *screen_w, int *screen_h));
-void gui_mch_flash __ARGS((int msec));
-void gui_mch_delete_lines __ARGS((int row, int num_lines));
-void gui_mch_insert_lines __ARGS((int row, int num_lines));
-void gui_mch_exit __ARGS((int rc));
-int gui_mch_init_font __ARGS((char_u *font_name, int fontset));
-int gui_mch_maximized __ARGS((void));
-void gui_mch_newfont __ARGS((void));
-void gui_mch_settitle __ARGS((char_u *title, char_u *icon));
-void mch_set_mouse_shape __ARGS((int shape));
-char_u *gui_mch_browsedir __ARGS((char_u *title, char_u *initdir));
-char_u *gui_mch_browse __ARGS((int saving, char_u *title, char_u *dflt, char_u *ext, char_u *initdir, char_u *filter));
-int get_cmd_args __ARGS((char *prog, char *cmdline, char ***argvp, char **tofree));
-void gui_mch_prepare __ARGS((int *argc, char **argv));
-int gui_mch_init __ARGS((void));
-void gui_mch_set_shellsize __ARGS((int width, int height, int min_width, int min_height, int base_width, int base_height));
-void gui_mch_set_scrollbar_thumb __ARGS((scrollbar_T *sb, long val, long size, long max));
-void gui_mch_set_font __ARGS((GuiFont font));
-void gui_mch_set_fg_color __ARGS((guicolor_T color));
-void gui_mch_set_bg_color __ARGS((guicolor_T color));
-void gui_mch_set_sp_color __ARGS((guicolor_T color));
-void gui_mch_draw_string __ARGS((int row, int col, char_u *text, int len, int flags));
-void gui_mch_flush __ARGS((void));
-void gui_mch_add_menu __ARGS((vimmenu_T *menu, int pos));
-void gui_mch_show_popupmenu __ARGS((vimmenu_T *menu));
-void gui_make_popup __ARGS((char_u *path_name, int mouse_pos));
-void gui_mch_add_menu_item __ARGS((vimmenu_T *menu, int idx));
-void gui_mch_destroy_menu __ARGS((vimmenu_T *menu));
-void gui_mch_menu_grey __ARGS((vimmenu_T *menu, int grey));
-int gui_mch_dialog __ARGS((int type, char_u *title, char_u *message, char_u *buttons, int dfltbutton, char_u *textfield));
-void gui_mch_set_foreground __ARGS((void));
+extern void gui_mch_set_blinking __ARGS((long wait, long on, long off));
+extern void gui_mch_stop_blink __ARGS((void));
+extern void gui_mch_start_blink __ARGS((void));
+extern LRESULT WINAPI vim_WindowProc __ARGS((HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam));
+extern void gui_mch_new_colors __ARGS((void));
+extern void gui_mch_def_colors __ARGS((void));
+extern int gui_mch_open __ARGS((void));
+extern int gui_mch_get_winpos __ARGS((int *x, int *y));
+extern void gui_mch_set_winpos __ARGS((int x, int y));
+extern void gui_mch_set_text_area_pos __ARGS((int x, int y, int w, int h));
+extern void gui_mch_enable_scrollbar __ARGS((scrollbar_T *sb, int flag));
+extern void gui_mch_set_scrollbar_pos __ARGS((scrollbar_T *sb, int x, int y, int w, int h));
+extern void gui_mch_create_scrollbar __ARGS((scrollbar_T *sb, int orient));
+extern int gui_mch_adjust_charheight __ARGS((void));
+extern GuiFont gui_mch_get_font __ARGS((char_u *name, int giveErrorIfMissing));
+extern char_u *gui_mch_get_fontname __ARGS((GuiFont font, char_u *name));
+extern void gui_mch_free_font __ARGS((GuiFont font));
+extern guicolor_T gui_mch_get_color __ARGS((char_u *name));
+extern int gui_mch_haskey __ARGS((char_u *name));
+extern void gui_mch_beep __ARGS((void));
+extern void gui_mch_invert_rectangle __ARGS((int r, int c, int nr, int nc));
+extern void gui_mch_iconify __ARGS((void));
+extern void gui_mch_draw_hollow_cursor __ARGS((guicolor_T color));
+extern void gui_mch_draw_part_cursor __ARGS((int w, int h, guicolor_T color));
+extern void gui_mch_update __ARGS((void));
+extern int gui_mch_wait_for_chars __ARGS((int wtime));
+extern void gui_mch_clear_block __ARGS((int row1, int col1, int row2, int col2));
+extern void gui_mch_clear_all __ARGS((void));
+extern void gui_mch_enable_menu __ARGS((int flag));
+extern void gui_mch_set_menu_pos __ARGS((int x, int y, int w, int h));
+extern void gui_mch_menu_hidden __ARGS((vimmenu_T *menu, int hidden));
+extern void gui_mch_draw_menubar __ARGS((void));
+extern long_u gui_mch_get_rgb __ARGS((guicolor_T pixel));
+extern void gui_mch_activate_window __ARGS((void));
+extern void gui_mch_show_toolbar __ARGS((int showit));
+extern void ex_simalt __ARGS((exarg_T *eap));
+extern void gui_mch_find_dialog __ARGS((exarg_T *eap));
+extern void gui_mch_replace_dialog __ARGS((exarg_T *eap));
+extern void gui_mch_mousehide __ARGS((int hide));
+extern void gui_mch_destroy_scrollbar __ARGS((scrollbar_T *sb));
+extern void gui_mch_getmouse __ARGS((int *x, int *y));
+extern void gui_mch_setmouse __ARGS((int x, int y));
+extern void gui_mch_flash __ARGS((int msec));
+extern void gui_mch_delete_lines __ARGS((int row, int num_lines));
+extern void gui_mch_insert_lines __ARGS((int row, int num_lines));
+extern void gui_mch_exit __ARGS((int rc));
+extern int gui_mch_init_font __ARGS((char_u *font_name, int fontset));
+extern int gui_mch_maximized __ARGS((void));
+extern void gui_mch_newfont __ARGS((void));
+extern void gui_mch_settitle __ARGS((char_u *title, char_u *icon));
+extern void mch_set_mouse_shape __ARGS((int shape));
+extern char_u *gui_mch_browsedir __ARGS((char_u *title, char_u *initdir));
+extern char_u *gui_mch_browse __ARGS((int saving, char_u *title, char_u *dflt, char_u *ext, char_u *initdir, char_u *filter));
+extern int get_cmd_args __ARGS((char *prog, char *cmdline, char ***argvp, char **tofree));
+extern void gui_mch_prepare __ARGS((int *argc, char **argv));
+extern int gui_mch_init __ARGS((void));
+extern void gui_mch_set_shellsize __ARGS((int width, int height, int min_width, int min_height, int base_width, int base_height));
+extern void gui_mch_set_scrollbar_thumb __ARGS((scrollbar_T *sb, long val, long size, long max));
+extern void gui_mch_set_font __ARGS((GuiFont font));
+extern void gui_mch_set_fg_color __ARGS((guicolor_T color));
+extern void gui_mch_set_bg_color __ARGS((guicolor_T color));
+extern void gui_mch_set_sp_color __ARGS((guicolor_T color));
+extern void gui_mch_draw_string __ARGS((int row, int col, char_u *text, int len, int flags));
+extern void gui_mch_flush __ARGS((void));
+extern void gui_mch_get_screen_dimensions __ARGS((int *screen_w, int *screen_h));
+extern void gui_mch_add_menu __ARGS((vimmenu_T *menu, int pos));
+extern void gui_mch_show_popupmenu __ARGS((vimmenu_T *menu));
+extern void gui_make_popup __ARGS((char_u *path_name, int mouse_pos));
+extern void gui_mch_add_menu_item __ARGS((vimmenu_T *menu, int idx));
+extern void gui_mch_destroy_menu __ARGS((vimmenu_T *menu));
+extern void gui_mch_menu_grey __ARGS((vimmenu_T *menu, int grey));
+extern int gui_mch_dialog __ARGS((int type, char_u *title, char_u *message, char_u *buttons, int dfltbutton, char_u *textfield));
+extern void gui_mch_set_foreground __ARGS((void));
 /* vim: set ft=c : */
diff --git a/src/proto/gui_w32.pro b/src/proto/gui_w32.pro
index 31f44aa2e7bffbbbfa25efeed1160723d5afb45e..9e411565eb4cced66b6fa61fdc337553f3657225 100644
--- a/src/proto/gui_w32.pro
+++ b/src/proto/gui_w32.pro
@@ -1,92 +1,92 @@
 /* gui_w32.c */
-void gui_mch_set_blinking __ARGS((long wait, long on, long off));
-void gui_mch_stop_blink __ARGS((void));
-void gui_mch_start_blink __ARGS((void));
-LRESULT WINAPI vim_WindowProc __ARGS((HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam));
-void gui_mch_new_colors __ARGS((void));
-void gui_mch_def_colors __ARGS((void));
-int gui_mch_open __ARGS((void));
-int gui_mch_get_winpos __ARGS((int *x, int *y));
-void gui_mch_set_winpos __ARGS((int x, int y));
-void gui_mch_set_text_area_pos __ARGS((int x, int y, int w, int h));
-void gui_mch_enable_scrollbar __ARGS((scrollbar_T *sb, int flag));
-void gui_mch_set_scrollbar_pos __ARGS((scrollbar_T *sb, int x, int y, int w, int h));
-void gui_mch_create_scrollbar __ARGS((scrollbar_T *sb, int orient));
-int gui_mch_adjust_charheight __ARGS((void));
-GuiFont gui_mch_get_font __ARGS((char_u *name, int giveErrorIfMissing));
-char_u *gui_mch_get_fontname __ARGS((GuiFont font, char_u *name));
-void gui_mch_free_font __ARGS((GuiFont font));
-guicolor_T gui_mch_get_color __ARGS((char_u *name));
-int gui_mch_haskey __ARGS((char_u *name));
-void gui_mch_beep __ARGS((void));
-void gui_mch_invert_rectangle __ARGS((int r, int c, int nr, int nc));
-void gui_mch_iconify __ARGS((void));
-void gui_mch_draw_hollow_cursor __ARGS((guicolor_T color));
-void gui_mch_draw_part_cursor __ARGS((int w, int h, guicolor_T color));
-void gui_mch_update __ARGS((void));
-int gui_mch_wait_for_chars __ARGS((int wtime));
-void gui_mch_clear_block __ARGS((int row1, int col1, int row2, int col2));
-void gui_mch_clear_all __ARGS((void));
-void gui_mch_enable_menu __ARGS((int flag));
-void gui_mch_set_menu_pos __ARGS((int x, int y, int w, int h));
-void gui_mch_menu_hidden __ARGS((vimmenu_T *menu, int hidden));
-void gui_mch_draw_menubar __ARGS((void));
-long_u gui_mch_get_rgb __ARGS((guicolor_T pixel));
-void gui_mch_activate_window __ARGS((void));
-void gui_mch_show_toolbar __ARGS((int showit));
-void ex_simalt __ARGS((exarg_T *eap));
-void gui_mch_find_dialog __ARGS((exarg_T *eap));
-void gui_mch_replace_dialog __ARGS((exarg_T *eap));
-void gui_mch_mousehide __ARGS((int hide));
-void gui_mch_destroy_scrollbar __ARGS((scrollbar_T *sb));
-void gui_mch_getmouse __ARGS((int *x, int *y));
-void gui_mch_setmouse __ARGS((int x, int y));
-void gui_mch_get_screen_dimensions __ARGS((int *screen_w, int *screen_h));
-void gui_mch_flash __ARGS((int msec));
-void gui_mch_delete_lines __ARGS((int row, int num_lines));
-void gui_mch_insert_lines __ARGS((int row, int num_lines));
-void gui_mch_exit __ARGS((int rc));
-int gui_mch_init_font __ARGS((char_u *font_name, int fontset));
-int gui_mch_maximized __ARGS((void));
-void gui_mch_newfont __ARGS((void));
-void gui_mch_settitle __ARGS((char_u *title, char_u *icon));
-void mch_set_mouse_shape __ARGS((int shape));
-char_u *gui_mch_browsedir __ARGS((char_u *title, char_u *initdir));
-char_u *gui_mch_browse __ARGS((int saving, char_u *title, char_u *dflt, char_u *ext, char_u *initdir, char_u *filter));
-int get_cmd_args __ARGS((char *prog, char *cmdline, char ***argvp, char **tofree));
-int gui_is_win32s __ARGS((void));
-void gui_mch_set_parent __ARGS((char *title));
-void gui_mch_prepare __ARGS((int *argc, char **argv));
-int gui_mch_init __ARGS((void));
-void gui_mch_set_shellsize __ARGS((int width, int height, int min_width, int min_height, int base_width, int base_height));
-void gui_mch_set_scrollbar_thumb __ARGS((scrollbar_T *sb, long val, long size, long max));
-void gui_mch_set_font __ARGS((GuiFont font));
-void gui_mch_set_fg_color __ARGS((guicolor_T color));
-void gui_mch_set_bg_color __ARGS((guicolor_T color));
-void gui_mch_set_sp_color __ARGS((guicolor_T color));
-void im_set_font __ARGS((LOGFONT *lf));
-void im_set_position __ARGS((int row, int col));
-void im_set_active __ARGS((int active));
-int im_get_status __ARGS((void));
-void gui_mch_draw_string __ARGS((int row, int col, char_u *text, int len, int flags));
-void gui_mch_flush __ARGS((void));
-void gui_mch_add_menu __ARGS((vimmenu_T *menu, int pos));
-void gui_mch_show_popupmenu __ARGS((vimmenu_T *menu));
-void gui_make_popup __ARGS((char_u *path_name, int mouse_pos));
-void gui_make_tearoff __ARGS((char_u *path_name));
-void gui_mch_add_menu_item __ARGS((vimmenu_T *menu, int idx));
-void gui_mch_destroy_menu __ARGS((vimmenu_T *menu));
-void gui_mch_menu_grey __ARGS((vimmenu_T *menu, int grey));
-int gui_mch_dialog __ARGS((int type, char_u *title, char_u *message, char_u *buttons, int dfltbutton, char_u *textfield));
-void gui_mch_set_foreground __ARGS((void));
-void gui_mch_drawsign __ARGS((int row, int col, int typenr));
-void *gui_mch_register_sign __ARGS((char_u *signfile));
-void gui_mch_destroy_sign __ARGS((void *sign));
-int multiline_balloon_available __ARGS((void));
-void gui_mch_disable_beval_area __ARGS((BalloonEval *beval));
-void gui_mch_enable_beval_area __ARGS((BalloonEval *beval));
-void gui_mch_post_balloon __ARGS((BalloonEval *beval, char_u *mesg));
-BalloonEval *gui_mch_create_beval_area __ARGS((void *target, char_u *mesg, void (*mesgCB)(BalloonEval *, int), void *clientData));
-void gui_mch_destroy_beval_area __ARGS((BalloonEval *beval));
-void netbeans_draw_multisign_indicator __ARGS((int row));
+extern void gui_mch_set_blinking __ARGS((long wait, long on, long off));
+extern void gui_mch_stop_blink __ARGS((void));
+extern void gui_mch_start_blink __ARGS((void));
+extern LRESULT WINAPI vim_WindowProc __ARGS((HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam));
+extern void gui_mch_new_colors __ARGS((void));
+extern void gui_mch_def_colors __ARGS((void));
+extern int gui_mch_open __ARGS((void));
+extern int gui_mch_get_winpos __ARGS((int *x, int *y));
+extern void gui_mch_set_winpos __ARGS((int x, int y));
+extern void gui_mch_set_text_area_pos __ARGS((int x, int y, int w, int h));
+extern void gui_mch_enable_scrollbar __ARGS((scrollbar_T *sb, int flag));
+extern void gui_mch_set_scrollbar_pos __ARGS((scrollbar_T *sb, int x, int y, int w, int h));
+extern void gui_mch_create_scrollbar __ARGS((scrollbar_T *sb, int orient));
+extern int gui_mch_adjust_charheight __ARGS((void));
+extern GuiFont gui_mch_get_font __ARGS((char_u *name, int giveErrorIfMissing));
+extern char_u *gui_mch_get_fontname __ARGS((GuiFont font, char_u *name));
+extern void gui_mch_free_font __ARGS((GuiFont font));
+extern guicolor_T gui_mch_get_color __ARGS((char_u *name));
+extern int gui_mch_haskey __ARGS((char_u *name));
+extern void gui_mch_beep __ARGS((void));
+extern void gui_mch_invert_rectangle __ARGS((int r, int c, int nr, int nc));
+extern void gui_mch_iconify __ARGS((void));
+extern void gui_mch_draw_hollow_cursor __ARGS((guicolor_T color));
+extern void gui_mch_draw_part_cursor __ARGS((int w, int h, guicolor_T color));
+extern void gui_mch_update __ARGS((void));
+extern int gui_mch_wait_for_chars __ARGS((int wtime));
+extern void gui_mch_clear_block __ARGS((int row1, int col1, int row2, int col2));
+extern void gui_mch_clear_all __ARGS((void));
+extern void gui_mch_enable_menu __ARGS((int flag));
+extern void gui_mch_set_menu_pos __ARGS((int x, int y, int w, int h));
+extern void gui_mch_menu_hidden __ARGS((vimmenu_T *menu, int hidden));
+extern void gui_mch_draw_menubar __ARGS((void));
+extern long_u gui_mch_get_rgb __ARGS((guicolor_T pixel));
+extern void gui_mch_activate_window __ARGS((void));
+extern void gui_mch_show_toolbar __ARGS((int showit));
+extern void ex_simalt __ARGS((exarg_T *eap));
+extern void gui_mch_find_dialog __ARGS((exarg_T *eap));
+extern void gui_mch_replace_dialog __ARGS((exarg_T *eap));
+extern void gui_mch_mousehide __ARGS((int hide));
+extern void gui_mch_destroy_scrollbar __ARGS((scrollbar_T *sb));
+extern void gui_mch_getmouse __ARGS((int *x, int *y));
+extern void gui_mch_setmouse __ARGS((int x, int y));
+extern void gui_mch_flash __ARGS((int msec));
+extern void gui_mch_delete_lines __ARGS((int row, int num_lines));
+extern void gui_mch_insert_lines __ARGS((int row, int num_lines));
+extern void gui_mch_exit __ARGS((int rc));
+extern int gui_mch_init_font __ARGS((char_u *font_name, int fontset));
+extern int gui_mch_maximized __ARGS((void));
+extern void gui_mch_newfont __ARGS((void));
+extern void gui_mch_settitle __ARGS((char_u *title, char_u *icon));
+extern void mch_set_mouse_shape __ARGS((int shape));
+extern char_u *gui_mch_browsedir __ARGS((char_u *title, char_u *initdir));
+extern char_u *gui_mch_browse __ARGS((int saving, char_u *title, char_u *dflt, char_u *ext, char_u *initdir, char_u *filter));
+extern int get_cmd_args __ARGS((char *prog, char *cmdline, char ***argvp, char **tofree));
+extern int gui_is_win32s __ARGS((void));
+extern void gui_mch_set_parent __ARGS((char *title));
+extern void gui_mch_prepare __ARGS((int *argc, char **argv));
+extern int gui_mch_init __ARGS((void));
+extern void gui_mch_set_shellsize __ARGS((int width, int height, int min_width, int min_height, int base_width, int base_height));
+extern void gui_mch_set_scrollbar_thumb __ARGS((scrollbar_T *sb, long val, long size, long max));
+extern void gui_mch_set_font __ARGS((GuiFont font));
+extern void gui_mch_set_fg_color __ARGS((guicolor_T color));
+extern void gui_mch_set_bg_color __ARGS((guicolor_T color));
+extern void gui_mch_set_sp_color __ARGS((guicolor_T color));
+extern void im_set_font __ARGS((LOGFONT *lf));
+extern void im_set_position __ARGS((int row, int col));
+extern void im_set_active __ARGS((int active));
+extern int im_get_status __ARGS((void));
+extern void gui_mch_draw_string __ARGS((int row, int col, char_u *text, int len, int flags));
+extern void gui_mch_flush __ARGS((void));
+extern void gui_mch_get_screen_dimensions __ARGS((int *screen_w, int *screen_h));
+extern void gui_mch_add_menu __ARGS((vimmenu_T *menu, int pos));
+extern void gui_mch_show_popupmenu __ARGS((vimmenu_T *menu));
+extern void gui_make_popup __ARGS((char_u *path_name, int mouse_pos));
+extern void gui_make_tearoff __ARGS((char_u *path_name));
+extern void gui_mch_add_menu_item __ARGS((vimmenu_T *menu, int idx));
+extern void gui_mch_destroy_menu __ARGS((vimmenu_T *menu));
+extern void gui_mch_menu_grey __ARGS((vimmenu_T *menu, int grey));
+extern int gui_mch_dialog __ARGS((int type, char_u *title, char_u *message, char_u *buttons, int dfltbutton, char_u *textfield));
+extern void gui_mch_set_foreground __ARGS((void));
+extern void gui_mch_drawsign __ARGS((int row, int col, int typenr));
+extern void *gui_mch_register_sign __ARGS((char_u *signfile));
+extern void gui_mch_destroy_sign __ARGS((void *sign));
+extern int multiline_balloon_available __ARGS((void));
+extern void gui_mch_disable_beval_area __ARGS((BalloonEval *beval));
+extern void gui_mch_enable_beval_area __ARGS((BalloonEval *beval));
+extern void gui_mch_post_balloon __ARGS((BalloonEval *beval, char_u *mesg));
+extern BalloonEval *gui_mch_create_beval_area __ARGS((void *target, char_u *mesg, void (*mesgCB)(BalloonEval *, int), void *clientData));
+extern void gui_mch_destroy_beval_area __ARGS((BalloonEval *beval));
+extern void netbeans_draw_multisign_indicator __ARGS((int row));
 /* vim: set ft=c : */
diff --git a/src/proto/gui_xmdlg.pro b/src/proto/gui_xmdlg.pro
index 4f88c2ff17136d259a046302d7613ed170a15ce5..dc6655a15bf62dd0e469f512934aa03d6a2ba8a1 100644
--- a/src/proto/gui_xmdlg.pro
+++ b/src/proto/gui_xmdlg.pro
@@ -1,3 +1,3 @@
 /* gui_xmdlg.c */
-char_u *gui_xm_select_font __ARGS((char_u *current));
+extern char_u *gui_xm_select_font __ARGS((char_u *current));
 /* vim: set ft=c : */
diff --git a/src/proto/hardcopy.pro b/src/proto/hardcopy.pro
index f1928149fb928b9067b73e894500692abffa44ab..fde7c2a4ab832ea5539e2ab10945ba0358c0f18b 100644
--- a/src/proto/hardcopy.pro
+++ b/src/proto/hardcopy.pro
@@ -1,21 +1,20 @@
 /* hardcopy.c */
-char_u *parse_printoptions __ARGS((void));
-char_u *parse_printmbfont __ARGS((void));
-int get_printer_page_num __ARGS((void));
-int prt_header_height __ARGS((void));
-int prt_use_number __ARGS((void));
-int prt_get_unit __ARGS((int idx));
-void ex_hardcopy __ARGS((exarg_T *eap));
-void mch_print_cleanup __ARGS((void));
-int mch_print_init __ARGS((prt_settings_T *psettings, char_u *jobname, int forceit));
-int mch_print_begin __ARGS((prt_settings_T *psettings));
-void mch_print_end __ARGS((prt_settings_T *psettings));
-int mch_print_end_page __ARGS((void));
-int mch_print_begin_page __ARGS((char_u *str));
-int mch_print_blank_page __ARGS((void));
-void mch_print_start_line __ARGS((int margin, int page_line));
-int mch_print_text_out __ARGS((char_u *p, int len));
-void mch_print_set_font __ARGS((int iBold, int iItalic, int iUnderline));
-void mch_print_set_bg __ARGS((long_u bgcol));
-void mch_print_set_fg __ARGS((long_u fgcol));
+extern char_u *parse_printoptions __ARGS((void));
+extern char_u *parse_printmbfont __ARGS((void));
+extern int prt_header_height __ARGS((void));
+extern int prt_use_number __ARGS((void));
+extern int prt_get_unit __ARGS((int idx));
+extern void ex_hardcopy __ARGS((exarg_T *eap));
+extern void mch_print_cleanup __ARGS((void));
+extern int mch_print_init __ARGS((prt_settings_T *psettings, char_u *jobname, int forceit));
+extern int mch_print_begin __ARGS((prt_settings_T *psettings));
+extern void mch_print_end __ARGS((prt_settings_T *psettings));
+extern int mch_print_end_page __ARGS((void));
+extern int mch_print_begin_page __ARGS((char_u *str));
+extern int mch_print_blank_page __ARGS((void));
+extern void mch_print_start_line __ARGS((int margin, int page_line));
+extern int mch_print_text_out __ARGS((char_u *p, int len));
+extern void mch_print_set_font __ARGS((int iBold, int iItalic, int iUnderline));
+extern void mch_print_set_bg __ARGS((long_u bgcol));
+extern void mch_print_set_fg __ARGS((long_u fgcol));
 /* vim: set ft=c : */
diff --git a/src/proto/hashtab.pro b/src/proto/hashtab.pro
new file mode 100644
index 0000000000000000000000000000000000000000..90abb9f0b681dab69e9e2518390d634764e7c0fe
--- /dev/null
+++ b/src/proto/hashtab.pro
@@ -0,0 +1,14 @@
+/* hashtab.c */
+extern void hash_init __ARGS((hashtab_T *ht));
+extern void hash_clear __ARGS((hashtab_T *ht));
+extern void hash_clear_all __ARGS((hashtab_T *ht, int off));
+extern hashitem_T *hash_find __ARGS((hashtab_T *ht, char_u *key));
+extern hashitem_T *hash_lookup __ARGS((hashtab_T *ht, char_u *key, hash_T hash));
+extern void hash_debug_results __ARGS((void));
+extern int hash_add __ARGS((hashtab_T *ht, char_u *key));
+extern int hash_add_item __ARGS((hashtab_T *ht, hashitem_T *hi, char_u *key, hash_T hash));
+extern void hash_remove __ARGS((hashtab_T *ht, hashitem_T *hi));
+extern void hash_lock __ARGS((hashtab_T *ht));
+extern void hash_unlock __ARGS((hashtab_T *ht));
+extern hash_T hash_hash __ARGS((char_u *key));
+/* vim: set ft=c : */
diff --git a/src/proto/if_cscope.pro b/src/proto/if_cscope.pro
index 0617d13a9de2bad81ca197735c2f55be6ed15a02..aae9edff3a1f3afc833f29fdcfb4262292488f0d 100644
--- a/src/proto/if_cscope.pro
+++ b/src/proto/if_cscope.pro
@@ -1,9 +1,9 @@
 /* if_cscope.c */
-void do_cscope __ARGS((exarg_T *eap));
-void do_scscope __ARGS((exarg_T *eap));
-void do_cstag __ARGS((exarg_T *eap));
-int cs_fgets __ARGS((char_u *buf, int size));
-void cs_free_tags __ARGS((void));
-void cs_print_tags __ARGS((void));
-int cs_connection __ARGS((int num, char_u *dbpath, char_u *ppath));
+extern void do_cscope __ARGS((exarg_T *eap));
+extern void do_scscope __ARGS((exarg_T *eap));
+extern void do_cstag __ARGS((exarg_T *eap));
+extern int cs_fgets __ARGS((char_u *buf, int size));
+extern void cs_free_tags __ARGS((void));
+extern void cs_print_tags __ARGS((void));
+extern int cs_connection __ARGS((int num, char_u *dbpath, char_u *ppath));
 /* vim: set ft=c : */
diff --git a/src/proto/if_perlsfio.pro b/src/proto/if_perlsfio.pro
index bb9046809f198e8f1728ec38792b7288005bb9c0..14fa4cc53f0cff865349c995b2dc9772385f753f 100644
--- a/src/proto/if_perlsfio.pro
+++ b/src/proto/if_perlsfio.pro
@@ -1,3 +1,3 @@
 /* if_perlsfio.c */
-int *sfdcnewvim __ARGS((void));
+extern int *sfdcnewvim __ARGS((void));
 /* vim: set ft=c : */
diff --git a/src/proto/if_tcl.pro b/src/proto/if_tcl.pro
index 0679ed41a672372b0b38f2dd4bc925811d414c43..2af917429d5e8f68fe6805bc9e6acf6ab8a2ed51 100644
--- a/src/proto/if_tcl.pro
+++ b/src/proto/if_tcl.pro
@@ -1,10 +1,10 @@
 /* if_tcl.c */
-void vim_tcl_init __ARGS((char *arg));
-int tcl_enabled __ARGS((int verbose));
-void tcl_end __ARGS((void));
-void ex_tcl __ARGS((exarg_T *eap));
-void ex_tclfile __ARGS((exarg_T *eap));
-void ex_tcldo __ARGS((exarg_T *eap));
-void tcl_buffer_free __ARGS((buf_T *buf));
-void tcl_window_free __ARGS((win_T *win));
+extern void vim_tcl_init __ARGS((char *arg));
+extern int tcl_enabled __ARGS((int verbose));
+extern void tcl_end __ARGS((void));
+extern void ex_tcl __ARGS((exarg_T *eap));
+extern void ex_tclfile __ARGS((exarg_T *eap));
+extern void ex_tcldo __ARGS((exarg_T *eap));
+extern void tcl_buffer_free __ARGS((buf_T *buf));
+extern void tcl_window_free __ARGS((win_T *win));
 /* vim: set ft=c : */
diff --git a/src/proto/main.pro b/src/proto/main.pro
index 2ecce7955735292956adac125de0bced6c6fe9f0..93a312f241baec7183d5ba5ec0893ed6d0f6c5c7 100644
--- a/src/proto/main.pro
+++ b/src/proto/main.pro
@@ -1,26 +1,26 @@
 /* main.c */
-void main_loop __ARGS((int cmdwin, int noexmode));
-void getout_preserve_modified __ARGS((int exitval));
-void getout __ARGS((int exitval));
-int process_env __ARGS((char_u *env, int is_viminit));
-void mainerr_arg_missing __ARGS((char_u *str));
-void time_push __ARGS((void *tv_rel, void *tv_start));
-void time_pop __ARGS((void *tp));
-void time_msg __ARGS((char *msg, void *tv_start));
-void server_to_input_buf __ARGS((char_u *str));
-char_u *eval_client_expr_to_string __ARGS((char_u *expr));
-char_u *serverConvert __ARGS((char_u *client_enc, char_u *data, char_u **tofree));
-int toF_TyA __ARGS((int c));
-int fkmap __ARGS((int c));
-void conv_to_pvim __ARGS((void));
-void conv_to_pstd __ARGS((void));
-char_u *lrswap __ARGS((char_u *ibuf));
-char_u *lrFswap __ARGS((char_u *cmdbuf, int len));
-char_u *lrF_sub __ARGS((char_u *ibuf));
-int cmdl_fkmap __ARGS((int c));
-int F_isalpha __ARGS((int c));
-int F_isdigit __ARGS((int c));
-int F_ischar __ARGS((int c));
-void farsi_fkey __ARGS((cmdarg_T *cap));
-int arabic_shape __ARGS((int c, int *ccp, int *c1p, int prev_c, int prev_c1, int next_c));
+extern void main_loop __ARGS((int cmdwin, int noexmode));
+extern void getout_preserve_modified __ARGS((int exitval));
+extern void getout __ARGS((int exitval));
+extern int process_env __ARGS((char_u *env, int is_viminit));
+extern void mainerr_arg_missing __ARGS((char_u *str));
+extern void time_push __ARGS((void *tv_rel, void *tv_start));
+extern void time_pop __ARGS((void *tp));
+extern void time_msg __ARGS((char *msg, void *tv_start));
+extern void server_to_input_buf __ARGS((char_u *str));
+extern char_u *eval_client_expr_to_string __ARGS((char_u *expr));
+extern char_u *serverConvert __ARGS((char_u *client_enc, char_u *data, char_u **tofree));
+extern int toF_TyA __ARGS((int c));
+extern int fkmap __ARGS((int c));
+extern void conv_to_pvim __ARGS((void));
+extern void conv_to_pstd __ARGS((void));
+extern char_u *lrswap __ARGS((char_u *ibuf));
+extern char_u *lrFswap __ARGS((char_u *cmdbuf, int len));
+extern char_u *lrF_sub __ARGS((char_u *ibuf));
+extern int cmdl_fkmap __ARGS((int c));
+extern int F_isalpha __ARGS((int c));
+extern int F_isdigit __ARGS((int c));
+extern int F_ischar __ARGS((int c));
+extern void farsi_fkey __ARGS((cmdarg_T *cap));
+extern int arabic_shape __ARGS((int c, int *ccp, int *c1p, int prev_c, int prev_c1, int next_c));
 /* vim: set ft=c : */
diff --git a/src/proto/mark.pro b/src/proto/mark.pro
index 13e186899e64cb5361c9549a428b9107f96824e3..fe44031884826cce674e73b32038a04d51896c70 100644
--- a/src/proto/mark.pro
+++ b/src/proto/mark.pro
@@ -1,30 +1,30 @@
 /* mark.c */
-int setmark __ARGS((int c));
-int setmark_pos __ARGS((int c, pos_T *pos, int fnum));
-void setpcmark __ARGS((void));
-void checkpcmark __ARGS((void));
-pos_T *movemark __ARGS((int count));
-pos_T *movechangelist __ARGS((int count));
-pos_T *getmark __ARGS((int c, int changefile));
-pos_T *getmark_fnum __ARGS((int c, int changefile, int *fnum));
-pos_T *getnextmark __ARGS((pos_T *startpos, int dir, int begin_line));
-void fmarks_check_names __ARGS((buf_T *buf));
-int check_mark __ARGS((pos_T *pos));
-void clrallmarks __ARGS((buf_T *buf));
-char_u *fm_getname __ARGS((fmark_T *fmark, int lead_len));
-void do_marks __ARGS((exarg_T *eap));
-void ex_delmarks __ARGS((exarg_T *eap));
-void ex_jumps __ARGS((exarg_T *eap));
-void ex_changes __ARGS((exarg_T *eap));
-void mark_adjust __ARGS((linenr_T line1, linenr_T line2, long amount, long amount_after));
-void mark_col_adjust __ARGS((linenr_T lnum, colnr_T mincol, long lnum_amount, long col_amount));
-void copy_jumplist __ARGS((win_T *from, win_T *to));
-void free_jumplist __ARGS((win_T *wp));
-void set_last_cursor __ARGS((win_T *win));
-void free_all_marks __ARGS((void));
-int read_viminfo_filemark __ARGS((vir_T *virp, int force));
-void write_viminfo_filemarks __ARGS((FILE *fp));
-int removable __ARGS((char_u *name));
-int write_viminfo_marks __ARGS((FILE *fp_out));
-void copy_viminfo_marks __ARGS((vir_T *virp, FILE *fp_out, int count, int eof));
+extern int setmark __ARGS((int c));
+extern int setmark_pos __ARGS((int c, pos_T *pos, int fnum));
+extern void setpcmark __ARGS((void));
+extern void checkpcmark __ARGS((void));
+extern pos_T *movemark __ARGS((int count));
+extern pos_T *movechangelist __ARGS((int count));
+extern pos_T *getmark __ARGS((int c, int changefile));
+extern pos_T *getmark_fnum __ARGS((int c, int changefile, int *fnum));
+extern pos_T *getnextmark __ARGS((pos_T *startpos, int dir, int begin_line));
+extern void fmarks_check_names __ARGS((buf_T *buf));
+extern int check_mark __ARGS((pos_T *pos));
+extern void clrallmarks __ARGS((buf_T *buf));
+extern char_u *fm_getname __ARGS((fmark_T *fmark, int lead_len));
+extern void do_marks __ARGS((exarg_T *eap));
+extern void ex_delmarks __ARGS((exarg_T *eap));
+extern void ex_jumps __ARGS((exarg_T *eap));
+extern void ex_changes __ARGS((exarg_T *eap));
+extern void mark_adjust __ARGS((linenr_T line1, linenr_T line2, long amount, long amount_after));
+extern void mark_col_adjust __ARGS((linenr_T lnum, colnr_T mincol, long lnum_amount, long col_amount));
+extern void copy_jumplist __ARGS((win_T *from, win_T *to));
+extern void free_jumplist __ARGS((win_T *wp));
+extern void set_last_cursor __ARGS((win_T *win));
+extern void free_all_marks __ARGS((void));
+extern int read_viminfo_filemark __ARGS((vir_T *virp, int force));
+extern void write_viminfo_filemarks __ARGS((FILE *fp));
+extern int removable __ARGS((char_u *name));
+extern int write_viminfo_marks __ARGS((FILE *fp_out));
+extern void copy_viminfo_marks __ARGS((vir_T *virp, FILE *fp_out, int count, int eof));
 /* vim: set ft=c : */
diff --git a/src/proto/memfile.pro b/src/proto/memfile.pro
index 3983b4799c300ff1f6adc1a62a9edac8ebf6907d..6c4329a18dcdb41ba9c59c608234d10bd25110e8 100644
--- a/src/proto/memfile.pro
+++ b/src/proto/memfile.pro
@@ -1,18 +1,18 @@
 /* memfile.c */
-memfile_T *mf_open __ARGS((char_u *fname, int flags));
-int mf_open_file __ARGS((memfile_T *mfp, char_u *fname));
-void mf_close __ARGS((memfile_T *mfp, int del_file));
-void mf_close_file __ARGS((buf_T *buf, int getlines));
-void mf_new_page_size __ARGS((memfile_T *mfp, unsigned new_size));
-bhdr_T *mf_new __ARGS((memfile_T *mfp, int negative, int page_count));
-bhdr_T *mf_get __ARGS((memfile_T *mfp, blocknr_T nr, int page_count));
-void mf_put __ARGS((memfile_T *mfp, bhdr_T *hp, int dirty, int infile));
-void mf_free __ARGS((memfile_T *mfp, bhdr_T *hp));
-int mf_sync __ARGS((memfile_T *mfp, int flags));
-void mf_set_dirty __ARGS((memfile_T *mfp));
-int mf_release_all __ARGS((void));
-blocknr_T mf_trans_del __ARGS((memfile_T *mfp, blocknr_T old_nr));
-void mf_set_ffname __ARGS((memfile_T *mfp));
-void mf_fullname __ARGS((memfile_T *mfp));
-int mf_need_trans __ARGS((memfile_T *mfp));
+extern memfile_T *mf_open __ARGS((char_u *fname, int flags));
+extern int mf_open_file __ARGS((memfile_T *mfp, char_u *fname));
+extern void mf_close __ARGS((memfile_T *mfp, int del_file));
+extern void mf_close_file __ARGS((buf_T *buf, int getlines));
+extern void mf_new_page_size __ARGS((memfile_T *mfp, unsigned new_size));
+extern bhdr_T *mf_new __ARGS((memfile_T *mfp, int negative, int page_count));
+extern bhdr_T *mf_get __ARGS((memfile_T *mfp, blocknr_T nr, int page_count));
+extern void mf_put __ARGS((memfile_T *mfp, bhdr_T *hp, int dirty, int infile));
+extern void mf_free __ARGS((memfile_T *mfp, bhdr_T *hp));
+extern int mf_sync __ARGS((memfile_T *mfp, int flags));
+extern void mf_set_dirty __ARGS((memfile_T *mfp));
+extern int mf_release_all __ARGS((void));
+extern blocknr_T mf_trans_del __ARGS((memfile_T *mfp, blocknr_T old_nr));
+extern void mf_set_ffname __ARGS((memfile_T *mfp));
+extern void mf_fullname __ARGS((memfile_T *mfp));
+extern int mf_need_trans __ARGS((memfile_T *mfp));
 /* vim: set ft=c : */
diff --git a/src/proto/message.pro b/src/proto/message.pro
index e0299648623a8cef6bab524ee5b1dcbdf77207a0..9161b054faeeafe322546d32a8e1972572600971 100644
--- a/src/proto/message.pro
+++ b/src/proto/message.pro
@@ -1,70 +1,70 @@
 /* message.c */
-int msg __ARGS((char_u *s));
-int verb_msg __ARGS((char_u *s));
-int msg_attr __ARGS((char_u *s, int attr));
-int msg_attr_keep __ARGS((char_u *s, int attr, int keep));
-char_u *msg_strtrunc __ARGS((char_u *s, int force));
-void trunc_string __ARGS((char_u *s, char_u *buf, int room));
-void reset_last_sourcing __ARGS((void));
-void msg_source __ARGS((int attr));
-int emsg __ARGS((char_u *s));
-int emsg2 __ARGS((char_u *s, char_u *a1));
-void emsg_invreg __ARGS((int name));
-char_u *msg_trunc_attr __ARGS((char_u *s, int force, int attr));
-char_u *msg_may_trunc __ARGS((int force, char_u *s));
-int delete_first_msg __ARGS((void));
-void ex_messages __ARGS((exarg_T *eap));
-void msg_end_prompt __ARGS((void));
-void wait_return __ARGS((int redraw));
-void set_keep_msg __ARGS((char_u *s, int attr));
-void set_keep_msg_from_hist __ARGS((void));
-void msg_start __ARGS((void));
-void msg_starthere __ARGS((void));
-void msg_putchar __ARGS((int c));
-void msg_putchar_attr __ARGS((int c, int attr));
-void msg_outnum __ARGS((long n));
-void msg_home_replace __ARGS((char_u *fname));
-void msg_home_replace_hl __ARGS((char_u *fname));
-int msg_outtrans __ARGS((char_u *str));
-int msg_outtrans_attr __ARGS((char_u *str, int attr));
-int msg_outtrans_len __ARGS((char_u *str, int len));
-char_u *msg_outtrans_one __ARGS((char_u *p, int attr));
-int msg_outtrans_len_attr __ARGS((char_u *msgstr, int len, int attr));
-void msg_make __ARGS((char_u *arg));
-int msg_outtrans_special __ARGS((char_u *strstart, int from));
-char_u *str2special __ARGS((char_u **sp, int from));
-void str2specialbuf __ARGS((char_u *sp, char_u *buf, int len));
-void msg_prt_line __ARGS((char_u *s, int list));
-void msg_puts __ARGS((char_u *s));
-void msg_puts_title __ARGS((char_u *s));
-void msg_puts_long_attr __ARGS((char_u *longstr, int attr));
-void msg_puts_long_len_attr __ARGS((char_u *longstr, int len, int attr));
-void msg_puts_attr __ARGS((char_u *s, int attr));
-void may_clear_sb_text __ARGS((void));
-void clear_sb_text __ARGS((void));
-void show_sb_text __ARGS((void));
-int msg_use_printf __ARGS((void));
-void mch_errmsg __ARGS((char *str));
-void mch_msg __ARGS((char *str));
-void msg_moremsg __ARGS((int full));
-void repeat_message __ARGS((void));
-void msg_clr_eos __ARGS((void));
-void msg_clr_eos_force __ARGS((void));
-void msg_clr_cmdline __ARGS((void));
-int msg_end __ARGS((void));
-void msg_check __ARGS((void));
-void verbose_enter __ARGS((void));
-void verbose_leave __ARGS((void));
-void verbose_enter_scroll __ARGS((void));
-void verbose_leave_scroll __ARGS((void));
-void verbose_stop __ARGS((void));
-int verbose_open __ARGS((void));
-void give_warning __ARGS((char_u *message, int hl));
-void msg_advance __ARGS((int col));
-int do_dialog __ARGS((int type, char_u *title, char_u *message, char_u *buttons, int dfltbutton, char_u *textfield));
-void display_confirm_msg __ARGS((void));
-int vim_dialog_yesno __ARGS((int type, char_u *title, char_u *message, int dflt));
-int vim_dialog_yesnocancel __ARGS((int type, char_u *title, char_u *message, int dflt));
-int vim_dialog_yesnoallcancel __ARGS((int type, char_u *title, char_u *message, int dflt));
-char_u *do_browse __ARGS((int flags, char_u *title, char_u *dflt, char_u *ext, char_u *initdir, char_u *filter, buf_T *buf));
+extern int msg __ARGS((char_u *s));
+extern int verb_msg __ARGS((char_u *s));
+extern int msg_attr __ARGS((char_u *s, int attr));
+extern int msg_attr_keep __ARGS((char_u *s, int attr, int keep));
+extern char_u *msg_strtrunc __ARGS((char_u *s, int force));
+extern void trunc_string __ARGS((char_u *s, char_u *buf, int room));
+extern void reset_last_sourcing __ARGS((void));
+extern void msg_source __ARGS((int attr));
+extern int emsg __ARGS((char_u *s));
+extern int emsg2 __ARGS((char_u *s, char_u *a1));
+extern void emsg_invreg __ARGS((int name));
+extern char_u *msg_trunc_attr __ARGS((char_u *s, int force, int attr));
+extern char_u *msg_may_trunc __ARGS((int force, char_u *s));
+extern int delete_first_msg __ARGS((void));
+extern void ex_messages __ARGS((exarg_T *eap));
+extern void msg_end_prompt __ARGS((void));
+extern void wait_return __ARGS((int redraw));
+extern void set_keep_msg __ARGS((char_u *s, int attr));
+extern void set_keep_msg_from_hist __ARGS((void));
+extern void msg_start __ARGS((void));
+extern void msg_starthere __ARGS((void));
+extern void msg_putchar __ARGS((int c));
+extern void msg_putchar_attr __ARGS((int c, int attr));
+extern void msg_outnum __ARGS((long n));
+extern void msg_home_replace __ARGS((char_u *fname));
+extern void msg_home_replace_hl __ARGS((char_u *fname));
+extern int msg_outtrans __ARGS((char_u *str));
+extern int msg_outtrans_attr __ARGS((char_u *str, int attr));
+extern int msg_outtrans_len __ARGS((char_u *str, int len));
+extern char_u *msg_outtrans_one __ARGS((char_u *p, int attr));
+extern int msg_outtrans_len_attr __ARGS((char_u *msgstr, int len, int attr));
+extern void msg_make __ARGS((char_u *arg));
+extern int msg_outtrans_special __ARGS((char_u *strstart, int from));
+extern char_u *str2special __ARGS((char_u **sp, int from));
+extern void str2specialbuf __ARGS((char_u *sp, char_u *buf, int len));
+extern void msg_prt_line __ARGS((char_u *s, int list));
+extern void msg_puts __ARGS((char_u *s));
+extern void msg_puts_title __ARGS((char_u *s));
+extern void msg_puts_long_attr __ARGS((char_u *longstr, int attr));
+extern void msg_puts_long_len_attr __ARGS((char_u *longstr, int len, int attr));
+extern void msg_puts_attr __ARGS((char_u *s, int attr));
+extern void may_clear_sb_text __ARGS((void));
+extern void clear_sb_text __ARGS((void));
+extern void show_sb_text __ARGS((void));
+extern int msg_use_printf __ARGS((void));
+extern void mch_errmsg __ARGS((char *str));
+extern void mch_msg __ARGS((char *str));
+extern void msg_moremsg __ARGS((int full));
+extern void repeat_message __ARGS((void));
+extern void msg_clr_eos __ARGS((void));
+extern void msg_clr_eos_force __ARGS((void));
+extern void msg_clr_cmdline __ARGS((void));
+extern int msg_end __ARGS((void));
+extern void msg_check __ARGS((void));
+extern void verbose_enter __ARGS((void));
+extern void verbose_leave __ARGS((void));
+extern void verbose_enter_scroll __ARGS((void));
+extern void verbose_leave_scroll __ARGS((void));
+extern void verbose_stop __ARGS((void));
+extern int verbose_open __ARGS((void));
+extern void give_warning __ARGS((char_u *message, int hl));
+extern void msg_advance __ARGS((int col));
+extern int do_dialog __ARGS((int type, char_u *title, char_u *message, char_u *buttons, int dfltbutton, char_u *textfield));
+extern void display_confirm_msg __ARGS((void));
+extern int vim_dialog_yesno __ARGS((int type, char_u *title, char_u *message, int dflt));
+extern int vim_dialog_yesnocancel __ARGS((int type, char_u *title, char_u *message, int dflt));
+extern int vim_dialog_yesnoallcancel __ARGS((int type, char_u *title, char_u *message, int dflt));
+extern char_u *do_browse __ARGS((int flags, char_u *title, char_u *dflt, char_u *ext, char_u *initdir, char_u *filter, buf_T *buf));
 /* vim: set ft=c : */
diff --git a/src/proto/netbeans.pro b/src/proto/netbeans.pro
index 75d01494a6ea001afdad6aaa0fd73887e532f51c..71a5ec459d735fe248ef41b79a3f361e1a1c03ea 100644
--- a/src/proto/netbeans.pro
+++ b/src/proto/netbeans.pro
@@ -1,25 +1,25 @@
 /* netbeans.c */
-void messageFromNetbeansW32 __ARGS((void));
-int isNetbeansBuffer __ARGS((buf_T *bufp));
-int isNetbeansModified __ARGS((buf_T *bufp));
-void netbeans_end __ARGS((void));
-void ex_nbkey __ARGS((exarg_T *eap));
-void netbeans_beval_cb __ARGS((BalloonEval *beval, int state));
-void netbeans_startup_done __ARGS((void));
-void netbeans_send_disconnect __ARGS((void));
-void netbeans_frame_moved __ARGS((int new_x, int new_y));
-void netbeans_file_activated __ARGS((buf_T *bufp));
-void netbeans_file_opened __ARGS((buf_T *bufp));
-void netbeans_file_closed __ARGS((buf_T *bufp));
-void netbeans_inserted __ARGS((buf_T *bufp, linenr_T linenr, colnr_T col, char_u *txt, int newlen));
-void netbeans_removed __ARGS((buf_T *bufp, linenr_T linenr, colnr_T col, long len));
-void netbeans_unmodified __ARGS((buf_T *bufp));
-void netbeans_button_release __ARGS((int button));
-void netbeans_keycommand __ARGS((int key));
-void netbeans_save_buffer __ARGS((buf_T *bufp));
-void netbeans_deleted_all_lines __ARGS((buf_T *bufp));
-int netbeans_is_guarded __ARGS((linenr_T top, linenr_T bot));
-void netbeans_draw_multisign_indicator __ARGS((int row));
-void netbeans_draw_multisign_indicator __ARGS((int row));
-void netbeans_gutter_click __ARGS((linenr_T lnum));
+extern void messageFromNetbeansW32 __ARGS((void));
+extern int isNetbeansBuffer __ARGS((buf_T *bufp));
+extern int isNetbeansModified __ARGS((buf_T *bufp));
+extern void netbeans_end __ARGS((void));
+extern void ex_nbkey __ARGS((exarg_T *eap));
+extern void netbeans_beval_cb __ARGS((BalloonEval *beval, int state));
+extern void netbeans_startup_done __ARGS((void));
+extern void netbeans_send_disconnect __ARGS((void));
+extern void netbeans_frame_moved __ARGS((int new_x, int new_y));
+extern void netbeans_file_activated __ARGS((buf_T *bufp));
+extern void netbeans_file_opened __ARGS((buf_T *bufp));
+extern void netbeans_file_closed __ARGS((buf_T *bufp));
+extern void netbeans_inserted __ARGS((buf_T *bufp, linenr_T linenr, colnr_T col, char_u *txt, int newlen));
+extern void netbeans_removed __ARGS((buf_T *bufp, linenr_T linenr, colnr_T col, long len));
+extern void netbeans_unmodified __ARGS((buf_T *bufp));
+extern void netbeans_button_release __ARGS((int button));
+extern void netbeans_keycommand __ARGS((int key));
+extern void netbeans_save_buffer __ARGS((buf_T *bufp));
+extern void netbeans_deleted_all_lines __ARGS((buf_T *bufp));
+extern int netbeans_is_guarded __ARGS((linenr_T top, linenr_T bot));
+extern void netbeans_draw_multisign_indicator __ARGS((int row));
+extern void netbeans_draw_multisign_indicator __ARGS((int row));
+extern void netbeans_gutter_click __ARGS((linenr_T lnum));
 /* vim: set ft=c : */
diff --git a/src/proto/normal.pro b/src/proto/normal.pro
index 55e81635e820a415516f184152c339509b3f3f54..8280e45d9075e728b6faa4a0646ba48a6dea0428 100644
--- a/src/proto/normal.pro
+++ b/src/proto/normal.pro
@@ -1,26 +1,26 @@
 /* normal.c */
-void init_normal_cmds __ARGS((void));
-void normal_cmd __ARGS((oparg_T *oap, int toplevel));
-void do_pending_operator __ARGS((cmdarg_T *cap, int old_col, int gui_yank));
-int do_mouse __ARGS((oparg_T *oap, int c, int dir, long count, int fixindent));
-void check_visual_highlight __ARGS((void));
-void end_visual_mode __ARGS((void));
-void reset_VIsual_and_resel __ARGS((void));
-void reset_VIsual __ARGS((void));
-int find_ident_under_cursor __ARGS((char_u **string, int find_type));
-int find_ident_at_pos __ARGS((win_T *wp, linenr_T lnum, colnr_T startcol, char_u **string, int find_type));
-void clear_showcmd __ARGS((void));
-int add_to_showcmd __ARGS((int c));
-void add_to_showcmd_c __ARGS((int c));
-void push_showcmd __ARGS((void));
-void pop_showcmd __ARGS((void));
-void do_check_scrollbind __ARGS((int check));
-void check_scrollbind __ARGS((linenr_T topline_diff, long leftcol_diff));
-int find_decl __ARGS((char_u *ptr, int len, int locally, int thisblock, int searchflags));
-void scroll_redraw __ARGS((int up, long count));
-void handle_tabmenu __ARGS((void));
-void do_nv_ident __ARGS((int c1, int c2));
-int get_visual_text __ARGS((cmdarg_T *cap, char_u **pp, int *lenp));
-void start_selection __ARGS((void));
-void may_start_select __ARGS((int c));
+extern void init_normal_cmds __ARGS((void));
+extern void normal_cmd __ARGS((oparg_T *oap, int toplevel));
+extern void do_pending_operator __ARGS((cmdarg_T *cap, int old_col, int gui_yank));
+extern int do_mouse __ARGS((oparg_T *oap, int c, int dir, long count, int fixindent));
+extern void check_visual_highlight __ARGS((void));
+extern void end_visual_mode __ARGS((void));
+extern void reset_VIsual_and_resel __ARGS((void));
+extern void reset_VIsual __ARGS((void));
+extern int find_ident_under_cursor __ARGS((char_u **string, int find_type));
+extern int find_ident_at_pos __ARGS((win_T *wp, linenr_T lnum, colnr_T startcol, char_u **string, int find_type));
+extern void clear_showcmd __ARGS((void));
+extern int add_to_showcmd __ARGS((int c));
+extern void add_to_showcmd_c __ARGS((int c));
+extern void push_showcmd __ARGS((void));
+extern void pop_showcmd __ARGS((void));
+extern void do_check_scrollbind __ARGS((int check));
+extern void check_scrollbind __ARGS((linenr_T topline_diff, long leftcol_diff));
+extern int find_decl __ARGS((char_u *ptr, int len, int locally, int thisblock, int searchflags));
+extern void scroll_redraw __ARGS((int up, long count));
+extern void handle_tabmenu __ARGS((void));
+extern void do_nv_ident __ARGS((int c1, int c2));
+extern int get_visual_text __ARGS((cmdarg_T *cap, char_u **pp, int *lenp));
+extern void start_selection __ARGS((void));
+extern void may_start_select __ARGS((int c));
 /* vim: set ft=c : */
diff --git a/src/proto/ops.pro b/src/proto/ops.pro
index 3b4c9c42369a2e935ade21685d0d3254f9146fac..fb51cabe490e3f115dfb773326e843d802a6bf3c 100644
--- a/src/proto/ops.pro
+++ b/src/proto/ops.pro
@@ -1,60 +1,60 @@
 /* ops.c */
-int get_op_type __ARGS((int char1, int char2));
-int op_on_lines __ARGS((int op));
-int get_op_char __ARGS((int optype));
-int get_extra_op_char __ARGS((int optype));
-void op_shift __ARGS((oparg_T *oap, int curs_top, int amount));
-void shift_line __ARGS((int left, int round, int amount));
-void op_reindent __ARGS((oparg_T *oap, int (*how)(void)));
-int get_expr_register __ARGS((void));
-void set_expr_line __ARGS((char_u *new_line));
-char_u *get_expr_line __ARGS((void));
-char_u *get_expr_line_src __ARGS((void));
-int valid_yank_reg __ARGS((int regname, int writing));
-void get_yank_register __ARGS((int regname, int writing));
-int may_get_selection __ARGS((int regname));
-void *get_register __ARGS((int name, int copy));
-void put_register __ARGS((int name, void *reg));
-int yank_register_mline __ARGS((int regname));
-int do_record __ARGS((int c));
-int do_execreg __ARGS((int regname, int colon, int addcr));
-int insert_reg __ARGS((int regname, int literally));
-int get_spec_reg __ARGS((int regname, char_u **argp, int *allocated, int errmsg));
-int cmdline_paste_reg __ARGS((int regname, int literally));
-void adjust_clip_reg __ARGS((int *rp));
-int op_delete __ARGS((oparg_T *oap));
-int op_replace __ARGS((oparg_T *oap, int c));
-void op_tilde __ARGS((oparg_T *oap));
-int swapchar __ARGS((int op_type, pos_T *pos));
-void op_insert __ARGS((oparg_T *oap, long count1));
-int op_change __ARGS((oparg_T *oap));
-void init_yank __ARGS((void));
-void clear_registers __ARGS((void));
-int op_yank __ARGS((oparg_T *oap, int deleting, int mess));
-void do_put __ARGS((int regname, int dir, long count, int flags));
-int preprocs_left __ARGS((void));
-int get_register_name __ARGS((int num));
-void ex_display __ARGS((exarg_T *eap));
-void do_do_join __ARGS((long count, int insert_space));
-int do_join __ARGS((int insert_space));
-void op_format __ARGS((oparg_T *oap, int keep_cursor));
-void op_formatexpr __ARGS((oparg_T *oap));
-int fex_format __ARGS((linenr_T lnum, long count));
-void format_lines __ARGS((linenr_T line_count));
-int paragraph_start __ARGS((linenr_T lnum));
-int do_addsub __ARGS((int command, linenr_T Prenum1));
-int read_viminfo_register __ARGS((vir_T *virp, int force));
-void write_viminfo_registers __ARGS((FILE *fp));
-void x11_export_final_selection __ARGS((void));
-void clip_free_selection __ARGS((VimClipboard *cbd));
-void clip_get_selection __ARGS((VimClipboard *cbd));
-void clip_yank_selection __ARGS((int type, char_u *str, long len, VimClipboard *cbd));
-int clip_convert_selection __ARGS((char_u **str, long_u *len, VimClipboard *cbd));
-void dnd_yank_drag_data __ARGS((char_u *str, long len));
-char_u get_reg_type __ARGS((int regname, long *reglen));
-char_u *get_reg_contents __ARGS((int regname, int allowexpr, int expr_src));
-void write_reg_contents __ARGS((int name, char_u *str, int maxlen, int must_append));
-void write_reg_contents_ex __ARGS((int name, char_u *str, int maxlen, int must_append, int yank_type, long block_len));
-void clear_oparg __ARGS((oparg_T *oap));
-void cursor_pos_info __ARGS((void));
+extern int get_op_type __ARGS((int char1, int char2));
+extern int op_on_lines __ARGS((int op));
+extern int get_op_char __ARGS((int optype));
+extern int get_extra_op_char __ARGS((int optype));
+extern void op_shift __ARGS((oparg_T *oap, int curs_top, int amount));
+extern void shift_line __ARGS((int left, int round, int amount));
+extern void op_reindent __ARGS((oparg_T *oap, int (*how)(void)));
+extern int get_expr_register __ARGS((void));
+extern void set_expr_line __ARGS((char_u *new_line));
+extern char_u *get_expr_line __ARGS((void));
+extern char_u *get_expr_line_src __ARGS((void));
+extern int valid_yank_reg __ARGS((int regname, int writing));
+extern void get_yank_register __ARGS((int regname, int writing));
+extern int may_get_selection __ARGS((int regname));
+extern void *get_register __ARGS((int name, int copy));
+extern void put_register __ARGS((int name, void *reg));
+extern int yank_register_mline __ARGS((int regname));
+extern int do_record __ARGS((int c));
+extern int do_execreg __ARGS((int regname, int colon, int addcr));
+extern int insert_reg __ARGS((int regname, int literally));
+extern int get_spec_reg __ARGS((int regname, char_u **argp, int *allocated, int errmsg));
+extern int cmdline_paste_reg __ARGS((int regname, int literally));
+extern void adjust_clip_reg __ARGS((int *rp));
+extern int op_delete __ARGS((oparg_T *oap));
+extern int op_replace __ARGS((oparg_T *oap, int c));
+extern void op_tilde __ARGS((oparg_T *oap));
+extern int swapchar __ARGS((int op_type, pos_T *pos));
+extern void op_insert __ARGS((oparg_T *oap, long count1));
+extern int op_change __ARGS((oparg_T *oap));
+extern void init_yank __ARGS((void));
+extern void clear_registers __ARGS((void));
+extern int op_yank __ARGS((oparg_T *oap, int deleting, int mess));
+extern void do_put __ARGS((int regname, int dir, long count, int flags));
+extern int preprocs_left __ARGS((void));
+extern int get_register_name __ARGS((int num));
+extern void ex_display __ARGS((exarg_T *eap));
+extern void do_do_join __ARGS((long count, int insert_space));
+extern int do_join __ARGS((int insert_space));
+extern void op_format __ARGS((oparg_T *oap, int keep_cursor));
+extern void op_formatexpr __ARGS((oparg_T *oap));
+extern int fex_format __ARGS((linenr_T lnum, long count));
+extern void format_lines __ARGS((linenr_T line_count));
+extern int paragraph_start __ARGS((linenr_T lnum));
+extern int do_addsub __ARGS((int command, linenr_T Prenum1));
+extern int read_viminfo_register __ARGS((vir_T *virp, int force));
+extern void write_viminfo_registers __ARGS((FILE *fp));
+extern void x11_export_final_selection __ARGS((void));
+extern void clip_free_selection __ARGS((VimClipboard *cbd));
+extern void clip_get_selection __ARGS((VimClipboard *cbd));
+extern void clip_yank_selection __ARGS((int type, char_u *str, long len, VimClipboard *cbd));
+extern int clip_convert_selection __ARGS((char_u **str, long_u *len, VimClipboard *cbd));
+extern void dnd_yank_drag_data __ARGS((char_u *str, long len));
+extern char_u get_reg_type __ARGS((int regname, long *reglen));
+extern char_u *get_reg_contents __ARGS((int regname, int allowexpr, int expr_src));
+extern void write_reg_contents __ARGS((int name, char_u *str, int maxlen, int must_append));
+extern void write_reg_contents_ex __ARGS((int name, char_u *str, int maxlen, int must_append, int yank_type, long block_len));
+extern void clear_oparg __ARGS((oparg_T *oap));
+extern void cursor_pos_info __ARGS((void));
 /* vim: set ft=c : */
diff --git a/src/proto/option.pro b/src/proto/option.pro
index faeec632fa28072a48ba6ccda1faf9944bc02139..621d78121d78fe4178a5c62bf7bbcd009d36732e 100644
--- a/src/proto/option.pro
+++ b/src/proto/option.pro
@@ -1,57 +1,56 @@
 /* option.c */
-void set_init_1 __ARGS((void));
-void set_string_default __ARGS((char *name, char_u *val));
-void set_number_default __ARGS((char *name, long val));
-void free_all_options __ARGS((void));
-void set_init_2 __ARGS((void));
-void set_init_3 __ARGS((void));
-void set_helplang_default __ARGS((char_u *lang));
-void init_gui_options __ARGS((void));
-void set_title_defaults __ARGS((void));
-int do_set __ARGS((char_u *arg, int opt_flags));
-void set_options_bin __ARGS((int oldval, int newval, int opt_flags));
-int get_viminfo_parameter __ARGS((int type));
-char_u *find_viminfo_parameter __ARGS((int type));
-void check_options __ARGS((void));
-void check_buf_options __ARGS((buf_T *buf));
-void free_string_option __ARGS((char_u *p));
-void clear_string_option __ARGS((char_u **pp));
-void set_term_option_alloced __ARGS((char_u **p));
-int was_set_insecurely __ARGS((char_u *opt, int opt_flags));
-void set_string_option_direct __ARGS((char_u *name, int opt_idx, char_u *val, int opt_flags, int set_sid));
-char_u *check_stl_option __ARGS((char_u *s));
-void set_option_scriptID __ARGS((char_u *name, int id));
-int get_option_value __ARGS((char_u *name, long *numval, char_u **stringval, int opt_flags));
-void set_option_value __ARGS((char_u *name, long number, char_u *string, int opt_flags));
-char_u *get_term_code __ARGS((char_u *tname));
-char_u *get_highlight_default __ARGS((void));
-char_u *get_encoding_default __ARGS((void));
-int makeset __ARGS((FILE *fd, int opt_flags, int local_only));
-int makefoldset __ARGS((FILE *fd));
-void clear_termoptions __ARGS((void));
-void free_termoptions __ARGS((void));
-void set_term_defaults __ARGS((void));
-void comp_col __ARGS((void));
-char_u *get_equalprg __ARGS((void));
-void win_copy_options __ARGS((win_T *wp_from, win_T *wp_to));
-void copy_winopt __ARGS((winopt_T *from, winopt_T *to));
-void check_win_options __ARGS((win_T *win));
-void check_winopt __ARGS((winopt_T *wop));
-void clear_winopt __ARGS((winopt_T *wop));
-void buf_copy_options __ARGS((buf_T *buf, int flags));
-void reset_modifiable __ARGS((void));
-void set_iminsert_global __ARGS((void));
-void set_imsearch_global __ARGS((void));
-void set_context_in_set_cmd __ARGS((expand_T *xp, char_u *arg, int opt_flags));
-int ExpandSettings __ARGS((expand_T *xp, regmatch_T *regmatch, int *num_file, char_u ***file));
-int ExpandOldSetting __ARGS((int *num_file, char_u ***file));
-int has_format_option __ARGS((int x));
-int shortmess __ARGS((int x));
-void vimrc_found __ARGS((void));
-void change_compatible __ARGS((int on));
-int option_was_set __ARGS((char_u *name));
-int can_bs __ARGS((int what));
-void save_file_ff __ARGS((buf_T *buf));
-int file_ff_differs __ARGS((buf_T *buf));
-int check_ff_value __ARGS((char_u *p));
+extern void set_init_1 __ARGS((void));
+extern void set_string_default __ARGS((char *name, char_u *val));
+extern void set_number_default __ARGS((char *name, long val));
+extern void free_all_options __ARGS((void));
+extern void set_init_2 __ARGS((void));
+extern void set_init_3 __ARGS((void));
+extern void set_helplang_default __ARGS((char_u *lang));
+extern void init_gui_options __ARGS((void));
+extern void set_title_defaults __ARGS((void));
+extern int do_set __ARGS((char_u *arg, int opt_flags));
+extern void set_options_bin __ARGS((int oldval, int newval, int opt_flags));
+extern int get_viminfo_parameter __ARGS((int type));
+extern char_u *find_viminfo_parameter __ARGS((int type));
+extern void check_options __ARGS((void));
+extern void check_buf_options __ARGS((buf_T *buf));
+extern void free_string_option __ARGS((char_u *p));
+extern void clear_string_option __ARGS((char_u **pp));
+extern void set_term_option_alloced __ARGS((char_u **p));
+extern int was_set_insecurely __ARGS((char_u *opt, int opt_flags));
+extern void set_string_option_direct __ARGS((char_u *name, int opt_idx, char_u *val, int opt_flags, int set_sid));
+extern char_u *check_stl_option __ARGS((char_u *s));
+extern int get_option_value __ARGS((char_u *name, long *numval, char_u **stringval, int opt_flags));
+extern void set_option_value __ARGS((char_u *name, long number, char_u *string, int opt_flags));
+extern char_u *get_term_code __ARGS((char_u *tname));
+extern char_u *get_highlight_default __ARGS((void));
+extern char_u *get_encoding_default __ARGS((void));
+extern int makeset __ARGS((FILE *fd, int opt_flags, int local_only));
+extern int makefoldset __ARGS((FILE *fd));
+extern void clear_termoptions __ARGS((void));
+extern void free_termoptions __ARGS((void));
+extern void set_term_defaults __ARGS((void));
+extern void comp_col __ARGS((void));
+extern char_u *get_equalprg __ARGS((void));
+extern void win_copy_options __ARGS((win_T *wp_from, win_T *wp_to));
+extern void copy_winopt __ARGS((winopt_T *from, winopt_T *to));
+extern void check_win_options __ARGS((win_T *win));
+extern void check_winopt __ARGS((winopt_T *wop));
+extern void clear_winopt __ARGS((winopt_T *wop));
+extern void buf_copy_options __ARGS((buf_T *buf, int flags));
+extern void reset_modifiable __ARGS((void));
+extern void set_iminsert_global __ARGS((void));
+extern void set_imsearch_global __ARGS((void));
+extern void set_context_in_set_cmd __ARGS((expand_T *xp, char_u *arg, int opt_flags));
+extern int ExpandSettings __ARGS((expand_T *xp, regmatch_T *regmatch, int *num_file, char_u ***file));
+extern int ExpandOldSetting __ARGS((int *num_file, char_u ***file));
+extern int has_format_option __ARGS((int x));
+extern int shortmess __ARGS((int x));
+extern void vimrc_found __ARGS((void));
+extern void change_compatible __ARGS((int on));
+extern int option_was_set __ARGS((char_u *name));
+extern int can_bs __ARGS((int what));
+extern void save_file_ff __ARGS((buf_T *buf));
+extern int file_ff_differs __ARGS((buf_T *buf));
+extern int check_ff_value __ARGS((char_u *p));
 /* vim: set ft=c : */
diff --git a/src/proto/os_amiga.pro b/src/proto/os_amiga.pro
index 317e211002b7b627d207e18b0209900df0320c82..479297d93621564058dde5b3b4bcb6d6ba007255 100644
--- a/src/proto/os_amiga.pro
+++ b/src/proto/os_amiga.pro
@@ -1,46 +1,46 @@
 /* os_amiga.c */
-void win_resize_on __ARGS((void));
-void win_resize_off __ARGS((void));
-void mch_write __ARGS((char_u *p, int len));
-int mch_inchar __ARGS((char_u *buf, int maxlen, long time, int tb_change_cnt));
-int mch_char_avail __ARGS((void));
-long_u mch_avail_mem __ARGS((int special));
-void mch_delay __ARGS((long msec, int ignoreinput));
-void mch_suspend __ARGS((void));
-void mch_init __ARGS((void));
-int mch_check_win __ARGS((int argc, char **argv));
-int mch_input_isatty __ARGS((void));
-void fname_case __ARGS((char_u *name, int len));
-void mch_settitle __ARGS((char_u *title, char_u *icon));
-void mch_restore_title __ARGS((int which));
-int mch_can_restore_title __ARGS((void));
-int mch_can_restore_icon __ARGS((void));
-int mch_get_user_name __ARGS((char_u *s, int len));
-void mch_get_host_name __ARGS((char_u *s, int len));
-long mch_get_pid __ARGS((void));
-int mch_dirname __ARGS((char_u *buf, int len));
-int mch_FullName __ARGS((char_u *fname, char_u *buf, int len, int force));
-int mch_isFullName __ARGS((char_u *fname));
-long mch_getperm __ARGS((char_u *name));
-int mch_setperm __ARGS((char_u *name, long perm));
-void mch_hide __ARGS((char_u *name));
-int mch_isdir __ARGS((char_u *name));
-void mch_mkdir __ARGS((char_u *name));
-int mch_can_exe __ARGS((char_u *name));
-int mch_nodetype __ARGS((char_u *name));
-void mch_early_init __ARGS((void));
-void mch_exit __ARGS((int r));
-void mch_settmode __ARGS((int tmode));
-int mch_screenmode __ARGS((char_u *arg));
-int mch_get_shellsize __ARGS((void));
-void mch_set_shellsize __ARGS((void));
-void mch_new_shellsize __ARGS((void));
-int mch_call_shell __ARGS((char_u *cmd, int options));
-void mch_breakcheck __ARGS((void));
-long Chk_Abort __ARGS((void));
-int mch_expandpath __ARGS((garray_T *gap, char_u *pat, int flags));
-int mch_has_exp_wildcard __ARGS((char_u *p));
-int mch_has_wildcard __ARGS((char_u *p));
-char_u *mch_getenv __ARGS((char_u *var));
-int mch_setenv __ARGS((char *var, char *value, int x));
+extern void win_resize_on __ARGS((void));
+extern void win_resize_off __ARGS((void));
+extern void mch_write __ARGS((char_u *p, int len));
+extern int mch_inchar __ARGS((char_u *buf, int maxlen, long time, int tb_change_cnt));
+extern int mch_char_avail __ARGS((void));
+extern long_u mch_avail_mem __ARGS((int special));
+extern void mch_delay __ARGS((long msec, int ignoreinput));
+extern void mch_suspend __ARGS((void));
+extern void mch_init __ARGS((void));
+extern int mch_check_win __ARGS((int argc, char **argv));
+extern int mch_input_isatty __ARGS((void));
+extern void fname_case __ARGS((char_u *name, int len));
+extern void mch_settitle __ARGS((char_u *title, char_u *icon));
+extern void mch_restore_title __ARGS((int which));
+extern int mch_can_restore_title __ARGS((void));
+extern int mch_can_restore_icon __ARGS((void));
+extern int mch_get_user_name __ARGS((char_u *s, int len));
+extern void mch_get_host_name __ARGS((char_u *s, int len));
+extern long mch_get_pid __ARGS((void));
+extern int mch_dirname __ARGS((char_u *buf, int len));
+extern int mch_FullName __ARGS((char_u *fname, char_u *buf, int len, int force));
+extern int mch_isFullName __ARGS((char_u *fname));
+extern long mch_getperm __ARGS((char_u *name));
+extern int mch_setperm __ARGS((char_u *name, long perm));
+extern void mch_hide __ARGS((char_u *name));
+extern int mch_isdir __ARGS((char_u *name));
+extern void mch_mkdir __ARGS((char_u *name));
+extern int mch_can_exe __ARGS((char_u *name));
+extern int mch_nodetype __ARGS((char_u *name));
+extern void mch_early_init __ARGS((void));
+extern void mch_exit __ARGS((int r));
+extern void mch_settmode __ARGS((int tmode));
+extern int mch_screenmode __ARGS((char_u *arg));
+extern int mch_get_shellsize __ARGS((void));
+extern void mch_set_shellsize __ARGS((void));
+extern void mch_new_shellsize __ARGS((void));
+extern int mch_call_shell __ARGS((char_u *cmd, int options));
+extern void mch_breakcheck __ARGS((void));
+extern long Chk_Abort __ARGS((void));
+extern int mch_expandpath __ARGS((garray_T *gap, char_u *pat, int flags));
+extern int mch_has_exp_wildcard __ARGS((char_u *p));
+extern int mch_has_wildcard __ARGS((char_u *p));
+extern char_u *mch_getenv __ARGS((char_u *var));
+extern int mch_setenv __ARGS((char *var, char *value, int x));
 /* vim: set ft=c : */
diff --git a/src/proto/os_mswin.pro b/src/proto/os_mswin.pro
index 966b0184d15dfd90cdc629ad448ef1b1b9a38b37..aaef05b1a37a16dd2dac77cba60ab2783375ede7 100644
--- a/src/proto/os_mswin.pro
+++ b/src/proto/os_mswin.pro
@@ -1,63 +1,63 @@
 /* os_mswin.c */
-void mch_exit __ARGS((int r));
-void mch_early_init __ARGS((void));
-int mch_input_isatty __ARGS((void));
-void mch_settitle __ARGS((char_u *title, char_u *icon));
-void mch_restore_title __ARGS((int which));
-int mch_can_restore_title __ARGS((void));
-int mch_can_restore_icon __ARGS((void));
-int mch_FullName __ARGS((char_u *fname, char_u *buf, int len, int force));
-int mch_isFullName __ARGS((char_u *fname));
-void slash_adjust __ARGS((char_u *p));
-int vim_stat __ARGS((const char *name, struct stat *stp));
-void mch_settmode __ARGS((int tmode));
-int mch_get_shellsize __ARGS((void));
-void mch_set_shellsize __ARGS((void));
-void mch_new_shellsize __ARGS((void));
-void mch_suspend __ARGS((void));
-void display_errors __ARGS((void));
-int mch_has_exp_wildcard __ARGS((char_u *p));
-int mch_has_wildcard __ARGS((char_u *p));
-int mch_chdir __ARGS((char *path));
-int can_end_termcap_mode __ARGS((int give_msg));
-int mch_screenmode __ARGS((char_u *arg));
-int mch_libcall __ARGS((char_u *libname, char_u *funcname, char_u *argstring, int argint, char_u **string_result, int *number_result));
-int utf8_to_ucs2 __ARGS((char_u *instr, int inlen, short_u *outstr, int *unconvlenp));
-int ucs2_to_utf8 __ARGS((short_u *instr, int inlen, char_u *outstr));
-void MultiByteToWideChar_alloc __ARGS((UINT cp, DWORD flags, LPCSTR in, int inlen, LPWSTR *out, int *outlen));
-void WideCharToMultiByte_alloc __ARGS((UINT cp, DWORD flags, LPCWSTR in, int inlen, LPSTR *out, int *outlen, LPCSTR def, LPBOOL useddef));
-int clip_mch_own_selection __ARGS((VimClipboard *cbd));
-void clip_mch_lose_selection __ARGS((VimClipboard *cbd));
-short_u *enc_to_ucs2 __ARGS((char_u *str, int *lenp));
-char_u *ucs2_to_enc __ARGS((short_u *str, int *lenp));
-void clip_mch_request_selection __ARGS((VimClipboard *cbd));
-void acp_to_enc __ARGS((char_u *str, int str_size, char_u **out, int *outlen));
-void clip_mch_set_selection __ARGS((VimClipboard *cbd));
-void DumpPutS __ARGS((const char *psz));
-int mch_get_winpos __ARGS((int *x, int *y));
-void mch_set_winpos __ARGS((int x, int y));
-void mch_print_cleanup __ARGS((void));
-int mch_print_init __ARGS((prt_settings_T *psettings, char_u *jobname, int forceit));
-int mch_print_begin __ARGS((prt_settings_T *psettings));
-void mch_print_end __ARGS((prt_settings_T *psettings));
-int mch_print_end_page __ARGS((void));
-int mch_print_begin_page __ARGS((char_u *msg));
-int mch_print_blank_page __ARGS((void));
-void mch_print_start_line __ARGS((int margin, int page_line));
-int mch_print_text_out __ARGS((char_u *p, int len));
-void mch_print_set_font __ARGS((int iBold, int iItalic, int iUnderline));
-void mch_print_set_bg __ARGS((unsigned long bgcol));
-void mch_print_set_fg __ARGS((unsigned long fgcol));
-char_u *mch_resolve_shortcut __ARGS((char_u *fname));
-void win32_set_foreground __ARGS((void));
-void serverInitMessaging __ARGS((void));
-void serverSetName __ARGS((char_u *name));
-char_u *serverGetVimNames __ARGS((void));
-int serverSendReply __ARGS((char_u *name, char_u *reply));
-int serverSendToVim __ARGS((char_u *name, char_u *cmd, char_u **result, void *ptarget, int asExpr, int silent));
-void serverForeground __ARGS((char_u *name));
-char_u *serverGetReply __ARGS((HWND server, int *expr_res, int remove, int wait));
-void serverProcessPendingMessages __ARGS((void));
-char *charset_id2name __ARGS((int id));
-int get_logfont __ARGS((LOGFONT *lf, char_u *name, HDC printer_dc, int verbose));
+extern void mch_exit __ARGS((int r));
+extern void mch_early_init __ARGS((void));
+extern int mch_input_isatty __ARGS((void));
+extern void mch_settitle __ARGS((char_u *title, char_u *icon));
+extern void mch_restore_title __ARGS((int which));
+extern int mch_can_restore_title __ARGS((void));
+extern int mch_can_restore_icon __ARGS((void));
+extern int mch_FullName __ARGS((char_u *fname, char_u *buf, int len, int force));
+extern int mch_isFullName __ARGS((char_u *fname));
+extern void slash_adjust __ARGS((char_u *p));
+extern int vim_stat __ARGS((const char *name, struct stat *stp));
+extern void mch_settmode __ARGS((int tmode));
+extern int mch_get_shellsize __ARGS((void));
+extern void mch_set_shellsize __ARGS((void));
+extern void mch_new_shellsize __ARGS((void));
+extern void mch_suspend __ARGS((void));
+extern void display_errors __ARGS((void));
+extern int mch_has_exp_wildcard __ARGS((char_u *p));
+extern int mch_has_wildcard __ARGS((char_u *p));
+extern int mch_chdir __ARGS((char *path));
+extern int can_end_termcap_mode __ARGS((int give_msg));
+extern int mch_screenmode __ARGS((char_u *arg));
+extern int mch_libcall __ARGS((char_u *libname, char_u *funcname, char_u *argstring, int argint, char_u **string_result, int *number_result));
+extern int utf8_to_ucs2 __ARGS((char_u *instr, int inlen, short_u *outstr, int *unconvlenp));
+extern int ucs2_to_utf8 __ARGS((short_u *instr, int inlen, char_u *outstr));
+extern void MultiByteToWideChar_alloc __ARGS((UINT cp, DWORD flags, LPCSTR in, int inlen, LPWSTR *out, int *outlen));
+extern void WideCharToMultiByte_alloc __ARGS((UINT cp, DWORD flags, LPCWSTR in, int inlen, LPSTR *out, int *outlen, LPCSTR def, LPBOOL useddef));
+extern int clip_mch_own_selection __ARGS((VimClipboard *cbd));
+extern void clip_mch_lose_selection __ARGS((VimClipboard *cbd));
+extern short_u *enc_to_ucs2 __ARGS((char_u *str, int *lenp));
+extern char_u *ucs2_to_enc __ARGS((short_u *str, int *lenp));
+extern void clip_mch_request_selection __ARGS((VimClipboard *cbd));
+extern void acp_to_enc __ARGS((char_u *str, int str_size, char_u **out, int *outlen));
+extern void clip_mch_set_selection __ARGS((VimClipboard *cbd));
+extern void DumpPutS __ARGS((const char *psz));
+extern int mch_get_winpos __ARGS((int *x, int *y));
+extern void mch_set_winpos __ARGS((int x, int y));
+extern void mch_print_cleanup __ARGS((void));
+extern int mch_print_init __ARGS((prt_settings_T *psettings, char_u *jobname, int forceit));
+extern int mch_print_begin __ARGS((prt_settings_T *psettings));
+extern void mch_print_end __ARGS((prt_settings_T *psettings));
+extern int mch_print_end_page __ARGS((void));
+extern int mch_print_begin_page __ARGS((char_u *msg));
+extern int mch_print_blank_page __ARGS((void));
+extern void mch_print_start_line __ARGS((int margin, int page_line));
+extern int mch_print_text_out __ARGS((char_u *p, int len));
+extern void mch_print_set_font __ARGS((int iBold, int iItalic, int iUnderline));
+extern void mch_print_set_bg __ARGS((unsigned long bgcol));
+extern void mch_print_set_fg __ARGS((unsigned long fgcol));
+extern char_u *mch_resolve_shortcut __ARGS((char_u *fname));
+extern void win32_set_foreground __ARGS((void));
+extern void serverInitMessaging __ARGS((void));
+extern void serverSetName __ARGS((char_u *name));
+extern char_u *serverGetVimNames __ARGS((void));
+extern int serverSendReply __ARGS((char_u *name, char_u *reply));
+extern int serverSendToVim __ARGS((char_u *name, char_u *cmd, char_u **result, void *ptarget, int asExpr, int silent));
+extern void serverForeground __ARGS((char_u *name));
+extern char_u *serverGetReply __ARGS((HWND server, int *expr_res, int remove, int wait));
+extern void serverProcessPendingMessages __ARGS((void));
+extern char *charset_id2name __ARGS((int id));
+extern int get_logfont __ARGS((LOGFONT *lf, char_u *name, HDC printer_dc, int verbose));
 /* vim: set ft=c : */
diff --git a/src/proto/os_riscos.pro b/src/proto/os_riscos.pro
index 9ea4cd55ffa8ba94276c78939308c9da9377dda2..ec8055b434b0f23a5aa9e7b8e2b822117cadbc74 100644
--- a/src/proto/os_riscos.pro
+++ b/src/proto/os_riscos.pro
@@ -1,49 +1,49 @@
 /* os_riscos.c */
-void mch_write __ARGS((char_u *s, int len));
-int mch_inchar __ARGS((char_u *buf, int maxlen, long wtime, int tb_change_cnt));
-int mch_char_avail __ARGS((void));
-long_u mch_avail_mem __ARGS((int special));
-void mch_delay __ARGS((long msec, int ignoreinput));
-void mch_suspend __ARGS((void));
-void mch_init __ARGS((void));
-int mch_check_win __ARGS((int argc, char **argv));
-int mch_input_isatty __ARGS((void));
-int mch_can_restore_title __ARGS((void));
-int mch_can_restore_icon __ARGS((void));
-void mch_settitle __ARGS((char_u *title, char_u *icon));
-void mch_restore_title __ARGS((int which));
-int mch_get_user_name __ARGS((char_u *s, int len));
-void mch_get_host_name __ARGS((char_u *s, int len));
-long mch_get_pid __ARGS((void));
-int mch_dirname __ARGS((char_u *buf, int len));
-int mch_FullName __ARGS((char_u *fname, char_u *buf, int len, int force));
-int mch_isFullName __ARGS((char_u *fname));
-long mch_getperm __ARGS((char_u *name));
-int mch_setperm __ARGS((char_u *name, long perm));
-void mch_hide __ARGS((char_u *name));
-int mch_isdir __ARGS((char_u *name));
-int mch_can_exe __ARGS((char_u *name));
-int mch_nodetype __ARGS((char_u *name));
-void mch_early_init __ARGS((void));
-void mch_exit __ARGS((int r));
-void mch_settmode __ARGS((int tmode));
-void mch_setmouse __ARGS((int on));
-int mch_screenmode __ARGS((char_u *arg));
-int mch_get_shellsize __ARGS((void));
-void mch_set_shellsize __ARGS((void));
-void mch_new_shellsize __ARGS((void));
-int mch_call_shell __ARGS((char_u *cmd, int options));
-void mch_breakcheck __ARGS((void));
-int mch_expandpath __ARGS((garray_T *gap, char_u *path, int flags));
-int expand_section __ARGS((garray_T *gap, char_u *root, char_u *rest, int flags));
-int mch_expand_wildcards __ARGS((int num_pat, char_u **pat, int *num_file, char_u ***file, int flags));
-int mch_has_exp_wildcard __ARGS((char_u *p));
-int mch_has_wildcard __ARGS((char_u *p));
-int mch_remove __ARGS((char_u *file));
-char_u *mch_munge_fname __ARGS((char_u *fname));
-int ro_buflist_add __ARGS((char_u *old_name));
-int mch_chdir __ARGS((char_u *dir));
-void mch_read_filetype __ARGS((char_u *file));
-void mch_set_filetype __ARGS((char_u *file, char_u *type));
-int mch_check_filetype __ARGS((char_u *fname, char_u *type));
+extern void mch_write __ARGS((char_u *s, int len));
+extern int mch_inchar __ARGS((char_u *buf, int maxlen, long wtime, int tb_change_cnt));
+extern int mch_char_avail __ARGS((void));
+extern long_u mch_avail_mem __ARGS((int special));
+extern void mch_delay __ARGS((long msec, int ignoreinput));
+extern void mch_suspend __ARGS((void));
+extern void mch_init __ARGS((void));
+extern int mch_check_win __ARGS((int argc, char **argv));
+extern int mch_input_isatty __ARGS((void));
+extern int mch_can_restore_title __ARGS((void));
+extern int mch_can_restore_icon __ARGS((void));
+extern void mch_settitle __ARGS((char_u *title, char_u *icon));
+extern void mch_restore_title __ARGS((int which));
+extern int mch_get_user_name __ARGS((char_u *s, int len));
+extern void mch_get_host_name __ARGS((char_u *s, int len));
+extern long mch_get_pid __ARGS((void));
+extern int mch_dirname __ARGS((char_u *buf, int len));
+extern int mch_FullName __ARGS((char_u *fname, char_u *buf, int len, int force));
+extern int mch_isFullName __ARGS((char_u *fname));
+extern long mch_getperm __ARGS((char_u *name));
+extern int mch_setperm __ARGS((char_u *name, long perm));
+extern void mch_hide __ARGS((char_u *name));
+extern int mch_isdir __ARGS((char_u *name));
+extern int mch_can_exe __ARGS((char_u *name));
+extern int mch_nodetype __ARGS((char_u *name));
+extern void mch_early_init __ARGS((void));
+extern void mch_exit __ARGS((int r));
+extern void mch_settmode __ARGS((int tmode));
+extern void mch_setmouse __ARGS((int on));
+extern int mch_screenmode __ARGS((char_u *arg));
+extern int mch_get_shellsize __ARGS((void));
+extern void mch_set_shellsize __ARGS((void));
+extern void mch_new_shellsize __ARGS((void));
+extern int mch_call_shell __ARGS((char_u *cmd, int options));
+extern void mch_breakcheck __ARGS((void));
+extern int mch_expandpath __ARGS((garray_T *gap, char_u *path, int flags));
+extern int expand_section __ARGS((garray_T *gap, char_u *root, char_u *rest, int flags));
+extern int mch_expand_wildcards __ARGS((int num_pat, char_u **pat, int *num_file, char_u ***file, int flags));
+extern int mch_has_exp_wildcard __ARGS((char_u *p));
+extern int mch_has_wildcard __ARGS((char_u *p));
+extern int mch_remove __ARGS((char_u *file));
+extern char_u *mch_munge_fname __ARGS((char_u *fname));
+extern int ro_buflist_add __ARGS((char_u *old_name));
+extern int mch_chdir __ARGS((char_u *dir));
+extern void mch_read_filetype __ARGS((char_u *file));
+extern void mch_set_filetype __ARGS((char_u *file, char_u *type));
+extern int mch_check_filetype __ARGS((char_u *fname, char_u *type));
 /* vim: set ft=c : */
diff --git a/src/proto/os_vms.pro b/src/proto/os_vms.pro
index 2ed6394ebda3cd9131d29559e19c438a41b31b63..667f7ab3ca61c8759c291e5469a5a00692c51086 100644
--- a/src/proto/os_vms.pro
+++ b/src/proto/os_vms.pro
@@ -1,14 +1,14 @@
 /* os_vms.c */
-void mch_settmode __ARGS((int tmode));
-int mch_get_shellsize __ARGS((void));
-void mch_set_shellsize __ARGS((void));
-char_u *mch_getenv __ARGS((char_u *lognam));
-int mch_setenv __ARGS((char *var, char *value, int x));
-int vms_sys __ARGS((char *cmd, char *out, char *inp));
-int vms_sys_status __ARGS((int status));
-int vms_read __ARGS((char *inbuf, size_t nbytes));
-int mch_expand_wildcards __ARGS((int num_pat, char_u **pat, int *num_file, char_u ***file, int flags));
-int mch_expandpath __ARGS((garray_T *gap, char_u *path, int flags));
-void *vms_fixfilename __ARGS((void *instring));
-void vms_remove_version __ARGS((void *fname));
+extern void mch_settmode __ARGS((int tmode));
+extern int mch_get_shellsize __ARGS((void));
+extern void mch_set_shellsize __ARGS((void));
+extern char_u *mch_getenv __ARGS((char_u *lognam));
+extern int mch_setenv __ARGS((char *var, char *value, int x));
+extern int vms_sys __ARGS((char *cmd, char *out, char *inp));
+extern int vms_sys_status __ARGS((int status));
+extern int vms_read __ARGS((char *inbuf, size_t nbytes));
+extern int mch_expand_wildcards __ARGS((int num_pat, char_u **pat, int *num_file, char_u ***file, int flags));
+extern int mch_expandpath __ARGS((garray_T *gap, char_u *path, int flags));
+extern void *vms_fixfilename __ARGS((void *instring));
+extern void vms_remove_version __ARGS((void *fname));
 /* vim: set ft=c : */
diff --git a/src/proto/os_win16.pro b/src/proto/os_win16.pro
index 31fa72c05b22c4cf048a05ee1962122cd7042ef1..4bfd9b32fe8a524ab948ae5635546671c02fc593 100644
--- a/src/proto/os_win16.pro
+++ b/src/proto/os_win16.pro
@@ -1,12 +1,12 @@
 /* os_win16.c */
-void mch_setmouse __ARGS((int on));
-void mch_init __ARGS((void));
-int mch_check_win __ARGS((int argc, char **argv));
-long mch_get_pid __ARGS((void));
-int mch_call_shell __ARGS((char_u *cmd, int options));
-void mch_delay __ARGS((long msec, int ignoreinput));
-void mch_breakcheck __ARGS((void));
-long_u mch_avail_mem __ARGS((int special));
-int mch_rename __ARGS((const char *pszOldFile, const char *pszNewFile));
-char *default_shell __ARGS((void));
+extern void mch_setmouse __ARGS((int on));
+extern void mch_init __ARGS((void));
+extern int mch_check_win __ARGS((int argc, char **argv));
+extern long mch_get_pid __ARGS((void));
+extern int mch_call_shell __ARGS((char_u *cmd, int options));
+extern void mch_delay __ARGS((long msec, int ignoreinput));
+extern void mch_breakcheck __ARGS((void));
+extern long_u mch_avail_mem __ARGS((int special));
+extern int mch_rename __ARGS((const char *pszOldFile, const char *pszNewFile));
+extern char *default_shell __ARGS((void));
 /* vim: set ft=c : */
diff --git a/src/proto/popupmnu.pro b/src/proto/popupmnu.pro
new file mode 100644
index 0000000000000000000000000000000000000000..5427dad837528c7ace404ff857979b94af7bf47a
--- /dev/null
+++ b/src/proto/popupmnu.pro
@@ -0,0 +1,8 @@
+/* popupmnu.c */
+extern void pum_display __ARGS((pumitem_T *array, int size, int selected));
+extern void pum_redraw __ARGS((void));
+extern void pum_undisplay __ARGS((void));
+extern void pum_clear __ARGS((void));
+extern int pum_visible __ARGS((void));
+extern int pum_get_height __ARGS((void));
+/* vim: set ft=c : */
diff --git a/src/proto/regexp.pro b/src/proto/regexp.pro
index df2fde40cec97ddcd8c4df998c927a278d2deeb6..27597b2efacc75c31403f1e92e7f87f1e867f9f1 100644
--- a/src/proto/regexp.pro
+++ b/src/proto/regexp.pro
@@ -1,17 +1,17 @@
 /* regexp.c */
-void free_regexp_stuff __ARGS((void));
-int re_multiline __ARGS((regprog_T *prog));
-int re_lookbehind __ARGS((regprog_T *prog));
-char_u *skip_regexp __ARGS((char_u *startp, int dirc, int magic, char_u **newp));
-regprog_T *vim_regcomp __ARGS((char_u *expr, int re_flags));
-int vim_regcomp_had_eol __ARGS((void));
-int vim_regexec __ARGS((regmatch_T *rmp, char_u *line, colnr_T col));
-int vim_regexec_nl __ARGS((regmatch_T *rmp, char_u *line, colnr_T col));
-long vim_regexec_multi __ARGS((regmmatch_T *rmp, win_T *win, buf_T *buf, linenr_T lnum, colnr_T col));
-reg_extmatch_T *ref_extmatch __ARGS((reg_extmatch_T *em));
-void unref_extmatch __ARGS((reg_extmatch_T *em));
-char_u *regtilde __ARGS((char_u *source, int magic));
-int vim_regsub __ARGS((regmatch_T *rmp, char_u *source, char_u *dest, int copy, int magic, int backslash));
-int vim_regsub_multi __ARGS((regmmatch_T *rmp, linenr_T lnum, char_u *source, char_u *dest, int copy, int magic, int backslash));
-char_u *reg_submatch __ARGS((int no));
+extern void free_regexp_stuff __ARGS((void));
+extern int re_multiline __ARGS((regprog_T *prog));
+extern int re_lookbehind __ARGS((regprog_T *prog));
+extern char_u *skip_regexp __ARGS((char_u *startp, int dirc, int magic, char_u **newp));
+extern regprog_T *vim_regcomp __ARGS((char_u *expr, int re_flags));
+extern int vim_regcomp_had_eol __ARGS((void));
+extern int vim_regexec __ARGS((regmatch_T *rmp, char_u *line, colnr_T col));
+extern int vim_regexec_nl __ARGS((regmatch_T *rmp, char_u *line, colnr_T col));
+extern long vim_regexec_multi __ARGS((regmmatch_T *rmp, win_T *win, buf_T *buf, linenr_T lnum, colnr_T col));
+extern reg_extmatch_T *ref_extmatch __ARGS((reg_extmatch_T *em));
+extern void unref_extmatch __ARGS((reg_extmatch_T *em));
+extern char_u *regtilde __ARGS((char_u *source, int magic));
+extern int vim_regsub __ARGS((regmatch_T *rmp, char_u *source, char_u *dest, int copy, int magic, int backslash));
+extern int vim_regsub_multi __ARGS((regmmatch_T *rmp, linenr_T lnum, char_u *source, char_u *dest, int copy, int magic, int backslash));
+extern char_u *reg_submatch __ARGS((int no));
 /* vim: set ft=c : */
diff --git a/src/proto/syntax.pro b/src/proto/syntax.pro
index 1204b89cb6f31003da6da9584ba442a8bddab231..3157108546b6c05a510e11b85b9063e7fcd06a8d 100644
--- a/src/proto/syntax.pro
+++ b/src/proto/syntax.pro
@@ -1,46 +1,46 @@
 /* syntax.c */
-void syntax_start __ARGS((win_T *wp, linenr_T lnum));
-void syn_stack_free_all __ARGS((buf_T *buf));
-void syn_stack_apply_changes __ARGS((buf_T *buf));
-void syntax_end_parsing __ARGS((linenr_T lnum));
-int syntax_check_changed __ARGS((linenr_T lnum));
-int get_syntax_attr __ARGS((colnr_T col, int *can_spell));
-void syntax_clear __ARGS((buf_T *buf));
-void ex_syntax __ARGS((exarg_T *eap));
-int syntax_present __ARGS((buf_T *buf));
-void set_context_in_syntax_cmd __ARGS((expand_T *xp, char_u *arg));
-char_u *get_syntax_name __ARGS((expand_T *xp, int idx));
-int syn_get_id __ARGS((win_T *wp, long lnum, colnr_T col, int trans, int *spellp));
-int syn_get_foldlevel __ARGS((win_T *wp, long lnum));
-void init_highlight __ARGS((int both, int reset));
-int load_colors __ARGS((char_u *name));
-void do_highlight __ARGS((char_u *line, int forceit, int init));
-void free_highlight __ARGS((void));
-void restore_cterm_colors __ARGS((void));
-void set_normal_colors __ARGS((void));
-char_u *hl_get_font_name __ARGS((void));
-void hl_set_font_name __ARGS((char_u *font_name));
-void hl_set_bg_color_name __ARGS((char_u *name));
-void hl_set_fg_color_name __ARGS((char_u *name));
-void clear_hl_tables __ARGS((void));
-int hl_combine_attr __ARGS((int char_attr, int prim_attr));
-attrentry_T *syn_gui_attr2entry __ARGS((int attr));
-int syn_attr2attr __ARGS((int attr));
-attrentry_T *syn_term_attr2entry __ARGS((int attr));
-attrentry_T *syn_cterm_attr2entry __ARGS((int attr));
-char_u *highlight_has_attr __ARGS((int id, int flag, int modec));
-char_u *highlight_color __ARGS((int id, char_u *what, int modec));
-long_u highlight_gui_color_rgb __ARGS((int id, int fg));
-int syn_name2id __ARGS((char_u *name));
-int highlight_exists __ARGS((char_u *name));
-int syn_namen2id __ARGS((char_u *linep, int len));
-int syn_check_group __ARGS((char_u *pp, int len));
-int syn_id2attr __ARGS((int hl_id));
-int syn_id2colors __ARGS((int hl_id, guicolor_T *fgp, guicolor_T *bgp));
-int syn_get_final_id __ARGS((int hl_id));
-void highlight_gui_started __ARGS((void));
-int highlight_changed __ARGS((void));
-void set_context_in_highlight_cmd __ARGS((expand_T *xp, char_u *arg));
-char_u *get_highlight_name __ARGS((expand_T *xp, int idx));
-void free_highlight_fonts __ARGS((void));
+extern void syntax_start __ARGS((win_T *wp, linenr_T lnum));
+extern void syn_stack_free_all __ARGS((buf_T *buf));
+extern void syn_stack_apply_changes __ARGS((buf_T *buf));
+extern void syntax_end_parsing __ARGS((linenr_T lnum));
+extern int syntax_check_changed __ARGS((linenr_T lnum));
+extern int get_syntax_attr __ARGS((colnr_T col, int *can_spell));
+extern void syntax_clear __ARGS((buf_T *buf));
+extern void ex_syntax __ARGS((exarg_T *eap));
+extern int syntax_present __ARGS((buf_T *buf));
+extern void set_context_in_syntax_cmd __ARGS((expand_T *xp, char_u *arg));
+extern char_u *get_syntax_name __ARGS((expand_T *xp, int idx));
+extern int syn_get_id __ARGS((win_T *wp, long lnum, colnr_T col, int trans, int *spellp));
+extern int syn_get_foldlevel __ARGS((win_T *wp, long lnum));
+extern void init_highlight __ARGS((int both, int reset));
+extern int load_colors __ARGS((char_u *name));
+extern void do_highlight __ARGS((char_u *line, int forceit, int init));
+extern void free_highlight __ARGS((void));
+extern void restore_cterm_colors __ARGS((void));
+extern void set_normal_colors __ARGS((void));
+extern char_u *hl_get_font_name __ARGS((void));
+extern void hl_set_font_name __ARGS((char_u *font_name));
+extern void hl_set_bg_color_name __ARGS((char_u *name));
+extern void hl_set_fg_color_name __ARGS((char_u *name));
+extern void clear_hl_tables __ARGS((void));
+extern int hl_combine_attr __ARGS((int char_attr, int prim_attr));
+extern attrentry_T *syn_gui_attr2entry __ARGS((int attr));
+extern int syn_attr2attr __ARGS((int attr));
+extern attrentry_T *syn_term_attr2entry __ARGS((int attr));
+extern attrentry_T *syn_cterm_attr2entry __ARGS((int attr));
+extern char_u *highlight_has_attr __ARGS((int id, int flag, int modec));
+extern char_u *highlight_color __ARGS((int id, char_u *what, int modec));
+extern long_u highlight_gui_color_rgb __ARGS((int id, int fg));
+extern int syn_name2id __ARGS((char_u *name));
+extern int highlight_exists __ARGS((char_u *name));
+extern int syn_namen2id __ARGS((char_u *linep, int len));
+extern int syn_check_group __ARGS((char_u *pp, int len));
+extern int syn_id2attr __ARGS((int hl_id));
+extern int syn_id2colors __ARGS((int hl_id, guicolor_T *fgp, guicolor_T *bgp));
+extern int syn_get_final_id __ARGS((int hl_id));
+extern void highlight_gui_started __ARGS((void));
+extern int highlight_changed __ARGS((void));
+extern void set_context_in_highlight_cmd __ARGS((expand_T *xp, char_u *arg));
+extern char_u *get_highlight_name __ARGS((expand_T *xp, int idx));
+extern void free_highlight_fonts __ARGS((void));
 /* vim: set ft=c : */
diff --git a/src/proto/undo.pro b/src/proto/undo.pro
index 58c6db854c7011acf62966a3d66b6f95e3328b3e..ab707359cb7aaebd893e1fa00c0ea14d432e0454 100644
--- a/src/proto/undo.pro
+++ b/src/proto/undo.pro
@@ -1,21 +1,21 @@
 /* undo.c */
-int u_save_cursor __ARGS((void));
-int u_save __ARGS((linenr_T top, linenr_T bot));
-int u_savesub __ARGS((linenr_T lnum));
-int u_inssub __ARGS((linenr_T lnum));
-int u_savedel __ARGS((linenr_T lnum, long nlines));
-void u_undo __ARGS((int count));
-void u_redo __ARGS((int count));
-void undo_time __ARGS((long step, int sec, int absolute));
-void u_sync __ARGS((void));
-void ex_undolist __ARGS((exarg_T *eap));
-void ex_undojoin __ARGS((exarg_T *eap));
-void u_unchanged __ARGS((buf_T *buf));
-void u_clearall __ARGS((buf_T *buf));
-void u_saveline __ARGS((linenr_T lnum));
-void u_clearline __ARGS((void));
-void u_undoline __ARGS((void));
-void u_blockfree __ARGS((buf_T *buf));
-int bufIsChanged __ARGS((buf_T *buf));
-int curbufIsChanged __ARGS((void));
+extern int u_save_cursor __ARGS((void));
+extern int u_save __ARGS((linenr_T top, linenr_T bot));
+extern int u_savesub __ARGS((linenr_T lnum));
+extern int u_inssub __ARGS((linenr_T lnum));
+extern int u_savedel __ARGS((linenr_T lnum, long nlines));
+extern void u_undo __ARGS((int count));
+extern void u_redo __ARGS((int count));
+extern void undo_time __ARGS((long step, int sec, int absolute));
+extern void u_sync __ARGS((void));
+extern void ex_undolist __ARGS((exarg_T *eap));
+extern void ex_undojoin __ARGS((exarg_T *eap));
+extern void u_unchanged __ARGS((buf_T *buf));
+extern void u_clearall __ARGS((buf_T *buf));
+extern void u_saveline __ARGS((linenr_T lnum));
+extern void u_clearline __ARGS((void));
+extern void u_undoline __ARGS((void));
+extern void u_blockfree __ARGS((buf_T *buf));
+extern int bufIsChanged __ARGS((buf_T *buf));
+extern int curbufIsChanged __ARGS((void));
 /* vim: set ft=c : */
diff --git a/src/proto/version.pro b/src/proto/version.pro
index 3f371f9b88df5d04993711e75c39204f3734dbf7..00ca91663e9b9d78826a1cc537c2d6e7db9e634f 100644
--- a/src/proto/version.pro
+++ b/src/proto/version.pro
@@ -1,9 +1,9 @@
 /* version.c */
-void make_version __ARGS((void));
-int highest_patch __ARGS((void));
-int has_patch __ARGS((int n));
-void ex_version __ARGS((exarg_T *eap));
-void list_version __ARGS((void));
-void intro_message __ARGS((int colon));
-void ex_intro __ARGS((exarg_T *eap));
+extern void make_version __ARGS((void));
+extern int highest_patch __ARGS((void));
+extern int has_patch __ARGS((int n));
+extern void ex_version __ARGS((exarg_T *eap));
+extern void list_version __ARGS((void));
+extern void intro_message __ARGS((int colon));
+extern void ex_intro __ARGS((exarg_T *eap));
 /* vim: set ft=c : */
diff --git a/src/proto/window.pro b/src/proto/window.pro
index 629ced3857e9af551edc969ddfd2198189df73b0..362f00a451b27536afb66f5dabcb92af8c370098 100644
--- a/src/proto/window.pro
+++ b/src/proto/window.pro
@@ -1,59 +1,59 @@
 /* window.c */
-void do_window __ARGS((int nchar, long Prenum, int xchar));
-int win_split __ARGS((int size, int flags));
-int win_valid __ARGS((win_T *win));
-int win_count __ARGS((void));
-int make_windows __ARGS((int count, int vertical));
-void win_move_after __ARGS((win_T *win1, win_T *win2));
-void win_equal __ARGS((win_T *next_curwin, int current, int dir));
-void close_windows __ARGS((buf_T *buf, int keep_curwin));
-void win_close __ARGS((win_T *win, int free_buf));
-void win_close_othertab __ARGS((win_T *win, int free_buf, tabpage_T *tp));
-void win_free_all __ARGS((void));
-void close_others __ARGS((int message, int forceit));
-void curwin_init __ARGS((void));
-int win_alloc_first __ARGS((void));
-void win_init_size __ARGS((void));
-int win_new_tabpage __ARGS((int after));
-int may_open_tabpage __ARGS((void));
-int make_tabpages __ARGS((int maxcount));
-int valid_tabpage __ARGS((tabpage_T *tpc));
-tabpage_T *find_tabpage __ARGS((int n));
-int tabpage_index __ARGS((tabpage_T *ftp));
-void goto_tabpage __ARGS((int n));
-void goto_tabpage_tp __ARGS((tabpage_T *tp));
-void tabpage_move __ARGS((int nr));
-void win_goto __ARGS((win_T *wp));
-win_T *win_find_nr __ARGS((int winnr));
-void win_enter __ARGS((win_T *wp, int undo_sync));
-win_T *buf_jump_open_win __ARGS((buf_T *buf));
-int win_alloc_lines __ARGS((win_T *wp));
-void win_free_lsize __ARGS((win_T *wp));
-void shell_new_rows __ARGS((void));
-void shell_new_columns __ARGS((void));
-void win_size_save __ARGS((garray_T *gap));
-void win_size_restore __ARGS((garray_T *gap));
-int win_comp_pos __ARGS((void));
-void win_setheight __ARGS((int height));
-void win_setheight_win __ARGS((int height, win_T *win));
-void win_setwidth __ARGS((int width));
-void win_setwidth_win __ARGS((int width, win_T *wp));
-void win_setminheight __ARGS((void));
-void win_drag_status_line __ARGS((win_T *dragwin, int offset));
-void win_drag_vsep_line __ARGS((win_T *dragwin, int offset));
-void win_comp_scroll __ARGS((win_T *wp));
-void command_height __ARGS((long old_p_ch));
-void last_status __ARGS((int morewin));
-int tabline_height __ARGS((void));
-char_u *grab_file_name __ARGS((long count, linenr_T *file_lnum));
-char_u *file_name_at_cursor __ARGS((int options, long count, linenr_T *file_lnum));
-char_u *file_name_in_line __ARGS((char_u *line, int col, int options, long count, char_u *rel_fname, linenr_T *file_lnum));
-char_u *find_file_name_in_path __ARGS((char_u *ptr, int len, int options, long count, char_u *rel_fname));
-int path_with_url __ARGS((char_u *fname));
-int vim_isAbsName __ARGS((char_u *name));
-int vim_FullName __ARGS((char_u *fname, char_u *buf, int len, int force));
-int min_rows __ARGS((void));
-int only_one_window __ARGS((void));
-void check_lnums __ARGS((int do_curwin));
-int win_hasvertsplit __ARGS((void));
+extern void do_window __ARGS((int nchar, long Prenum, int xchar));
+extern int win_split __ARGS((int size, int flags));
+extern int win_valid __ARGS((win_T *win));
+extern int win_count __ARGS((void));
+extern int make_windows __ARGS((int count, int vertical));
+extern void win_move_after __ARGS((win_T *win1, win_T *win2));
+extern void win_equal __ARGS((win_T *next_curwin, int current, int dir));
+extern void close_windows __ARGS((buf_T *buf, int keep_curwin));
+extern void win_close __ARGS((win_T *win, int free_buf));
+extern void win_close_othertab __ARGS((win_T *win, int free_buf, tabpage_T *tp));
+extern void win_free_all __ARGS((void));
+extern void close_others __ARGS((int message, int forceit));
+extern void curwin_init __ARGS((void));
+extern int win_alloc_first __ARGS((void));
+extern void win_init_size __ARGS((void));
+extern int win_new_tabpage __ARGS((int after));
+extern int may_open_tabpage __ARGS((void));
+extern int make_tabpages __ARGS((int maxcount));
+extern int valid_tabpage __ARGS((tabpage_T *tpc));
+extern tabpage_T *find_tabpage __ARGS((int n));
+extern int tabpage_index __ARGS((tabpage_T *ftp));
+extern void goto_tabpage __ARGS((int n));
+extern void goto_tabpage_tp __ARGS((tabpage_T *tp));
+extern void tabpage_move __ARGS((int nr));
+extern void win_goto __ARGS((win_T *wp));
+extern win_T *win_find_nr __ARGS((int winnr));
+extern void win_enter __ARGS((win_T *wp, int undo_sync));
+extern win_T *buf_jump_open_win __ARGS((buf_T *buf));
+extern int win_alloc_lines __ARGS((win_T *wp));
+extern void win_free_lsize __ARGS((win_T *wp));
+extern void shell_new_rows __ARGS((void));
+extern void shell_new_columns __ARGS((void));
+extern void win_size_save __ARGS((garray_T *gap));
+extern void win_size_restore __ARGS((garray_T *gap));
+extern int win_comp_pos __ARGS((void));
+extern void win_setheight __ARGS((int height));
+extern void win_setheight_win __ARGS((int height, win_T *win));
+extern void win_setwidth __ARGS((int width));
+extern void win_setwidth_win __ARGS((int width, win_T *wp));
+extern void win_setminheight __ARGS((void));
+extern void win_drag_status_line __ARGS((win_T *dragwin, int offset));
+extern void win_drag_vsep_line __ARGS((win_T *dragwin, int offset));
+extern void win_comp_scroll __ARGS((win_T *wp));
+extern void command_height __ARGS((long old_p_ch));
+extern void last_status __ARGS((int morewin));
+extern int tabline_height __ARGS((void));
+extern char_u *grab_file_name __ARGS((long count, linenr_T *file_lnum));
+extern char_u *file_name_at_cursor __ARGS((int options, long count, linenr_T *file_lnum));
+extern char_u *file_name_in_line __ARGS((char_u *line, int col, int options, long count, char_u *rel_fname, linenr_T *file_lnum));
+extern char_u *find_file_name_in_path __ARGS((char_u *ptr, int len, int options, long count, char_u *rel_fname));
+extern int path_with_url __ARGS((char_u *fname));
+extern int vim_isAbsName __ARGS((char_u *name));
+extern int vim_FullName __ARGS((char_u *fname, char_u *buf, int len, int force));
+extern int min_rows __ARGS((void));
+extern int only_one_window __ARGS((void));
+extern void check_lnums __ARGS((int do_curwin));
+extern int win_hasvertsplit __ARGS((void));
 /* vim: set ft=c : */
diff --git a/src/proto/workshop.pro b/src/proto/workshop.pro
index 426fded0b483c2ed37e2bba6e013f30d23120e79..c72e215f40ba912b03b30868ae40310a40bdc96f 100644
--- a/src/proto/workshop.pro
+++ b/src/proto/workshop.pro
@@ -1,49 +1,49 @@
 /* workshop.c */
-void workshop_init __ARGS((void));
-void workshop_postinit __ARGS((void));
-void ex_wsverb __ARGS((exarg_T *eap));
-char *workshop_get_editor_name __ARGS((void));
-char *workshop_get_editor_version __ARGS((void));
-void workshop_load_file __ARGS((char *filename, int line, char *frameid));
-void workshop_reload_file __ARGS((char *filename, int line));
-void workshop_show_file __ARGS((char *filename));
-void workshop_goto_line __ARGS((char *filename, int lineno));
-void workshop_front_file __ARGS((char *filename));
-void workshop_save_file __ARGS((char *filename));
-void workshop_save_files __ARGS((void));
-void workshop_quit __ARGS((void));
-void workshop_minimize __ARGS((void));
-void workshop_maximize __ARGS((void));
-void workshop_add_mark_type __ARGS((int idx, char *colorspec, char *sign));
-void workshop_set_mark __ARGS((char *filename, int lineno, int markId, int idx));
-void workshop_change_mark_type __ARGS((char *filename, int markId, int idx));
-void workshop_goto_mark __ARGS((char *filename, int markId, char *message));
-void workshop_delete_mark __ARGS((char *filename, int markId));
-int workshop_get_mark_lineno __ARGS((char *filename, int markId));
-void workshop_moved_marks __ARGS((char *filename));
-int workshop_get_font_height __ARGS((void));
-void workshop_footer_message __ARGS((char *message, int severity));
-void workshop_menu_begin __ARGS((char *label));
-void workshop_submenu_begin __ARGS((char *label));
-void workshop_submenu_end __ARGS((void));
-void workshop_menu_item __ARGS((char *label, char *verb, char *accelerator, char *acceleratorText, char *name, char *filepos, char *sensitive));
-void workshop_menu_end __ARGS((void));
-void workshop_toolbar_begin __ARGS((void));
-void workshop_toolbar_end __ARGS((void));
-void workshop_toolbar_button __ARGS((char *label, char *verb, char *senseVerb, char *filepos, char *help, char *sense, char *file, char *left));
-void workshop_frame_sensitivities __ARGS((VerbSense *vs));
-void workshop_set_option __ARGS((char *option, char *value));
-void workshop_balloon_mode __ARGS((Boolean on));
-void workshop_balloon_delay __ARGS((int delay));
-void workshop_show_balloon_tip __ARGS((char *tip));
-void workshop_hotkeys __ARGS((Boolean on));
-int workshop_get_positions __ARGS((void *clientData, char **filename, int *curLine, int *curCol, int *selStartLine, int *selStartCol, int *selEndLine, int *selEndCol, int *selLength, char **selection));
-char *workshop_test_getcurrentfile __ARGS((void));
-int workshop_test_getcursorrow __ARGS((void));
-int workshop_test_getcursorcol __ARGS((void));
-char *workshop_test_getcursorrowtext __ARGS((void));
-char *workshop_test_getselectedtext __ARGS((void));
-void workshop_save_sensitivity __ARGS((char *filename));
-void workshop_beval_cb __ARGS((BalloonEval *beval, int state));
-void findYourself __ARGS((char *argv0));
+extern void workshop_init __ARGS((void));
+extern void workshop_postinit __ARGS((void));
+extern void ex_wsverb __ARGS((exarg_T *eap));
+extern char *workshop_get_editor_name __ARGS((void));
+extern char *workshop_get_editor_version __ARGS((void));
+extern void workshop_load_file __ARGS((char *filename, int line, char *frameid));
+extern void workshop_reload_file __ARGS((char *filename, int line));
+extern void workshop_show_file __ARGS((char *filename));
+extern void workshop_goto_line __ARGS((char *filename, int lineno));
+extern void workshop_front_file __ARGS((char *filename));
+extern void workshop_save_file __ARGS((char *filename));
+extern void workshop_save_files __ARGS((void));
+extern void workshop_quit __ARGS((void));
+extern void workshop_minimize __ARGS((void));
+extern void workshop_maximize __ARGS((void));
+extern void workshop_add_mark_type __ARGS((int idx, char *colorspec, char *sign));
+extern void workshop_set_mark __ARGS((char *filename, int lineno, int markId, int idx));
+extern void workshop_change_mark_type __ARGS((char *filename, int markId, int idx));
+extern void workshop_goto_mark __ARGS((char *filename, int markId, char *message));
+extern void workshop_delete_mark __ARGS((char *filename, int markId));
+extern int workshop_get_mark_lineno __ARGS((char *filename, int markId));
+extern void workshop_moved_marks __ARGS((char *filename));
+extern int workshop_get_font_height __ARGS((void));
+extern void workshop_footer_message __ARGS((char *message, int severity));
+extern void workshop_menu_begin __ARGS((char *label));
+extern void workshop_submenu_begin __ARGS((char *label));
+extern void workshop_submenu_end __ARGS((void));
+extern void workshop_menu_item __ARGS((char *label, char *verb, char *accelerator, char *acceleratorText, char *name, char *filepos, char *sensitive));
+extern void workshop_menu_end __ARGS((void));
+extern void workshop_toolbar_begin __ARGS((void));
+extern void workshop_toolbar_end __ARGS((void));
+extern void workshop_toolbar_button __ARGS((char *label, char *verb, char *senseVerb, char *filepos, char *help, char *sense, char *file, char *left));
+extern void workshop_frame_sensitivities __ARGS((VerbSense *vs));
+extern void workshop_set_option __ARGS((char *option, char *value));
+extern void workshop_balloon_mode __ARGS((Boolean on));
+extern void workshop_balloon_delay __ARGS((int delay));
+extern void workshop_show_balloon_tip __ARGS((char *tip));
+extern void workshop_hotkeys __ARGS((Boolean on));
+extern int workshop_get_positions __ARGS((void *clientData, char **filename, int *curLine, int *curCol, int *selStartLine, int *selStartCol, int *selEndLine, int *selEndCol, int *selLength, char **selection));
+extern char *workshop_test_getcurrentfile __ARGS((void));
+extern int workshop_test_getcursorrow __ARGS((void));
+extern int workshop_test_getcursorcol __ARGS((void));
+extern char *workshop_test_getcursorrowtext __ARGS((void));
+extern char *workshop_test_getselectedtext __ARGS((void));
+extern void workshop_save_sensitivity __ARGS((char *filename));
+extern void workshop_beval_cb __ARGS((BalloonEval *beval, int state));
+extern void findYourself __ARGS((char *argv0));
 /* vim: set ft=c : */
diff --git a/src/tag.c b/src/tag.c
index 98a2c9b8d49c07f4dfc239d6cfd837eb868d34ff..6c8888cee09bd558a2b50477efc8517540b447e7 100644
--- a/src/tag.c
+++ b/src/tag.c
@@ -3835,15 +3835,16 @@ get_tags(list, pat)
 			char_u	*s, *n;
 			int	len;
 
-			/* Add extra field as a dict entry. */
+			/* Add extra field as a dict entry.  Fields are
+			 * separated by Tabs. */
 			n = p;
-			while (*p != NUL && *p > ' ' && *p < 127 && *p != ':')
+			while (*p != NUL && *p >= ' ' && *p < 127 && *p != ':')
 			    ++p;
 			len = p - n;
 			if (*p == ':' && len > 0)
 			{
 			    s = ++p;
-			    while (*p != NUL && *p > ' ' && *p < 127)
+			    while (*p != NUL && *p >= ' ' && *p < 127)
 				++p;
 			    n[len] = NUL;
 			    if (add_tag_field(dict, (char *)n, s, p) == FAIL)
diff --git a/src/testdir/Make_dos.mak b/src/testdir/Make_dos.mak
index 66c9f9f595ac7dcd098a0ef60b6e34a85a22e91f..eec1f9b3cde540e29cc1aec40065261396a7a220 100644
--- a/src/testdir/Make_dos.mak
+++ b/src/testdir/Make_dos.mak
@@ -37,7 +37,7 @@ SCRIPTS_GUI = test16.out
 nongui:	fixff $(SCRIPTS16) $(SCRIPTS)
 	echo ALL DONE
 
-small:	fixff $(SCRIPTS16)
+small:
 	echo ALL DONE
 
 gui:	fixff $(SCRIPTS16) $(SCRIPTS) $(SCRIPTS_GUI)
diff --git a/src/version.h b/src/version.h
index f3a87f7729cc4a09d4900689aff0bc7895dc2dbc..cef0851975c8d32a379057f1ea13cc8c5ee0da7a 100644
--- a/src/version.h
+++ b/src/version.h
@@ -19,13 +19,13 @@
 #define VIM_VERSION_MINOR_STR		"0"
 #define VIM_VERSION_100	    (VIM_VERSION_MAJOR * 100 + VIM_VERSION_MINOR)
 
-#define VIM_VERSION_BUILD		 256
-#define VIM_VERSION_BUILD_BCD		0x100
-#define VIM_VERSION_BUILD_STR		"256"
+#define VIM_VERSION_BUILD		 257
+#define VIM_VERSION_BUILD_BCD		0x101
+#define VIM_VERSION_BUILD_STR		"257"
 #define VIM_VERSION_PATCHLEVEL		 0
 #define VIM_VERSION_PATCHLEVEL_STR	"0"
 /* Used by MacOS port should be one of: development, alpha, beta, final */
-#define VIM_VERSION_RELEASE		alpha
+#define VIM_VERSION_RELEASE		beta
 
 /*
  * VIM_VERSION_NODOT is used for the runtime directory name.
@@ -33,8 +33,8 @@
  * VIM_VERSION_MEDIUM is used for the startup-screen.
  * VIM_VERSION_LONG is used for the ":version" command and "Vim -h".
  */
-#define VIM_VERSION_NODOT	"vim70aa"
-#define VIM_VERSION_SHORT	"7.0aa"
-#define VIM_VERSION_MEDIUM	"7.0aa ALPHA"
-#define VIM_VERSION_LONG	"VIM - Vi IMproved 7.0aa ALPHA (2006 Mar 23)"
-#define VIM_VERSION_LONG_DATE	"VIM - Vi IMproved 7.0aa ALPHA (2006 Mar 23, compiled "
+#define VIM_VERSION_NODOT	"vim70b"
+#define VIM_VERSION_SHORT	"7.0b"
+#define VIM_VERSION_MEDIUM	"7.0b BETA"
+#define VIM_VERSION_LONG	"VIM - Vi IMproved 7.0b BETA (2006 Mar 24)"
+#define VIM_VERSION_LONG_DATE	"VIM - Vi IMproved 7.0b BETA (2006 Mar 24, compiled "
diff --git a/src/vim.h b/src/vim.h
index 1e4ae427a898654da4fa946f0cfe316dfa95e4e6..237383f7a19a461d79ba9230071bce8148b2ba18 100644
--- a/src/vim.h
+++ b/src/vim.h
@@ -1723,7 +1723,7 @@ typedef int VimClipboard;	/* This is required for the prototypes. */
 # define stat(a,b) (access(a,0) ? -1 : stat(a,b))
 #endif
 
-#if defined(FEAT_PROFILE) || defined(FEAT_RELTIME)
+#if (defined(FEAT_PROFILE) || defined(FEAT_RELTIME)) && !defined(PROTO)
 # ifdef WIN3264
 typedef LARGE_INTEGER proftime_T;
 # else