changeset 799:6beb2c667935

updated for version 7.0b
author vimboss
date Fri, 24 Mar 2006 22:21:52 +0000
parents 95dac6af3b3a
children d8f905020502
files Makefile README.txt README_ami.txt README_amibin.txt README_dos.txt README_extra.txt README_mac.txt README_ole.txt README_os390.txt README_w32s.txt nsis/gvim.nsi runtime/autoload/netrw.vim runtime/autoload/zip.vim runtime/doc/Makefile runtime/doc/autocmd.txt runtime/doc/change.txt runtime/doc/cmdline.txt runtime/doc/debug.txt runtime/doc/debugger.txt runtime/doc/develop.txt runtime/doc/diff.txt runtime/doc/digraph.txt runtime/doc/editing.txt runtime/doc/fold.txt runtime/doc/gui.txt runtime/doc/gui_w16.txt runtime/doc/gui_w32.txt runtime/doc/gui_x11.txt runtime/doc/hangulin.txt runtime/doc/help.txt runtime/doc/if_cscop.txt runtime/doc/if_mzsch.txt runtime/doc/if_ole.txt runtime/doc/if_perl.txt runtime/doc/if_pyth.txt runtime/doc/if_ruby.txt runtime/doc/if_sniff.txt runtime/doc/if_tcl.txt runtime/doc/indent.txt runtime/doc/index.txt runtime/doc/insert.txt runtime/doc/map.txt runtime/doc/mbyte.txt runtime/doc/message.txt runtime/doc/mlang.txt runtime/doc/motion.txt runtime/doc/netbeans.txt runtime/doc/options.txt runtime/doc/os_390.txt runtime/doc/os_beos.txt runtime/doc/os_mac.txt runtime/doc/os_mint.txt runtime/doc/os_msdos.txt runtime/doc/os_os2.txt runtime/doc/os_qnx.txt runtime/doc/os_risc.txt runtime/doc/os_unix.txt runtime/doc/os_vms.txt runtime/doc/pi_gzip.txt runtime/doc/pi_netrw.txt runtime/doc/pi_paren.txt runtime/doc/pi_tar.txt runtime/doc/pi_zip.txt runtime/doc/print.txt runtime/doc/quickref.txt runtime/doc/recover.txt runtime/doc/rileft.txt runtime/doc/russian.txt runtime/doc/sign.txt runtime/doc/sponsor.txt runtime/doc/tabpage.txt runtime/doc/tags runtime/doc/term.txt runtime/doc/tips.txt runtime/doc/uganda.nsis.txt runtime/doc/uganda.txt runtime/doc/undo.txt runtime/doc/usr_02.txt runtime/doc/usr_03.txt runtime/doc/usr_08.txt runtime/doc/usr_09.txt runtime/doc/usr_10.txt runtime/doc/usr_21.txt runtime/doc/usr_22.txt runtime/doc/usr_24.txt runtime/doc/usr_25.txt runtime/doc/usr_26.txt runtime/doc/usr_29.txt runtime/doc/usr_32.txt runtime/doc/usr_41.txt runtime/doc/usr_42.txt runtime/doc/usr_43.txt runtime/doc/usr_44.txt runtime/doc/usr_45.txt runtime/doc/usr_90.txt runtime/doc/usr_toc.txt runtime/doc/version4.txt runtime/doc/version5.txt runtime/doc/version6.txt runtime/doc/vi_diff.txt runtime/doc/visual.txt runtime/ftplugin/plaintex.vim runtime/ftplugin/tex.vim runtime/keymap/greek_utf-8.vim runtime/macros/matchit.txt runtime/makemenu.vim runtime/spell/es/main.aap runtime/synmenu.vim runtime/syntax/groovy.vim src/GvimExt/GvimExt.reg src/Make_bc3.mak src/Make_bc5.mak src/Make_ivc.mak src/Make_manx.mak src/Make_ming.mak src/Make_mvc.mak src/Make_os2.mak src/Make_ro.mak src/Make_sas.mak src/Makefile src/fileio.c src/hashtab.c src/message.c src/os_msdos.c src/os_msdos.h src/proto.h src/proto/buffer.pro src/proto/charset.pro src/proto/diff.pro src/proto/digraph.pro src/proto/eval.pro src/proto/ex_docmd.pro src/proto/ex_eval.pro src/proto/ex_getln.pro src/proto/fold.pro src/proto/getchar.pro src/proto/gui.pro src/proto/gui_athena.pro src/proto/gui_gtk.pro src/proto/gui_gtk_x11.pro src/proto/gui_photon.pro src/proto/gui_w16.pro src/proto/gui_w32.pro src/proto/gui_xmdlg.pro src/proto/hardcopy.pro src/proto/hashtab.pro src/proto/if_cscope.pro src/proto/if_perlsfio.pro src/proto/if_tcl.pro src/proto/main.pro src/proto/mark.pro src/proto/memfile.pro src/proto/message.pro src/proto/netbeans.pro src/proto/normal.pro src/proto/ops.pro src/proto/option.pro src/proto/os_amiga.pro src/proto/os_mswin.pro src/proto/os_riscos.pro src/proto/os_vms.pro src/proto/os_win16.pro src/proto/popupmnu.pro src/proto/regexp.pro src/proto/syntax.pro src/proto/undo.pro src/proto/version.pro src/proto/window.pro src/proto/workshop.pro src/tag.c src/testdir/Make_dos.mak src/version.h src/vim.h
diffstat 173 files changed, 4011 insertions(+), 2470 deletions(-) [+]
line wrap: on
line diff
--- a/Makefile
+++ b/Makefile
@@ -69,15 +69,15 @@ all install uninstall tools config confi
 #    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:
--- 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
--- 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.
--- 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.
--- 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.
--- 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.
--- 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.
--- 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
--- 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.
 
--- 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.
--- 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 fil
 	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\*.*
 
--- 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
--- 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
--- 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 \
--- 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
--- 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
--- 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
--- 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
--- 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
--- 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
--- 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
--- 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
--- 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
--- 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
--- 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
--- 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
--- 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
--- 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
--- 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
--- 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
--- 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
--- 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
--- 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
--- 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
--- 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
--- 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
--- 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
--- 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
--- 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
--- 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-optio
 |: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-optio
 |: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
--- 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
--- 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
--- 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.
--- 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
--- 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
--- 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
--- 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
--- 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
--- 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
--- 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
--- 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.
--- 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
--- 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
--- 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
--- 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
--- 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
--- 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
--- 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
--- 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
--- 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-comma
 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 
 ==============================================================================
 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 j
 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
 ==============================================================================
 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
--- 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
--- 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)
--- 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)
--- 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
--- 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
--- 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
--- 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
--- 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
--- 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
--- 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 acco
 
 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 PayPa
 		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 ord
 		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 
 
 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:
--- 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
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -1609,6 +1609,9 @@ 31.2	usr_31.txt	/*31.2*
 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*
--- 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
--- 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
new file mode 100644
--- /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:
--- 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, availa
 	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 accoun
 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:
--- 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 
 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:
--- 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 cance
 
 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
--- 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
 
--- 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
 
--- 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
 
--- 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
 
--- 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
 
--- 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
 
--- 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
 
--- 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
 
--- 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
 
--- 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
 
new file mode 100644
--- /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:
--- 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
--- 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
 
--- 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
 
--- 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
 
--- 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
 
--- 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
 
--- 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 ~
 
--- 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
--- 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
--- 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
--- 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
--- 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
new file mode 100644
--- /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:
--- 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
--- 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 (Em
 ;:	<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
 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 O
 ;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 O
 "
 " 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 E
 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 O
 >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 O
 <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 O
 >`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 O
 "
 " 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 O
 "
 " 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 O
 "
 " 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 O
 "
 " 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 O
 "
 " 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 O
 "
 " 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 O
 "
 " 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
--- a/runtime/macros/matchit.txt
+++ b/runtime/macros/matchit.txt
@@ -4,7 +4,7 @@ For instructions on installing this file
 	: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"
--- 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
 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\ 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.Packet\ filter\ conf:pf
 SynMenu PQ.Palm\ resource\ compiler:pilrc
-SynMenu PQ.Packet\ filter\ conf:pf
+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):whitespac
 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
--- 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
--- 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
 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 SetS
 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 
 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
 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\ configur
 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\ (
 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
 
new file mode 100644
--- /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
--- 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"
--- 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 \
--- 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 \
--- 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
 
--- 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
--- 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 \
--- 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 @@ testclean:
 
 $(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 @@ if_perl.c : if_perl.xs typemap
 $(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 \
--- 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)
--- 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
 
--- 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
--- 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)/
 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 @@ bundle-language: bundle-dir
 ### (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 a
   ../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
   ../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
--- 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;
new file mode 100644
--- /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
--- a/src/message.c
+++ b/src/message.c
@@ -4167,8 +4167,8 @@ vim_snprintf(str, str_m, fmt, a1, a2, a3
 		    {
 			/* 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;
--- 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)
 	{
--- 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
--- a/src/proto.h
+++ b/src/proto.h
@@ -90,7 +90,7 @@ extern int _stricoll __ARGS((char *a, ch
 #  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 el
 # 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"
--- 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 : */
--- 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 : */
--- 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 : */
--- 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 : */
--- 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 : */
--- 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 : */
--- 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 : */
--- 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 : */
--- 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 : */
--- 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 : */
--- 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 : */
--- 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 : */
--- 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 : */
--- 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 : */
--- 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 : */
--- 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 : */
--- 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 : */
--- 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 : */
--- 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 : */
new file mode 100644
--- /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 : */
--- 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 : */
--- 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 : */
--- 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 : */
--- 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 : */
--- 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 : */
--- 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 : */
--- 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 : */
--- 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 : */
--- 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 : */
--- 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 : */
--- 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 : */
--- 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 : */
--- 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 : */
--- 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 : */
--- 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 : */
--- 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 : */
new file mode 100644
--- /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 : */
--- 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 : */
--- 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 : */
--- 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 : */
--- 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 : */
--- 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 : */
--- 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 : */
--- 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)
--- 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)
--- 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 "
--- a/src/vim.h
+++ b/src/vim.h
@@ -1723,7 +1723,7 @@ typedef int VimClipboard;	/* This is req
 # 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