changeset 825:6675076019ae v7.0d

updated for version 7.0d
author vimboss
date Mon, 10 Apr 2006 14:55:34 +0000
parents 8dd456c1e283
children 1cdd2661f34c
files Contents Makefile README.txt README_ami.txt README_amibin.txt README_amisrc.txt README_bindos.txt README_dos.txt README_extra.txt README_lang.txt README_mac.txt README_ole.txt README_os2.txt README_os390.txt README_src.txt README_srcdos.txt README_unix.txt README_vms.txt README_w32s.txt nsis/gvim.nsi runtime/doc/arabic.txt 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/eval.txt runtime/doc/farsi.txt runtime/doc/filetype.txt runtime/doc/fold.txt runtime/doc/getscript.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/hebrew.txt runtime/doc/help.txt runtime/doc/howto.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/intro.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_amiga.txt runtime/doc/os_beos.txt runtime/doc/os_dos.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/os_win32.txt runtime/doc/pattern.txt runtime/doc/pi_gzip.txt runtime/doc/pi_netrw.txt runtime/doc/pi_paren.txt runtime/doc/pi_spec.txt runtime/doc/pi_tar.txt runtime/doc/pi_zip.txt runtime/doc/print.txt runtime/doc/quickfix.txt runtime/doc/quickref.txt runtime/doc/quotes.txt runtime/doc/recover.txt runtime/doc/remote.txt runtime/doc/repeat.txt runtime/doc/rileft.txt runtime/doc/russian.txt runtime/doc/scroll.txt runtime/doc/sign.txt runtime/doc/spell.txt runtime/doc/sponsor.txt runtime/doc/sql.txt runtime/doc/starting.txt runtime/doc/syntax.txt runtime/doc/tabpage.txt runtime/doc/tagsrch.txt runtime/doc/term.txt runtime/doc/tips.txt runtime/doc/todo.txt runtime/doc/uganda.nsis.txt runtime/doc/uganda.txt runtime/doc/undo.txt runtime/doc/usr_01.txt runtime/doc/usr_02.txt runtime/doc/usr_03.txt runtime/doc/usr_04.txt runtime/doc/usr_05.txt runtime/doc/usr_06.txt runtime/doc/usr_07.txt runtime/doc/usr_08.txt runtime/doc/usr_09.txt runtime/doc/usr_10.txt runtime/doc/usr_11.txt runtime/doc/usr_12.txt runtime/doc/usr_20.txt runtime/doc/usr_21.txt runtime/doc/usr_22.txt runtime/doc/usr_23.txt runtime/doc/usr_24.txt runtime/doc/usr_25.txt runtime/doc/usr_26.txt runtime/doc/usr_27.txt runtime/doc/usr_28.txt runtime/doc/usr_29.txt runtime/doc/usr_30.txt runtime/doc/usr_31.txt runtime/doc/usr_32.txt runtime/doc/usr_40.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/various.txt runtime/doc/version4.txt runtime/doc/version5.txt runtime/doc/version6.txt runtime/doc/version7.txt runtime/doc/vi_diff.txt runtime/doc/vimball.txt runtime/doc/visual.txt runtime/doc/windows.txt runtime/doc/workshop.txt runtime/makemenu.vim runtime/synmenu.vim runtime/syntax/maxima.vim runtime/syntax/rst.vim src/GvimExt/GvimExt.reg src/Makefile src/buffer.c src/diff.c src/edit.c src/ex_cmds.c src/getchar.c src/gui.c src/option.c src/popupmnu.c src/proto/ex_cmds.pro src/proto/ex_getln.pro src/proto/gui_motif.pro src/proto/misc1.pro src/proto/option.pro src/proto/syntax.pro src/proto/undo.pro src/proto/window.pro src/spell.c src/undo.c src/version.h src/window.c
diffstat 175 files changed, 1168 insertions(+), 996 deletions(-) [+]
line wrap: on
line diff
--- a/Contents
+++ b/Contents
@@ -9,10 +9,10 @@ Vim		Vi IMproved.  A clone of the UNIX t
 		messages, shows current file name in window title, on-line
 		help, rectangular cut/paste, etc., etc., etc...
 
-		Version 7.0c.  Also runs under UNIX, MSDOS and other systems.
-		vim70crt.tgz  contains the documentation and syntax files.
-		vim70cbin.tgz contains the binaries.
-		vim70csrc.tgz contains the sources.
+		Version 7.0d.  Also runs under UNIX, MSDOS and other systems.
+		vim70drt.tgz  contains the documentation and syntax files.
+		vim70dbin.tgz contains the binaries.
+		vim70dsrc.tgz contains the sources.
 		Author: Bram Moolenaar et al.
 
 
--- a/Makefile
+++ b/Makefile
@@ -69,7 +69,7 @@ all install uninstall tools config confi
 #    Before creating an archive first delete all backup files, *.orig, etc.
 
 MAJOR = 7
-MINOR = 0c
+MINOR = 0d
 
 # Uncomment this line if the Win32s version is to be included.
 DOSBIN_S =  dosbin_s
@@ -159,6 +159,7 @@ DOSBIN_S =  dosbin_s
 # - The produced uninstalw32.exe and vimrun.exe are used.
 # Create the archives:
 # - Copy all the "*.exe" files to where this Makefile is.
+# - Copy all the "*.pdb" files to the dist directory.
 # - "make dosbin".
 # - Run make on Unix to update the ".mo" files.
 # - "make doslang".
--- a/README.txt
+++ b/README.txt
@@ -1,4 +1,4 @@
-README.txt for version 7.0c of Vim: Vi IMproved.
+README.txt for version 7.0d 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.0c of Vim: Vi IMproved.
+README_ami.txt for version 7.0d 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.0c of Vim: Vi IMproved.
+README_amibin.txt for version 7.0d of Vim: Vi IMproved.
 
 See "README.txt" for general information about Vim.
 See "README_ami.txt" for installation instructions for the Amiga.
--- a/README_amisrc.txt
+++ b/README_amisrc.txt
@@ -1,4 +1,4 @@
-README_amisrc.txt for version 7.0c of Vim: Vi IMproved.
+README_amisrc.txt for version 7.0d of Vim: Vi IMproved.
 
 See "README.txt" for general information about Vim.
 See "README_ami.txt" for installation instructions for the Amiga.
--- a/README_bindos.txt
+++ b/README_bindos.txt
@@ -1,4 +1,4 @@
-README_bindos.txt for version 7.0c of Vim: Vi IMproved.
+README_bindos.txt for version 7.0d of Vim: Vi IMproved.
 
 See "README.txt" for general information about Vim.
 See "README_dos.txt" for installation instructions for MS-DOS and MS-Windows.
--- a/README_dos.txt
+++ b/README_dos.txt
@@ -1,4 +1,4 @@
-README_dos.txt for version 7.0c of Vim: Vi IMproved.
+README_dos.txt for version 7.0d 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.0c of Vim: Vi IMproved.
+README_extra.txt for version 7.0d 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_lang.txt
+++ b/README_lang.txt
@@ -1,4 +1,4 @@
-README_lang.txt for version 7.0c of Vim: Vi IMproved.
+README_lang.txt for version 7.0d of Vim: Vi IMproved.
 
 This file contains files for non-English languages:
 - Translated messages.
--- a/README_mac.txt
+++ b/README_mac.txt
@@ -1,4 +1,4 @@
-README_mac.txt for version 7.0c of Vim: Vi IMproved.
+README_mac.txt for version 7.0d 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.0c of Vim: Vi IMproved.
+README_ole.txt for version 7.0d 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_os2.txt
+++ b/README_os2.txt
@@ -1,4 +1,4 @@
-README_os2.txt for version 7.0c of Vim: Vi IMproved.
+README_os2.txt for version 7.0d of Vim: Vi IMproved.
 
 This file explains the installation of Vim on OS/2 systems.
 See "README.txt" for general information about Vim.
--- a/README_os390.txt
+++ b/README_os390.txt
@@ -1,4 +1,4 @@
-README_os_390.txt for version 7.0c of Vim: Vi IMproved.
+README_os_390.txt for version 7.0d of Vim: Vi IMproved.
 
 Welcome to the OS/390 Unix port of VIM.
 
--- a/README_src.txt
+++ b/README_src.txt
@@ -1,4 +1,4 @@
-README_src.txt for version 7.0c of Vim: Vi IMproved.
+README_src.txt for version 7.0d of Vim: Vi IMproved.
 
 The source archive contains the files needed to compile Vim on Unix systems.
 It is packed for Unix systems (NL line separator).  It is also used for other
--- a/README_srcdos.txt
+++ b/README_srcdos.txt
@@ -1,4 +1,4 @@
-README_srcdos.txt for version 7.0c of Vim: Vi IMproved.
+README_srcdos.txt for version 7.0d of Vim: Vi IMproved.
 
 See "README.txt" for general information about Vim.
 See "README_dos.txt" for installation instructions for MS-DOS and MS-Windows.
--- a/README_unix.txt
+++ b/README_unix.txt
@@ -1,4 +1,4 @@
-README_unix.txt for version 7.0c of Vim: Vi IMproved.
+README_unix.txt for version 7.0d of Vim: Vi IMproved.
 
 This file explains the installation of Vim on Unix systems.
 See "README.txt" for general information about Vim.
--- a/README_vms.txt
+++ b/README_vms.txt
@@ -1,4 +1,4 @@
-README_vms.txt for version 7.0c of Vim: Vi IMproved.
+README_vms.txt for version 7.0d of Vim: Vi IMproved.
 
 This file explains the installation of Vim on VMS systems.
 See "README.txt" in the runtime archive for information about Vim.
--- a/README_w32s.txt
+++ b/README_w32s.txt
@@ -1,4 +1,4 @@
-README_w32s.txt for version 7.0c of Vim: Vi IMproved.
+README_w32s.txt for version 7.0d 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 0c
+!define VER_MINOR 0d
 
 # ----------- No configurable settings below this line -----------
 
--- a/runtime/doc/arabic.txt
+++ b/runtime/doc/arabic.txt
@@ -1,4 +1,4 @@
-*arabic.txt*	For Vim version 7.0c.  Last change: 2005 Mar 29
+*arabic.txt*	For Vim version 7.0d.  Last change: 2005 Mar 29
 
 
 		  VIM REFERENCE MANUAL	  by Nadim Shaikli
--- a/runtime/doc/autocmd.txt
+++ b/runtime/doc/autocmd.txt
@@ -1,4 +1,4 @@
-*autocmd.txt*   For Vim version 7.0c.  Last change: 2006 Apr 07
+*autocmd.txt*   For Vim version 7.0d.  Last change: 2006 Apr 07
 
 
 		  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.0c.  Last change: 2006 Apr 09
+*change.txt*    For Vim version 7.0d.  Last change: 2006 Apr 09
 
 
 		  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.0c.  Last change: 2006 Mar 16
+*cmdline.txt*   For Vim version 7.0d.  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.0c.  Last change: 2005 Dec 17
+*debug.txt*     For Vim version 7.0d.  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.0c.  Last change: 2005 Mar 29
+*debugger.txt*  For Vim version 7.0d.  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.0c.  Last change: 2006 Mar 09
+*develop.txt*   For Vim version 7.0d.  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.0c.  Last change: 2006 Apr 04
+*diff.txt*      For Vim version 7.0d.  Last change: 2006 Apr 04
 
 
 		  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.0c.  Last change: 2005 Sep 11
+*digraph.txt*   For Vim version 7.0d.  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.0c.  Last change: 2006 Apr 06
+*editing.txt*   For Vim version 7.0d.  Last change: 2006 Apr 06
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1,4 +1,4 @@
-*eval.txt*      For Vim version 7.0c.  Last change: 2006 Apr 09
+*eval.txt*      For Vim version 7.0d.  Last change: 2006 Apr 09
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
--- a/runtime/doc/farsi.txt
+++ b/runtime/doc/farsi.txt
@@ -1,4 +1,4 @@
-*farsi.txt*     For Vim version 7.0c.  Last change: 2005 Mar 29
+*farsi.txt*     For Vim version 7.0d.  Last change: 2005 Mar 29
 
 
 		  VIM REFERENCE MANUAL    by Mortaza Ghassab Shiran
--- a/runtime/doc/filetype.txt
+++ b/runtime/doc/filetype.txt
@@ -1,4 +1,4 @@
-*filetype.txt*  For Vim version 7.0c.  Last change: 2006 Mar 24
+*filetype.txt*  For Vim version 7.0d.  Last change: 2006 Mar 24
 
 
 		  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.0c.  Last change: 2006 Mar 29
+*fold.txt*      For Vim version 7.0d.  Last change: 2006 Mar 29
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
--- a/runtime/doc/getscript.txt
+++ b/runtime/doc/getscript.txt
@@ -1,4 +1,4 @@
-*getscript.txt*	For Vim version 7.0c.  Last change: 2006 Mar 24
+*getscript.txt*	For Vim version 7.0d.  Last change: 2006 Mar 24
 
 		Get the Latest VimScripts
 
--- a/runtime/doc/gui.txt
+++ b/runtime/doc/gui.txt
@@ -1,4 +1,4 @@
-*gui.txt*       For Vim version 7.0c.  Last change: 2006 Apr 02
+*gui.txt*       For Vim version 7.0d.  Last change: 2006 Apr 02
 
 
 		  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.0c.  Last change: 2005 Mar 29
+*gui_w16.txt*   For Vim version 7.0d.  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.0c.  Last change: 2005 Mar 29
+*gui_w32.txt*   For Vim version 7.0d.  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.0c.  Last change: 2005 Dec 06
+*gui_x11.txt*   For Vim version 7.0d.  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.0c.  Last change: 2006 Apr 02
+*hangulin.txt*  For Vim version 7.0d.  Last change: 2006 Apr 02
 
 
 		  VIM REFERENCE MANUAL    by Chi-Deok Hwang and Sung-Hyun Nam
--- a/runtime/doc/hebrew.txt
+++ b/runtime/doc/hebrew.txt
@@ -1,4 +1,4 @@
-*hebrew.txt*    For Vim version 7.0c.  Last change: 2003 May 11
+*hebrew.txt*    For Vim version 7.0d.  Last change: 2003 May 11
 
 
 	   VIM REFERENCE MANUAL    by Ron Aaron (and Avner Lottem)
--- a/runtime/doc/help.txt
+++ b/runtime/doc/help.txt
@@ -1,4 +1,4 @@
-*help.txt*	For Vim version 7.0c.  Last change: 2006 Apr 02
+*help.txt*	For Vim version 7.0d.  Last change: 2006 Apr 02
 
 			VIM - main help file
 									 k
--- a/runtime/doc/howto.txt
+++ b/runtime/doc/howto.txt
@@ -1,4 +1,4 @@
-*howto.txt*	For Vim version 7.0c.  Last change: 2006 Apr 02
+*howto.txt*	For Vim version 7.0d.  Last change: 2006 Apr 02
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
--- a/runtime/doc/if_cscop.txt
+++ b/runtime/doc/if_cscop.txt
@@ -1,4 +1,4 @@
-*if_cscop.txt*  For Vim version 7.0c.  Last change: 2005 Mar 29
+*if_cscop.txt*  For Vim version 7.0d.  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.0c.  Last change: 2006 Mar 06
+*if_mzsch.txt*  For Vim version 7.0d.  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.0c.  Last change: 2006 Mar 06
+*if_ole.txt*    For Vim version 7.0d.  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.0c.  Last change: 2006 Mar 06
+*if_perl.txt*   For Vim version 7.0d.  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.0c.  Last change: 2006 Jan 20
+*if_pyth.txt*   For Vim version 7.0d.  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.0c.  Last change: 2006 Mar 26
+*if_ruby.txt*   For Vim version 7.0d.  Last change: 2006 Mar 26
 
 
 		  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.0c.  Last change: 2005 Mar 29
+*if_sniff.txt*	For Vim version 7.0d.  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.0c.  Last change: 2006 Mar 06
+*if_tcl.txt*    For Vim version 7.0d.  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.0c.  Last change: 2006 Mar 29
+*indent.txt*    For Vim version 7.0d.  Last change: 2006 Mar 29
 
 
 		  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.0c.  Last change: 2006 Apr 06
+*index.txt*     For Vim version 7.0d.  Last change: 2006 Apr 06
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
--- a/runtime/doc/insert.txt
+++ b/runtime/doc/insert.txt
@@ -1,4 +1,4 @@
-*insert.txt*    For Vim version 7.0c.  Last change: 2006 Apr 06
+*insert.txt*    For Vim version 7.0d.  Last change: 2006 Apr 10
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -1105,18 +1105,22 @@ The menu is used when:
 The 'pumheight' option can be used to set a maximum height.  The default is to
 use all space available.
 
-There are two states:
-1. A complete match has been inserted.
-2. Only part of a match has been inserted.
+There are three states:
+1. A complete match has been inserted, e.g., after using CTRL-N or CTRL-P.
+2. A cursor key has been used to select another match.  The match was not
+   inserted then, only the entry in the popup menu is highlighted.
+3. Only part of a match has been inserted and characters were typed or the
+   backspace key was used.  The list of matches was then adjusted for what is
+   in front of the cursor.
 
 You normally start in the first state, with the first match being inserted.
 When "longest" is in 'completeopt' and there is more than one match you start
-in the second state.
+in the third state.
 
-If you select another match, e.g., with CTRL-N or CTRL-P, you go from the
-second to the first state.  This doesn't change the list of matches.
+If you select another match, e.g., with CTRL-N or CTRL-P, you go to the first
+state.  This doesn't change the list of matches.
 
-When you are back at the original text then you are in the second state.  To
+When you are back at the original text then you are in the third state.  To
 get there right away you can use a mapping that uses CTRL-P right after
 starting the completion: >
 	:imap <F7> <C-N><C-P>
@@ -1126,8 +1130,11 @@ In the first state these keys have a spe
 <BS> and CTRL-H   Delete one character, find the matches for the word before
 		  the cursor.  This reduces the list of matches, often to one
 		  entry, and switches to the second state.
+Any non-special character:
+		  Stop completion without changing the match and insert the
+		  typed character.
 
-In the second state these keys have a special meaning:
+In the second and third state these keys have a special meaning:
 <BS> and CTRL-H   Delete one character, find the matches for the shorter word
 		  before the cursor.  This may find more matches.
 CTRL-L		  Add one character from the current match, may reduce the
@@ -1135,7 +1142,7 @@ CTRL-L		  Add one character from the cur
 any printable, non-white character:
 		  Add this character and reduce the number of matches.
 
-In both states these can be used:
+In all three states these can be used:
 CTRL-Y		  Yes: Accept the currently selected match and stop completion.
 CTRL-E		  End completion, go back to what was typed.
 <PageUp>	  Select a match several entries back, but don't insert it.
@@ -1144,10 +1151,17 @@ CTRL-E		  End completion, go back to wha
 		  insert it.
 <Down>		  Select the next match, as if CTRL-N was used, but don't
 		  insert it.
-Any other character:
-		  Stop completion without changing the match and insert the
-		  typed character.  Note that typing a space or <Tab> will
-		  work in both states.
+space or <Tab>	  Stop completion without changing the match and insert the
+		  typed character.
+
+The behavior of the Enter key depends on the state you are in:
+first state:	  Use the text as it is and insert a line break.
+second state:	  Insert the currently selected match.
+third state:	  Use the text as it is and insert a line break.
+
+In other words: If you used the cursor keys to select another entry in the
+list of matches then the Enter key inserts that match.  If you typed something
+else then Enter inserts a line break.
 
 
 The colors of the menu can be changed with these highlight groups:
--- a/runtime/doc/intro.txt
+++ b/runtime/doc/intro.txt
@@ -1,4 +1,4 @@
-*intro.txt*     For Vim version 7.0c.  Last change: 2006 Apr 09
+*intro.txt*     For Vim version 7.0d.  Last change: 2006 Apr 09
 
 
 		  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.0c.  Last change: 2006 Mar 20
+*map.txt*       For Vim version 7.0d.  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.0c.  Last change: 2006 Apr 02
+*mbyte.txt*     For Vim version 7.0d.  Last change: 2006 Apr 02
 
 
 		  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.0c.  Last change: 2006 Mar 01
+*message.txt*   For Vim version 7.0d.  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.0c.  Last change: 2004 Feb 24
+*mlang.txt*     For Vim version 7.0d.  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.0c.  Last change: 2006 Jan 02
+*motion.txt*    For Vim version 7.0d.  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.0c.  Last change: 2006 Mar 09
+*netbeans.txt*  For Vim version 7.0d.  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.0c.  Last change: 2006 Apr 09
+*options.txt*	For Vim version 7.0d.  Last change: 2006 Apr 10
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -2079,7 +2079,7 @@ A jump table for the options with a shor
 	|hl-CursorLine|.  Useful to easily spot the cursor.  Will make screen
 	redrawing slower.
 	When Visual mode is active the highlighting isn't used to make it
-	easier to spot where the selected area.
+	easier to see the selected text.
 
 
 						*'debug'*
@@ -6361,6 +6361,8 @@ A jump table for the options with a shor
 			jumping to errors (":cc", ":cn", "cp", etc.).  It is
 			also used in all buffer related split commands, for
 			example ":sbuffer", ":sbnext", or ":sbrewind".
+	   usetab	Like "useopen", but also consider windows in other tab
+	   		pages.
 	   split	If included, split the current window before loading
 			a buffer.  Otherwise: do not split, use current window.
 			Supported in |quickfix| commands that display errors.
--- a/runtime/doc/os_390.txt
+++ b/runtime/doc/os_390.txt
@@ -1,4 +1,4 @@
-*os_390.txt*    For Vim version 7.0c.  Last change: 2005 Mar 29
+*os_390.txt*    For Vim version 7.0d.  Last change: 2005 Mar 29
 
 
 		  VIM REFERENCE MANUAL	  by Ralf Schandl
--- a/runtime/doc/os_amiga.txt
+++ b/runtime/doc/os_amiga.txt
@@ -1,4 +1,4 @@
-*os_amiga.txt*  For Vim version 7.0c.  Last change: 2005 Mar 29
+*os_amiga.txt*  For Vim version 7.0d.  Last change: 2005 Mar 29
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
--- a/runtime/doc/os_beos.txt
+++ b/runtime/doc/os_beos.txt
@@ -1,4 +1,4 @@
-*os_beos.txt*	For Vim version 7.0c.  Last change: 2005 Mar 29
+*os_beos.txt*	For Vim version 7.0d.  Last change: 2005 Mar 29
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
--- a/runtime/doc/os_dos.txt
+++ b/runtime/doc/os_dos.txt
@@ -1,4 +1,4 @@
-*os_dos.txt*    For Vim version 7.0c.  Last change: 2006 Mar 30
+*os_dos.txt*    For Vim version 7.0d.  Last change: 2006 Mar 30
 
 
 		  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.0c.  Last change: 2006 Mar 29
+*os_mac.txt*    For Vim version 7.0d.  Last change: 2006 Mar 29
 
 
 		  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.0c.  Last change: 2005 Mar 29
+*os_mint.txt*   For Vim version 7.0d.  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.0c.  Last change: 2005 Mar 29
+*os_msdos.txt*  For Vim version 7.0d.  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.0c.  Last change: 2005 Mar 29
+*os_os2.txt*    For Vim version 7.0d.  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.0c.  Last change: 2005 Mar 29
+*os_qnx.txt*    For Vim version 7.0d.  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.0c.  Last change: 2005 Mar 29
+*os_risc.txt*   For Vim version 7.0d.  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.0c.  Last change: 2005 Mar 29
+*os_unix.txt*   For Vim version 7.0d.  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.0c.  Last change: 2006 Mar 02
+*os_vms.txt*    For Vim version 7.0d.  Last change: 2006 Mar 02
 
 
 		  VIM REFERENCE MANUAL
--- a/runtime/doc/os_win32.txt
+++ b/runtime/doc/os_win32.txt
@@ -1,4 +1,4 @@
-*os_win32.txt*  For Vim version 7.0c.  Last change: 2006 Apr 02
+*os_win32.txt*  For Vim version 7.0d.  Last change: 2006 Apr 02
 
 
 		  VIM REFERENCE MANUAL    by George Reilly
--- a/runtime/doc/pattern.txt
+++ b/runtime/doc/pattern.txt
@@ -1,4 +1,4 @@
-*pattern.txt*   For Vim version 7.0c.  Last change: 2006 Apr 02
+*pattern.txt*   For Vim version 7.0d.  Last change: 2006 Apr 02
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
--- a/runtime/doc/pi_gzip.txt
+++ b/runtime/doc/pi_gzip.txt
@@ -1,4 +1,4 @@
-*pi_gzip.txt*   For Vim version 7.0c.  Last change: 2002 Oct 29
+*pi_gzip.txt*   For Vim version 7.0d.  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.0c.  Last change: Apr 06, 2006
+*pi_netrw.txt*  For Vim version 7.0d.  Last change: Apr 06, 2006
 
 		VIM REFERENCE MANUAL    by Charles E. Campbell, Jr.
 
--- a/runtime/doc/pi_paren.txt
+++ b/runtime/doc/pi_paren.txt
@@ -1,4 +1,4 @@
-*pi_paren.txt*  For Vim version 7.0c.  Last change: 2006 Apr 03
+*pi_paren.txt*  For Vim version 7.0d.  Last change: 2006 Apr 03
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
--- a/runtime/doc/pi_spec.txt
+++ b/runtime/doc/pi_spec.txt
@@ -1,4 +1,4 @@
-*pi_spec.txt*   For Vim version 7.0c.  Last change: 2005 Oct 03
+*pi_spec.txt*   For Vim version 7.0d.  Last change: 2005 Oct 03
 
 by Gustavo Niemeyer ~
 
--- a/runtime/doc/pi_tar.txt
+++ b/runtime/doc/pi_tar.txt
@@ -1,4 +1,4 @@
-*tar.txt*	For Vim version 7.0c.  Last change: 2006 Mar 24
+*tar.txt*	For Vim version 7.0d.  Last change: 2006 Mar 24
 
        	       	       +====================+
        	       	       | Tar File Interface |
--- a/runtime/doc/pi_zip.txt
+++ b/runtime/doc/pi_zip.txt
@@ -1,4 +1,4 @@
-*zip.txt*	For Vim version 7.0c.  Last change: 2006 Apr 03
+*zip.txt*	For Vim version 7.0d.  Last change: 2006 Apr 03
 
 				+====================+
 				| Zip File Interface |
--- a/runtime/doc/print.txt
+++ b/runtime/doc/print.txt
@@ -1,4 +1,4 @@
-*print.txt*     For Vim version 7.0c.  Last change: 2005 Apr 01
+*print.txt*     For Vim version 7.0d.  Last change: 2005 Apr 01
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
--- a/runtime/doc/quickfix.txt
+++ b/runtime/doc/quickfix.txt
@@ -1,4 +1,4 @@
-*quickfix.txt*  For Vim version 7.0c.  Last change: 2006 Mar 24
+*quickfix.txt*  For Vim version 7.0d.  Last change: 2006 Mar 24
 
 
 		  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.0c.  Last change: 2006 Mar 23
+*quickref.txt*  For Vim version 7.0d.  Last change: 2006 Mar 23
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
--- a/runtime/doc/quotes.txt
+++ b/runtime/doc/quotes.txt
@@ -1,4 +1,4 @@
-*quotes.txt*    For Vim version 7.0c.  Last change: 2005 Apr 04
+*quotes.txt*    For Vim version 7.0d.  Last change: 2005 Apr 04
 
 
 		  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.0c.  Last change: 2005 Dec 12
+*recover.txt*   For Vim version 7.0d.  Last change: 2005 Dec 12
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
--- a/runtime/doc/remote.txt
+++ b/runtime/doc/remote.txt
@@ -1,4 +1,4 @@
-*remote.txt*    For Vim version 7.0c.  Last change: 2006 Mar 11
+*remote.txt*    For Vim version 7.0d.  Last change: 2006 Mar 11
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
--- a/runtime/doc/repeat.txt
+++ b/runtime/doc/repeat.txt
@@ -1,4 +1,4 @@
-*repeat.txt*    For Vim version 7.0c.  Last change: 2006 Mar 21
+*repeat.txt*    For Vim version 7.0d.  Last change: 2006 Mar 21
 
 
 		  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.0c.  Last change: 2005 Apr 04
+*rileft.txt*    For Vim version 7.0d.  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.0c.  Last change: 2005 Apr 01
+*russian.txt*   For Vim version 7.0d.  Last change: 2005 Apr 01
 
 
 		  VIM REFERENCE MANUAL    by Vassily Ragosin
--- a/runtime/doc/scroll.txt
+++ b/runtime/doc/scroll.txt
@@ -1,4 +1,4 @@
-*scroll.txt*    For Vim version 7.0c.  Last change: 2005 Dec 16
+*scroll.txt*    For Vim version 7.0d.  Last change: 2005 Dec 16
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
--- a/runtime/doc/sign.txt
+++ b/runtime/doc/sign.txt
@@ -1,4 +1,4 @@
-*sign.txt*      For Vim version 7.0c.  Last change: 2005 Apr 04
+*sign.txt*      For Vim version 7.0d.  Last change: 2005 Apr 04
 
 
 		  VIM REFERENCE MANUAL    by Gordon Prieur
--- a/runtime/doc/spell.txt
+++ b/runtime/doc/spell.txt
@@ -1,4 +1,4 @@
-*spell.txt*	For Vim version 7.0c.  Last change: 2006 Apr 06
+*spell.txt*	For Vim version 7.0d.  Last change: 2006 Apr 06
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
--- a/runtime/doc/sponsor.txt
+++ b/runtime/doc/sponsor.txt
@@ -1,4 +1,4 @@
-*sponsor.txt*   For Vim version 7.0c.  Last change: 2006 Mar 29
+*sponsor.txt*   For Vim version 7.0d.  Last change: 2006 Mar 29
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
--- a/runtime/doc/sql.txt
+++ b/runtime/doc/sql.txt
@@ -1,4 +1,4 @@
-*sql.txt*   	For Vim version 7.0c.  Last change: Mon Apr 03 2006 10:34:00 PM
+*sql.txt*   	For Vim version 7.0d.  Last change: Mon Apr 03 2006 10:34:00 PM
 
 by David Fishburn
 
--- a/runtime/doc/starting.txt
+++ b/runtime/doc/starting.txt
@@ -1,4 +1,4 @@
-*starting.txt*  For Vim version 7.0c.  Last change: 2006 Apr 02
+*starting.txt*  For Vim version 7.0d.  Last change: 2006 Apr 02
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
--- a/runtime/doc/syntax.txt
+++ b/runtime/doc/syntax.txt
@@ -1,4 +1,4 @@
-*syntax.txt*	For Vim version 7.0c.  Last change: 2006 Apr 06
+*syntax.txt*	For Vim version 7.0d.  Last change: 2006 Apr 06
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
--- a/runtime/doc/tabpage.txt
+++ b/runtime/doc/tabpage.txt
@@ -1,4 +1,4 @@
-*tabpage.txt*   For Vim version 7.0c.  Last change: 2006 Apr 09
+*tabpage.txt*   For Vim version 7.0d.  Last change: 2006 Apr 09
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
--- a/runtime/doc/tagsrch.txt
+++ b/runtime/doc/tagsrch.txt
@@ -1,4 +1,4 @@
-*tagsrch.txt*   For Vim version 7.0c.  Last change: 2006 Feb 24
+*tagsrch.txt*   For Vim version 7.0d.  Last change: 2006 Feb 24
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
--- a/runtime/doc/term.txt
+++ b/runtime/doc/term.txt
@@ -1,4 +1,4 @@
-*term.txt*      For Vim version 7.0c.  Last change: 2006 Feb 14
+*term.txt*      For Vim version 7.0d.  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.0c.  Last change: 2006 Mar 01
+*tips.txt*      For Vim version 7.0d.  Last change: 2006 Mar 01
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 7.0c.  Last change: 2006 Apr 09
+*todo.txt*      For Vim version 7.0d.  Last change: 2006 Apr 10
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -30,11 +30,11 @@ be worked on, but only if you sponsor Vi
 							*known-bugs*
 -------------------- Known bugs and current work -----------------------
 
+":mkspell" still takes much too long in Hungarian dictionary.
+
 Handle postponed prefix with COMPOUNDPERMITFLAG or COMPOUNDFORBIDFLAG.
     WFP_COMPPERMIT and WFP_COMPFORBID
 
-":mkspell" still takes much too long in Hungarian dictionary.
-
 Use ~/tmp/hungarian*.txt to test dictionary with.
 
 New Hungarian dictionary. (Laci Nemeth)
@@ -47,9 +47,6 @@ New Hungarian dictionary. (Laci Nemeth)
     How is it supposed to work?
 -   implement using CHECKCOMPOUNDPATTERN: match words with sl_comppat[].
 
-Obey 'switchbuf' "useopen" value for windows in other tabs, e.g. for :sbuffer.
-Or use another value, e.g., "usetab"?
-
 Add more tests for all new functionality in Vim 7.  Especially new functions.
 
 Win32: Describe how to do debugging. (George Reilly)
deleted file mode 100644
--- a/runtime/doc/uganda.nsis.txt
+++ /dev/null
@@ -1,292 +0,0 @@
-    For Vim version 7.0c.  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.0c.  Last change: 2006 Mar 24
+*uganda.txt*    For Vim version 7.0d.  Last change: 2006 Mar 24
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
--- a/runtime/doc/undo.txt
+++ b/runtime/doc/undo.txt
@@ -1,4 +1,4 @@
-*undo.txt*      For Vim version 7.0c.  Last change: 2006 Mar 24
+*undo.txt*      For Vim version 7.0d.  Last change: 2006 Mar 24
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
--- a/runtime/doc/usr_01.txt
+++ b/runtime/doc/usr_01.txt
@@ -1,4 +1,4 @@
-*usr_01.txt*	For Vim version 7.0c.  Last change: 2005 Apr 01
+*usr_01.txt*	For Vim version 7.0d.  Last change: 2005 Apr 01
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
--- a/runtime/doc/usr_02.txt
+++ b/runtime/doc/usr_02.txt
@@ -1,4 +1,4 @@
-*usr_02.txt*	For Vim version 7.0c.  Last change: 2006 Mar 24
+*usr_02.txt*	For Vim version 7.0d.  Last change: 2006 Mar 24
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
--- a/runtime/doc/usr_03.txt
+++ b/runtime/doc/usr_03.txt
@@ -1,4 +1,4 @@
-*usr_03.txt*	For Vim version 7.0c.  Last change: 2005 Apr 22
+*usr_03.txt*	For Vim version 7.0d.  Last change: 2005 Apr 22
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
--- a/runtime/doc/usr_04.txt
+++ b/runtime/doc/usr_04.txt
@@ -1,4 +1,4 @@
-*usr_04.txt*	For Vim version 7.0c.  Last change: 2005 Apr 01
+*usr_04.txt*	For Vim version 7.0d.  Last change: 2005 Apr 01
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
--- a/runtime/doc/usr_05.txt
+++ b/runtime/doc/usr_05.txt
@@ -1,4 +1,4 @@
-*usr_05.txt*	For Vim version 7.0c.  Last change: 2006 Apr 02
+*usr_05.txt*	For Vim version 7.0d.  Last change: 2006 Apr 02
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
--- a/runtime/doc/usr_06.txt
+++ b/runtime/doc/usr_06.txt
@@ -1,4 +1,4 @@
-*usr_06.txt*	For Vim version 7.0c.  Last change: 2006 Feb 16
+*usr_06.txt*	For Vim version 7.0d.  Last change: 2006 Feb 16
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
--- a/runtime/doc/usr_07.txt
+++ b/runtime/doc/usr_07.txt
@@ -1,4 +1,4 @@
-*usr_07.txt*	For Vim version 7.0c.  Last change: 2005 Apr 01
+*usr_07.txt*	For Vim version 7.0d.  Last change: 2005 Apr 01
 
 		     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.0c.  Last change: 2006 Feb 25
+*usr_08.txt*	For Vim version 7.0d.  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.0c.  Last change: 2005 Apr 01
+*usr_09.txt*	For Vim version 7.0d.  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.0c.  Last change: 2005 Apr 01
+*usr_10.txt*	For Vim version 7.0d.  Last change: 2005 Apr 01
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
--- a/runtime/doc/usr_11.txt
+++ b/runtime/doc/usr_11.txt
@@ -1,4 +1,4 @@
-*usr_11.txt*	For Vim version 7.0c.  Last change: 2005 Jun 09
+*usr_11.txt*	For Vim version 7.0d.  Last change: 2005 Jun 09
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
--- a/runtime/doc/usr_12.txt
+++ b/runtime/doc/usr_12.txt
@@ -1,4 +1,4 @@
-*usr_12.txt*	For Vim version 7.0c.  Last change: 2006 Feb 26
+*usr_12.txt*	For Vim version 7.0d.  Last change: 2006 Feb 26
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
--- a/runtime/doc/usr_20.txt
+++ b/runtime/doc/usr_20.txt
@@ -1,4 +1,4 @@
-*usr_20.txt*	For Vim version 7.0c.  Last change: 2005 Apr 01
+*usr_20.txt*	For Vim version 7.0d.  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.0c.  Last change: 2005 Apr 01
+*usr_21.txt*	For Vim version 7.0d.  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.0c.  Last change: 2005 Apr 10
+*usr_22.txt*	For Vim version 7.0d.  Last change: 2005 Apr 10
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
--- a/runtime/doc/usr_23.txt
+++ b/runtime/doc/usr_23.txt
@@ -1,4 +1,4 @@
-*usr_23.txt*	For Vim version 7.0c.  Last change: 2005 Apr 01
+*usr_23.txt*	For Vim version 7.0d.  Last change: 2005 Apr 01
 
 		     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.0c.  Last change: 2006 Apr 02
+*usr_24.txt*	For Vim version 7.0d.  Last change: 2006 Apr 02
 
 		     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.0c.  Last change: 2005 Apr 01
+*usr_25.txt*	For Vim version 7.0d.  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.0c.  Last change: 2002 Oct 29
+*usr_26.txt*	For Vim version 7.0d.  Last change: 2002 Oct 29
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
--- a/runtime/doc/usr_27.txt
+++ b/runtime/doc/usr_27.txt
@@ -1,4 +1,4 @@
-*usr_27.txt*	For Vim version 7.0c.  Last change: 2005 Feb 08
+*usr_27.txt*	For Vim version 7.0d.  Last change: 2005 Feb 08
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
--- a/runtime/doc/usr_28.txt
+++ b/runtime/doc/usr_28.txt
@@ -1,4 +1,4 @@
-*usr_28.txt*	For Vim version 7.0c.  Last change: 2005 Apr 01
+*usr_28.txt*	For Vim version 7.0d.  Last change: 2005 Apr 01
 
 		     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.0c.  Last change: 2004 Feb 12
+*usr_29.txt*	For Vim version 7.0d.  Last change: 2004 Feb 12
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
--- a/runtime/doc/usr_30.txt
+++ b/runtime/doc/usr_30.txt
@@ -1,4 +1,4 @@
-*usr_30.txt*	For Vim version 7.0c.  Last change: 2005 Apr 01
+*usr_30.txt*	For Vim version 7.0d.  Last change: 2005 Apr 01
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
--- a/runtime/doc/usr_31.txt
+++ b/runtime/doc/usr_31.txt
@@ -1,4 +1,4 @@
-*usr_31.txt*	For Vim version 7.0c.  Last change: 2006 Apr 02
+*usr_31.txt*	For Vim version 7.0d.  Last change: 2006 Apr 02
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
--- a/runtime/doc/usr_32.txt
+++ b/runtime/doc/usr_32.txt
@@ -1,4 +1,4 @@
-*usr_32.txt*	For Vim version 7.0c.  Last change: 2006 Mar 24
+*usr_32.txt*	For Vim version 7.0d.  Last change: 2006 Mar 24
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
--- a/runtime/doc/usr_40.txt
+++ b/runtime/doc/usr_40.txt
@@ -1,4 +1,4 @@
-*usr_40.txt*	For Vim version 7.0c.  Last change: 2006 Mar 24
+*usr_40.txt*	For Vim version 7.0d.  Last change: 2006 Mar 24
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
--- a/runtime/doc/usr_41.txt
+++ b/runtime/doc/usr_41.txt
@@ -1,4 +1,4 @@
-*usr_41.txt*	For Vim version 7.0c.  Last change: 2006 Apr 09
+*usr_41.txt*	For Vim version 7.0d.  Last change: 2006 Apr 09
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
--- a/runtime/doc/usr_42.txt
+++ b/runtime/doc/usr_42.txt
@@ -1,4 +1,4 @@
-*usr_42.txt*	For Vim version 7.0c.  Last change: 2005 Apr 01
+*usr_42.txt*	For Vim version 7.0d.  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.0c.  Last change: 2002 Jul 14
+*usr_43.txt*	For Vim version 7.0d.  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.0c.  Last change: 2006 Mar 27
+*usr_44.txt*	For Vim version 7.0d.  Last change: 2006 Mar 27
 
 		     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.0c.  Last change: 2004 Jun 08
+*usr_45.txt*	For Vim version 7.0d.  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.0c.  Last change: 2004 Mar 21
+*usr_90.txt*	For Vim version 7.0d.  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.0c.  Last change: 2006 Apr 02
+*usr_toc.txt*	For Vim version 7.0d.  Last change: 2006 Apr 02
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
--- a/runtime/doc/various.txt
+++ b/runtime/doc/various.txt
@@ -1,4 +1,4 @@
-*various.txt*   For Vim version 7.0c.  Last change: 2006 Mar 25
+*various.txt*   For Vim version 7.0d.  Last change: 2006 Mar 25
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
--- a/runtime/doc/version4.txt
+++ b/runtime/doc/version4.txt
@@ -1,4 +1,4 @@
-*version4.txt*  For Vim version 7.0c.  Last change: 2004 Mar 12
+*version4.txt*  For Vim version 7.0d.  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.0c.  Last change: 2005 Apr 01
+*version5.txt*  For Vim version 7.0d.  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.0c.  Last change: 2005 Oct 17
+*version6.txt*  For Vim version 7.0d.  Last change: 2005 Oct 17
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
--- a/runtime/doc/version7.txt
+++ b/runtime/doc/version7.txt
@@ -1,4 +1,4 @@
-*version7.txt*  For Vim version 7.0c.  Last change: 2006 Apr 09
+*version7.txt*  For Vim version 7.0d.  Last change: 2006 Apr 10
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -924,6 +924,7 @@ mailaliases syntax file. (Nikolai Weibul
 mailcap ftplugin file. (Nikolai Weibull)
 manconf syntax and ftplugin file. (Nikolai Weibull)
 matlab ftplugin file. (Jake Wasserman)
+Maxima syntax file. (Robert Dodier)
 MGL syntax file. (Gero Kuhlmann)
 modconf ftplugin file. (Nikolai Weibull)
 mplayer config ftplugin file. (Nikolai Weibull)
@@ -2240,7 +2241,7 @@ apparently doesn't work everywhere.  Use
 
 Typing BS at the "z=" prompt removed the prompt.
 
---- fixes since Vim 7.0c ---
+--- fixes and changes since Vim 7.0c ---
 
 When jumping to another tab page the Vim window size was always set, even when
 nothing in the layout changed.
@@ -2414,4 +2415,9 @@ glob('/dir/\$ABC/*') didn't work.
 When using several tab pages and changing 'cmdheight' the display could become
 messed up.  Now store the value of 'cmdheight' separately for each tab page.
 
+The user of the Enter key while the popup menu is visible was still confusing.
+Now use Enter to select the match after using a cursor key.
+
+Added "usetab" to 'switchbuf'.
+
  vim:tw=78:ts=8:ft=help:norl:
--- a/runtime/doc/vi_diff.txt
+++ b/runtime/doc/vi_diff.txt
@@ -1,4 +1,4 @@
-*vi_diff.txt*   For Vim version 7.0c.  Last change: 2006 Jan 02
+*vi_diff.txt*   For Vim version 7.0d.  Last change: 2006 Jan 02
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
--- a/runtime/doc/vimball.txt
+++ b/runtime/doc/vimball.txt
@@ -1,4 +1,4 @@
-*vimball.txt*	For Vim version 7.0c.  Last change: 2006 Apr 01
+*vimball.txt*	For Vim version 7.0d.  Last change: 2006 Apr 01
 
 	Vimball Archiver
 
--- a/runtime/doc/visual.txt
+++ b/runtime/doc/visual.txt
@@ -1,4 +1,4 @@
-*visual.txt*    For Vim version 7.0c.  Last change: 2006 Mar 20
+*visual.txt*    For Vim version 7.0d.  Last change: 2006 Mar 20
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
--- a/runtime/doc/windows.txt
+++ b/runtime/doc/windows.txt
@@ -1,4 +1,4 @@
-*windows.txt*   For Vim version 7.0c.  Last change: 2006 Apr 06
+*windows.txt*   For Vim version 7.0d.  Last change: 2006 Apr 06
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
--- a/runtime/doc/workshop.txt
+++ b/runtime/doc/workshop.txt
@@ -1,4 +1,4 @@
-*workshop.txt*  For Vim version 7.0c.  Last change: 2005 Mar 29
+*workshop.txt*  For Vim version 7.0d.  Last change: 2005 Mar 29
 
 
 		  VIM REFERENCE MANUAL    by Gordon Prieur
--- 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 Apr 07
+" Last Change:	2006 Apr 10
 
 " This is used by "make menu" in the src directory.
 edit <sfile>:p:h/synmenu.vim
@@ -278,6 +278,7 @@ SynMenu L-Ma.Maple\ V:maple
 SynMenu L-Ma.Mason:mason
 SynMenu L-Ma.Mathematica:mma
 SynMenu L-Ma.Matlab:matlab
+SynMenu L-Ma.Maxima:maxima
 
 SynMenu Me-NO.MEL\ (for\ Maya):mel
 SynMenu Me-NO.Metafont:mf
--- a/runtime/synmenu.vim
+++ b/runtime/synmenu.vim
@@ -253,6 +253,7 @@ an 50.60.440 &Syntax.L-Ma.Maple\ V :cal 
 an 50.60.450 &Syntax.L-Ma.Mason :cal SetSyn("mason")<CR>
 an 50.60.460 &Syntax.L-Ma.Mathematica :cal SetSyn("mma")<CR>
 an 50.60.470 &Syntax.L-Ma.Matlab :cal SetSyn("matlab")<CR>
+an 50.60.480 &Syntax.L-Ma.Maxima :cal SetSyn("maxima")<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>
new file mode 100644
--- /dev/null
+++ b/runtime/syntax/maxima.vim
@@ -0,0 +1,274 @@
+" Vim syntax file
+" Language:	Maxima (symbolic algebra program)
+" Maintainer:	Robert Dodier (robert.dodier@gmail.com)
+" Last Change:	April 6, 2006
+" Version:	1
+" Adapted mostly from xmath.vim
+" Number formats adapted from r.vim
+"
+" For version 5.x: Clear all syntax items
+" For version 6.x: Quit when a syntax file was already loaded
+if version < 600
+  syntax clear
+elseif exists("b:current_syntax")
+  finish
+endif
+
+syn sync lines=1000
+
+" parenthesis sanity checker
+syn region maximaZone	matchgroup=Delimiter start="(" matchgroup=Delimiter end=")" transparent contains=ALLBUT,maximaError,maximaBraceError,maximaCurlyError
+syn region maximaZone	matchgroup=Delimiter start="{" matchgroup=Delimiter end="}" transparent contains=ALLBUT,maximaError,maximaBraceError,maximaParenError
+syn region maximaZone	matchgroup=Delimiter start="\[" matchgroup=Delimiter end="]" transparent contains=ALLBUT,maximaError,maximaCurlyError,maximaParenError
+syn match  maximaError	"[)\]}]"
+syn match  maximaBraceError	"[)}]"	contained
+syn match  maximaCurlyError	"[)\]]"	contained
+syn match  maximaParenError	"[\]}]"	contained
+syn match  maximaComma	"[\[\](),;]"
+syn match  maximaComma	"\.\.\.$"
+
+" A bunch of useful maxima keywords
+syn keyword maximaConditional	if then else elseif and or not
+syn keyword maximaRepeat	do for thru
+
+" ---------------------- BEGIN LIST OF ALL FUNCTIONS (EXCEPT KEYWORDS)  ----------------------
+syn keyword maximaFunc abasep  abs  absboxchar  absint  acos  acosh  acot  acoth  acsc  
+syn keyword maximaFunc acsch  activate  activecontexts  addcol  additive  addrow  adim  
+syn keyword maximaFunc adjoint  af  aform  airy  algebraic  algepsilon  algexact  algsys  
+syn keyword maximaFunc alg_type  alias  aliases  allbut  all_dotsimp_denoms  allroots  allsym  
+syn keyword maximaFunc alphabetic  antid  antidiff  antisymmetric  append  appendfile  
+syn keyword maximaFunc apply  apply1  apply2  applyb1  apropos  args  array  arrayapply  
+syn keyword maximaFunc arrayinfo  arraymake  arrays  asec  asech  asin  asinh  askexp  
+syn keyword maximaFunc askinteger  asksign  assoc  assoc_legendre_p  assoc_legendre_q  assume  
+syn keyword maximaFunc assume_pos  assume_pos_pred  assumescalar  asymbol  asympa  at  atan  
+syn keyword maximaFunc atan2  atanh  atensimp  atom  atomgrad  atrig1  atvalue  augcoefmatrix  
+syn keyword maximaFunc av  backsubst  backtrace  bashindices  batch  batchload  bc2  bdvac  
+syn keyword maximaFunc berlefact  bern  bernpoly  bessel  besselexpand  bessel_i  bessel_j  
+syn keyword maximaFunc bessel_k  bessel_y  beta  bezout  bffac  bfhzeta  bfloat  bfloatp  
+syn keyword maximaFunc bfpsi  bfpsi0  bftorat  bftrunc  bfzeta  bimetric  binomial  block  
+syn keyword maximaFunc bothcoef  box  boxchar  break  breakup  bug_report  build_info  buildq  
+syn keyword maximaFunc burn  cabs  canform  canten  carg  cartan  catch  cauchysum  cbffac  
+syn keyword maximaFunc cdisplay  cf  cfdisrep  cfexpand  cflength  cframe_flag  cgeodesic  
+syn keyword maximaFunc changename  changevar  charpoly  checkdiv  check_overlaps  christof  
+syn keyword maximaFunc clear_rules  closefile  closeps  cmetric  cnonmet_flag  coeff  
+syn keyword maximaFunc coefmatrix  cograd  col  collapse  columnvector  combine  commutative  
+syn keyword maximaFunc comp2pui  compfile  compile  compile_file  components  concan  concat  
+syn keyword maximaFunc conj  conjugate  conmetderiv  cons  constant  constantp  cont2part  
+syn keyword maximaFunc content  context  contexts  contortion  contract  contragrad  coord  
+syn keyword maximaFunc copylist  copymatrix  cos  cosh  cosnpiflag  cot  coth  covdiff  
+syn keyword maximaFunc covect  create_list  csc  csch  csetup  ctaylor  ctaypov  ctaypt  
+syn keyword maximaFunc ctayswitch  ctayvar  ct_coords  ct_coordsys  ctorsion_flag  ctransform  
+syn keyword maximaFunc ctrgsimp  current_let_rule_package  dblint  deactivate  debugmode  
+syn keyword maximaFunc declare  declare_translated  declare_weight  decsym  
+syn keyword maximaFunc default_let_rule_package  defcon  define  define_variable  defint  
+syn keyword maximaFunc defmatch  defrule  deftaylor  del  delete  deleten  delta  demo  
+syn keyword maximaFunc demoivre  denom  dependencies  depends  derivabbrev  derivdegree  
+syn keyword maximaFunc derivlist  derivsubst  describe  desolve  determinant  detout  
+syn keyword maximaFunc diagmatrix  diagmatrixp  diagmetric  diff  dim  dimension  direct  
+syn keyword maximaFunc disolate  disp  dispcon  dispflag  dispform  dispfun  display  
+syn keyword maximaFunc display2d  display_format_internal  disprule  dispterms  distrib  
+syn keyword maximaFunc divide  divsum  doallmxops  domain  domxexpt  domxmxops  domxnctimes  
+syn keyword maximaFunc dontfactor  doscmxops  doscmxplus  dot0nscsimp  dot0simp  dot1simp  
+syn keyword maximaFunc dotassoc  dotconstrules  dotdistrib  dotexptsimp  dotident  dotscrules  
+syn keyword maximaFunc dotsimp  dpart  dscalar  %e  echelon  %edispflag  eigenvalues  
+syn keyword maximaFunc eigenvectors  eighth  einstein  eivals  eivects  ele2comp  
+syn keyword maximaFunc ele2polynome  ele2pui  elem  eliminate  elliptic_e  elliptic_ec  
+syn keyword maximaFunc elliptic_eu  elliptic_f  elliptic_kc  elliptic_pi  ematrix  %emode  
+syn keyword maximaFunc endcons  entermatrix  entertensor  entier  %enumer  equal  equalp  erf  
+syn keyword maximaFunc erfflag  errcatch  error  errormsg  error_size  error_syms  
+syn keyword maximaFunc %e_to_numlog  euler  ev  eval  evenp  every  evflag  evfun  evundiff  
+syn keyword maximaFunc example  exp  expand  expandwrt  expandwrt_denom  expandwrt_factored  
+syn keyword maximaFunc explose  expon  exponentialize  expop  express  expt  exptdispflag  
+syn keyword maximaFunc exptisolate  exptsubst  extdiff  extract_linear_equations  ezgcd  
+syn keyword maximaFunc facexpand  factcomb  factlim  factor  factorflag  factorial  factorout  
+syn keyword maximaFunc factorsum  facts  false  fast_central_elements  fast_linsolve  
+syn keyword maximaFunc fasttimes  fb  feature  featurep  features  fft  fib  fibtophi  fifth  
+syn keyword maximaFunc filename_merge  file_search  file_search_demo  file_search_lisp  
+syn keyword maximaFunc file_search_maxima  file_type  fillarray  findde  first  fix  flatten  
+syn keyword maximaFunc flipflag  float  float2bf  floatnump  flush  flush1deriv  flushd  
+syn keyword maximaFunc flushnd  forget  fortindent  fortran  fortspaces  fourcos  fourexpand  
+syn keyword maximaFunc fourier  fourint  fourintcos  fourintsin  foursimp  foursin  fourth  
+syn keyword maximaFunc fpprec  fpprintprec  frame_bracket  freeof  fullmap  fullmapl  
+syn keyword maximaFunc fullratsimp  fullratsubst  funcsolve  functions  fundef  funmake  funp  
+syn keyword maximaFunc gamma  %gamma  gammalim  gauss  gcd  gcdex  gcfactor  gdet  genfact  
+syn keyword maximaFunc genindex  genmatrix  gensumnum  get  getchar  gfactor  gfactorsum  
+syn keyword maximaFunc globalsolve  go  gradef  gradefs  gramschmidt  grind  grobner_basis  
+syn keyword maximaFunc gschmit  hach  halfangles  hermite  hipow  hodge  horner  i0  i1  
+syn keyword maximaFunc *read-base*  ic1  ic2  icc1  icc2  ic_convert  ichr1  ichr2  icounter  
+syn keyword maximaFunc icurvature  ident  idiff  idim  idummy  idummyx  ieqn  ieqnprint  ifb  
+syn keyword maximaFunc ifc1  ifc2  ifg  ifgi  ifr  iframe_bracket_form  iframes  ifri  ift  
+syn keyword maximaFunc igeodesic_coords  igeowedge_flag  ikt1  ikt2  ilt  imagpart  imetric  
+syn keyword maximaFunc inchar  indexed_tensor  indices  inf  %inf  infeval  infinity  infix  
+syn keyword maximaFunc inflag  infolists  init_atensor  init_ctensor  inm  inmc1  inmc2  
+syn keyword maximaFunc innerproduct  in_netmath  inpart  inprod  inrt  integerp  integrate  
+syn keyword maximaFunc integrate_use_rootsof  integration_constant_counter  interpolate  
+syn keyword maximaFunc intfaclim  intopois  intosum  intpolabs  intpolerror  intpolrel  
+syn keyword maximaFunc invariant1  invariant2  inverse_jacobi_cd  inverse_jacobi_cn  
+syn keyword maximaFunc inverse_jacobi_cs  inverse_jacobi_dc  inverse_jacobi_dn  
+syn keyword maximaFunc inverse_jacobi_ds  inverse_jacobi_nc  inverse_jacobi_nd  
+syn keyword maximaFunc inverse_jacobi_ns  inverse_jacobi_sc  inverse_jacobi_sd  
+syn keyword maximaFunc inverse_jacobi_sn  invert  is  ishow  isolate  isolate_wrt_times  
+syn keyword maximaFunc isqrt  itr  j0  j1  jacobi  jacobi_cd  jacobi_cn  jacobi_cs  jacobi_dc  
+syn keyword maximaFunc jacobi_dn  jacobi_ds  jacobi_nc  jacobi_nd  jacobi_ns  jacobi_sc  
+syn keyword maximaFunc jacobi_sd  jacobi_sn  jn  kdels  kdelta  keepfloat  kill  killcontext  
+syn keyword maximaFunc kinvariant  kostka  kt  labels  lambda  laplace  lassociative  last  
+syn keyword maximaFunc lc2kdt  lc_l  lcm  lc_u  ldefint  ldisp  ldisplay  leinstein  length  
+syn keyword maximaFunc let  letrat  let_rule_packages  letrules  letsimp  levi_civita  lfg  
+syn keyword maximaFunc lfreeof  lg  lgtreillis  lhospitallim  lhs  liediff  limit  limsubst  
+syn keyword maximaFunc linear  linechar  linel  linenum  linsolve  linsolve_params  
+syn keyword maximaFunc linsolvewarn  listarith  listarray  listconstvars  listdummyvars  
+syn keyword maximaFunc list_nc_monomials  listoftens  listofvars  listp  lmxchar  load  
+syn keyword maximaFunc loadfile  loadprint  local  log  logabs  logarc  logconcoeffp  
+syn keyword maximaFunc logcontract  logexpand  lognegint  lognumer  logsimp  lopow  
+syn keyword maximaFunc lorentz_gauge  lpart  lratsubst  lriem  lriemann  lsum  ltreillis  
+syn keyword maximaFunc m1pbranch  macroexpansion  mainvar  make_array  makebox  makefact  
+syn keyword maximaFunc makegamma  makelist  make_random_state  make_transform  map  mapatom  
+syn keyword maximaFunc maperror  maplist  matchdeclare  matchfix  matrix  matrix_element_add  
+syn keyword maximaFunc matrix_element_mult  matrix_element_transpose  matrixmap  matrixp  
+syn keyword maximaFunc mattrace  max  maxapplydepth  maxapplyheight  maxnegex  maxposex  
+syn keyword maximaFunc maxtayorder  member  min  %minf  minfactorial  minor  mod  
+syn keyword maximaFunc mode_check_errorp  mode_checkp  mode_check_warnp  mode_declare  
+syn keyword maximaFunc mode_identity  modulus  mon2schur  mono  monomial_dimensions  
+syn keyword maximaFunc multi_elem  multinomial  multi_orbit  multiplicative  multiplicities  
+syn keyword maximaFunc multi_pui  multsym  multthru  myoptions  nc_degree  ncexpt  ncharpoly  
+syn keyword maximaFunc negdistrib  negsumdispflag  newcontext  newdet  newton  niceindices  
+syn keyword maximaFunc niceindicespref  ninth  nm  nmc  noeval  nolabels  nonmetricity  
+syn keyword maximaFunc nonscalar  nonscalarp  noun  noundisp  nounify  nouns  np  npi  
+syn keyword maximaFunc nptetrad  nroots  nterms  ntermst  nthroot  ntrig  num  numberp  numer  
+syn keyword maximaFunc numerval  numfactor  nusum  obase  oddp  ode2  op  openplot_curves  
+syn keyword maximaFunc operatorp  opproperties  opsubst  optimize  optimprefix  optionset
+syn keyword maximaFunc orbit  ordergreat  ordergreatp  orderless  orderlessp  outative  
+syn keyword maximaFunc outchar  outermap  outofpois  packagefile  pade  part  part2cont  
+syn keyword maximaFunc partfrac  partition  partpol  partswitch  permanent  permut  petrov  
+syn keyword maximaFunc pfeformat  pi  pickapart  piece  playback  plog  plot2d  plot2d_ps  
+syn keyword maximaFunc plot3d  plot_options  poisdiff  poisexpt  poisint  poislim  poismap  
+syn keyword maximaFunc poisplus  poissimp  poisson  poissubst  poistimes  poistrim  polarform  
+syn keyword maximaFunc polartorect  polynome2ele  posfun  potential  powerdisp  powers  
+syn keyword maximaFunc powerseries  pred  prederror  primep  print  printpois  printprops  
+syn keyword maximaFunc prodhack  prodrac  product  programmode  prompt  properties  props  
+syn keyword maximaFunc propvars  pscom  psdraw_curve  psexpand  psi  pui  pui2comp  pui2ele  
+syn keyword maximaFunc pui2polynome  pui_direct  puireduc  put  qput  qq  quad_qag  quad_qagi  
+syn keyword maximaFunc quad_qags  quad_qawc  quad_qawf  quad_qawo  quad_qaws  quanc8  quit  
+syn keyword maximaFunc qunit  quotient  radcan  radexpand  radsubstflag  random  rank  
+syn keyword maximaFunc rassociative  rat  ratalgdenom  ratchristof  ratcoef  ratdenom  
+syn keyword maximaFunc ratdenomdivide  ratdiff  ratdisrep  rateinstein  ratepsilon  ratexpand  
+syn keyword maximaFunc ratfac  ratmx  ratnumer  ratnump  ratp  ratprint  ratriemann  ratsimp  
+syn keyword maximaFunc ratsimpexpons  ratsubst  ratvars  ratweight  ratweights  ratweyl  
+syn keyword maximaFunc ratwtlvl  read  readonly  realonly  realpart  realroots  rearray  
+syn keyword maximaFunc rectform  recttopolar  rediff  refcheck  rem  remainder  remarray  
+syn keyword maximaFunc rembox  remcomps  remcon  remcoord  remfun  remfunction  remlet  
+syn keyword maximaFunc remove  remrule  remsym  remvalue  rename  reset  residue  resolvante  
+syn keyword maximaFunc resolvante_alternee1  resolvante_bipartite  resolvante_diedrale  
+syn keyword maximaFunc resolvante_klein  resolvante_klein3  resolvante_produit_sym  
+syn keyword maximaFunc resolvante_unitaire  resolvante_vierer  rest  resultant  return  
+syn keyword maximaFunc reveal  reverse  revert  revert2  rhs  ric  ricci  riem  riemann  
+syn keyword maximaFunc rinvariant  risch  rmxchar  rncombine  %rnum_list  romberg  rombergabs  
+syn keyword maximaFunc rombergit  rombergmin  rombergtol  room  rootsconmode  rootscontract  
+syn keyword maximaFunc rootsepsilon  round  row  run_testsuite  save  savedef  savefactors  
+syn keyword maximaFunc scalarmatrixp  scalarp  scalefactors  scanmap  schur2comp  sconcat  
+syn keyword maximaFunc scsimp  scurvature  sec  sech  second  setcheck  setcheckbreak  
+syn keyword maximaFunc setelmx  set_plot_option  set_random_state  setup_autoload  
+syn keyword maximaFunc set_up_dot_simplifications  setval  seventh  sf  show  showcomps  
+syn keyword maximaFunc showratvars  showtime  sign  signum  similaritytransform  simpsum  
+syn keyword maximaFunc simtran  sin  sinh  sinnpiflag  sixth  solve  solvedecomposes  
+syn keyword maximaFunc solveexplicit  solvefactors  solve_inconsistent_error  solvenullwarn  
+syn keyword maximaFunc solveradcan  solvetrigwarn  somrac  sort  sparse  spherical_bessel_j  
+syn keyword maximaFunc spherical_bessel_y  spherical_hankel1  spherical_hankel2  
+syn keyword maximaFunc spherical_harmonic  splice  sqfr  sqrt  sqrtdispflag  sstatus  
+syn keyword maximaFunc stardisp  status  string  stringout  sublis  sublis_apply_lambda  
+syn keyword maximaFunc sublist  submatrix  subst  substinpart  substpart  subvarp  sum  
+syn keyword maximaFunc sumcontract  sumexpand  sumhack  sumsplitfact  supcontext  symbolp  
+syn keyword maximaFunc symmetric  symmetricp  system  tan  tanh  taylor  taylordepth  
+syn keyword maximaFunc taylorinfo  taylor_logexpand  taylor_order_coefficients  taylorp  
+syn keyword maximaFunc taylor_simplifier  taylor_truncate_polynomials  taytorat  tcl_output  
+syn keyword maximaFunc tcontract  tellrat  tellsimp  tellsimpafter  tensorkill  tentex  tenth  
+syn keyword maximaFunc tex  %th  third  throw  time  timer  timer_devalue  timer_info  
+syn keyword maximaFunc tldefint  tlimit  tlimswitch  todd_coxeter  to_lisp  totaldisrep  
+syn keyword maximaFunc totalfourier  totient  tpartpol  tr  trace  trace_options  
+syn keyword maximaFunc transcompile  translate  translate_file  transpose  transrun  
+syn keyword maximaFunc tr_array_as_ref  tr_bound_function_applyp  treillis  treinat  
+syn keyword maximaFunc tr_file_tty_messagesp  tr_float_can_branch_complex  
+syn keyword maximaFunc tr_function_call_default  triangularize  trigexpand  trigexpandplus  
+syn keyword maximaFunc trigexpandtimes  triginverses  trigrat  trigreduce  trigsign  trigsimp  
+syn keyword maximaFunc tr_numer  tr_optimize_max_loop  tr_semicompile  tr_state_vars  true  
+syn keyword maximaFunc trunc  truncate  tr_warn_bad_function_calls  tr_warn_fexpr  
+syn keyword maximaFunc tr_warnings_get  tr_warn_meval  tr_warn_mode  tr_warn_undeclared  
+syn keyword maximaFunc tr_warn_undefined_variable  tr_windy  ttyoff  ueivects  ufg  ug  
+syn keyword maximaFunc ultraspherical  undiff  uniteigenvectors  unitvector  unknown  unorder  
+syn keyword maximaFunc unsum  untellrat  untimer  untrace  uric  uricci  uriem  uriemann  
+syn keyword maximaFunc use_fast_arrays  uvect  values  vect_cross  vectorpotential  
+syn keyword maximaFunc vectorsimp  verb  verbify  verbose  weyl  with_stdout  writefile  
+syn keyword maximaFunc xgraph_curves  xthru  zerobern  zeroequiv  zeromatrix  zeta  zeta%pi
+syn match maximaOp "[\*\/\+\-\#\!\~\^\=\:\<\>\@]"
+" ---------------------- END LIST OF ALL FUNCTIONS (EXCEPT KEYWORDS)  ----------------------
+
+
+syn case match
+
+" Labels (supports maxima's goto)
+syn match   maximaLabel	 "^\s*<[a-zA-Z_][a-zA-Z0-9%_]*>"
+
+" String and Character constants
+" Highlight special characters (those which have a backslash) differently
+syn match   maximaSpecial	contained "\\\d\d\d\|\\."
+syn region  maximaString	start=+"+  skip=+\\\\\|\\"+  end=+"+ contains=maximaSpecial
+syn match   maximaCharacter	"'[^\\]'"
+syn match   maximaSpecialChar	"'\\.'"
+
+" number with no fractional part or exponent
+syn match maximaNumber /\<\d\+\>/
+" floating point number with integer and fractional parts and optional exponent
+syn match maximaFloat /\<\d\+\.\d*\([BbDdEeSs][-+]\=\d\+\)\=\>/
+" floating point number with no integer part and optional exponent
+syn match maximaFloat /\<\.\d\+\([BbDdEeSs][-+]\=\d\+\)\=\>/
+" floating point number with no fractional part and optional exponent
+syn match maximaFloat /\<\d\+[BbDdEeSs][-+]\=\d\+\>/
+
+" Comments:
+" maxima supports /* ... */ (like C)
+syn keyword maximaTodo contained	TODO Todo DEBUG
+syn region  maximaCommentBlock	start="/\*" end="\*/"	contains=maximaString,maximaTodo
+
+" synchronizing
+syn sync match maximaSyncComment	grouphere maximaCommentBlock "/*"
+syn sync match maximaSyncComment	groupthere NONE "*/"
+
+" Define the default highlighting.
+" For version 5.7 and earlier: only when not done already
+" For version 5.8 and later: only when an item doesn't have highlighting yet
+if version >= 508 || !exists("did_maxima_syntax_inits")
+  if version < 508
+    let did_maxima_syntax_inits = 1
+    command -nargs=+ HiLink hi link <args>
+  else
+    command -nargs=+ HiLink hi def link <args>
+  endif
+
+  HiLink maximaBraceError	maximaError
+  HiLink maximaCmd	maximaStatement
+  HiLink maximaCurlyError	maximaError
+  HiLink maximaFuncCmd	maximaStatement
+  HiLink maximaParenError	maximaError
+
+  " The default methods for highlighting.  Can be overridden later
+  HiLink maximaCharacter	Character
+  HiLink maximaComma	Function
+  HiLink maximaCommentBlock	Comment
+  HiLink maximaConditional	Conditional
+  HiLink maximaError	Error
+  HiLink maximaFunc	Delimiter
+  HiLink maximaOp                 Delimiter
+  HiLink maximaLabel	PreProc
+  HiLink maximaNumber	Number
+  HiLink maximaFloat	Float
+  HiLink maximaRepeat	Repeat
+  HiLink maximaSpecial	Type
+  HiLink maximaSpecialChar	SpecialChar
+  HiLink maximaStatement	Statement
+  HiLink maximaString	String
+  HiLink maximaTodo	Todo
+
+  delcommand HiLink
+endif
+
+let b:current_syntax = "maxima"
--- a/runtime/syntax/rst.vim
+++ b/runtime/syntax/rst.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         reStructuredText documentation format
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2006-03-26
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-09
 
 if exists("b:current_syntax")
   finish
@@ -10,90 +10,167 @@ endif
 let s:cpo_save = &cpo
 set cpo&vim
 
-syn keyword     rstTodo             contained FIXME TODO XXX NOTE
-
 syn case ignore
 
-syn region      rstComment          start='^\.\.\%( \%([a-z0-9_.-]\+::\)\@!\|$\)'
-                                    \ end='^\s\@!' contains=rstTodo
+" FIXME: The problem with these two is that Vim doesn’t seem to like
+" matching across line boundaries.
+"
+" syn match   rstSections /^.*\n[=`:.'"~^_*+#-]\+$/
+
+" syn match   rstTransition  /^\s*[=`:.'"~^_*+#-]\{4,}\s*$/
+
+syn cluster rstCruft                contains=rstEmphasis,rstStrongEmphasis,
+      \ rstInterpretedText,rstInlineLiteral,rstSubstitutionReference,
+      \ rstInlineInternalTargets,rstFootnoteReference,rstHyperlinkReference
 
-syn cluster     rstCruft            contains=rstFootnoteLabel,rstCitationLabel,
-                                    \ rstSubstitutionLabel,rstInline,
-                                    \ rstHyperlinks,rstInternalTarget
+syn region  rstLiteralBlock         matchgroup=rstDelimiter
+      \ start='::\_s*\n\ze\z(\s\+\)' skip='^$' end='^\z1\@!'
+      \ contains=@NoSpell
 
-syn region      rstBlock            matchgroup=rstDelimiter
-                                    \ start='::$' skip='^$' end='^\s\@!'
-syn region      rstDoctestBlock     matchgroup=rstDelimiter
-                                    \ start='^>>>\s' end='^$'
+syn region  rstQuotedLiteralBlock   matchgroup=rstDelimiter
+      \ start="::\_s*\n\ze\z([!\"#$%&'()*+,-./:;<=>?@[\]^_`{|}~]\)"
+      \ end='^\z1\@!' contains=@NoSpell
+
+syn region  rstDoctestBlock         oneline display matchgroup=rstDelimiter
+      \ start='^>>>\s' end='^$'
+
+syn region  rstTable                transparent start='^\n\s*+[-=+]\+' end='^$'
+      \ contains=rstTableLines,@rstCruft
+syn match   rstTableLines           contained display '|\|+\%(=\+\|-\+\)\='
 
-" TODO: these may actually be a bit too complicated to match correctly and
-" should perhaps be removed.  We won't really needs it anyway?
-syn region      rstTable            transparent start='^\n\s*+[-=+]\+' end='^$'
-                                    \ contains=rstTableLines,@rstCruft
-syn match       rstTableLines       contained '^\s*[|+=-]\+$'
-syn region      rstSimpleTable      transparent
-                                    \ start='^\n\%(\s*\)\@>\%(\%(=\+\)\@>\%(\s\+\)\@>\)\%(\%(\%(=\+\)\@>\%(\s*\)\@>\)\+\)\@>$'
-                                    \ end='^$'
-                                    \ contains=rstSimpleTableLines,@rstCruft
-syn match       rstSimpleTableLines contained display
-                                    \ '^\%(\s*\)\@>\%(\%(=\+\)\@>\%(\s\+\)\@>\)\%(\%(\%(=\+\)\@>\%(\s*\)\@>\)\+\)\@>$'
+syn region  rstSimpleTable          transparent
+      \ start='^\n\%(\s*\)\@>\%(\%(=\+\)\@>\%(\s\+\)\@>\)\%(\%(\%(=\+\)\@>\%(\s*\)\@>\)\+\)\@>$'
+      \ end='^$'
+      \ contains=rstSimpleTableLines,@rstCruft
+syn match   rstSimpleTableLines     contained display
+      \ '^\%(\s*\)\@>\%(\%(=\+\)\@>\%(\s\+\)\@>\)\%(\%(\%(=\+\)\@>\%(\s*\)\@>\)\+\)\@>$'
+syn match   rstSimpleTableLines     contained display
+      \ '^\%(\s*\)\@>\%(\%(-\+\)\@>\%(\s\+\)\@>\)\%(\%(\%(-\+\)\@>\%(\s*\)\@>\)\+\)\@>$'
+
+syn cluster rstDirectives           contains=rstFootnote,rstCitation,
+      \ rstHyperlinkTarget,rstExDirective
+
+syn match   rstExplicitMarkup       '^\.\.\s'
+      \ nextgroup=@rstDirectives,rstComment,rstSubstitutionDefinition
+
+let s:ReferenceName = '[[:alnum:]]\+\%([_.-][[:alnum:]]\+\)*'
 
-syn region      rstFootnote         matchgroup=rstDirective
-                                    \ start='^\.\. \[\%([#*]\|[0-9]\+\|#[a-z0-9_.-]\+\)\]\s'
-                                    \ end='^\s\@!' contains=@rstCruft
-syn match       rstFootnoteLabel    '\[\%([#*]\|[0-9]\+\|#[a-z0-9_.-]\+\)\]_'
+syn keyword     rstTodo             contained FIXME TODO XXX NOTE
+
+execute 'syn region rstComment contained' .
+      \ ' start=/.*/'
+      \ ' end=/^\s\@!/ contains=rstTodo'
+
+execute 'syn region rstFootnote contained matchgroup=rstDirective' .
+      \ ' start=+\[\%(\d\+\|#\%(' . s:ReferenceName . '\)\=\|\*\)\]\_s+' .
+      \ ' skip=+^$+' .
+      \ ' end=+^\s\@!+ contains=@rstCruft,@NoSpell'
+
+execute 'syn region rstCitation contained matchgroup=rstDirective' .
+      \ ' start=+\[' . s:ReferenceName . '\]\_s+' .
+      \ ' skip=+^$+' .
+      \ ' end=+^\s\@!+ contains=@rstCruft,@NoSpell'
+
+syn region rstHyperlinkTarget contained matchgroup=rstDirective
+      \ start='_\%(_\|[^:\\]*\%(\\.[^:\\]*\)*\):\_s' skip=+^$+ end=+^\s\@!+
 
-syn region      rstCitation         matchgroup=rstDirective
-                                    \ start='^\.\. \[[a-z0-9_.-]\+\]\s'
-                                    \ end='^\s\@!' contains=@rstCruft
-syn match       rstCitationLabel    '\[[a-z0-9_.-]\+\]_'
+syn region rstHyperlinkTarget contained matchgroup=rstDirective
+      \ start='_`[^`\\]*\%(\\.[^`\\]*\)*`:\_s' skip=+^$+ end=+^\s\@!+
+
+syn region rstHyperlinkTarget matchgroup=rstDirective
+      \ start=+^__\_s+ skip=+^$+ end=+^\s\@!+
+
+execute 'syn region rstExDirective contained matchgroup=rstDirective' .
+      \ ' start=+' . s:ReferenceName . '::\_s+' .
+      \ ' skip=+^$+' .
+      \ ' end=+^\s\@!+ contains=@rstCruft'
 
-syn region      rstDirectiveBody    matchgroup=rstDirective
-                                    \ start='^\.\. [a-z0-9_.-]\+::'
-                                    \ end='^\s\@!'
+execute 'syn match rstSubstitutionDefinition contained' .
+      \ ' /|' . s:ReferenceName . '|\_s\+/ nextgroup=@rstDirectives'
 
-syn region      rstSubstitution     matchgroup=rstDirective
-                                    \ start='^\.\. |[a-z0-9_.-]|\s[a-z0-9_.-]\+::\s'
-                                    \ end='^\s\@!' contains=@rstCruft
-syn match       rstSubstitutionLbl  '|[a-z0-9_.-]|'
+function! s:DefineOneInlineMarkup(name, start, middle, end, char_left, char_right)
+  execute 'syn region rst' . a:name .
+        \ ' start=+' . a:char_left . '\zs' . a:start .
+        \ '[^[:space:]' . a:char_right . a:start[strlen(a:start) - 1] . ']+' .
+        \ a:middle .
+        \ ' end=+\S' . a:end . '\ze\%($\|\s\|[''")\]}>/:.,;!?\\-]\)+'
+endfunction
+
+function! s:DefineInlineMarkup(name, start, middle, end)
+  let middle = a:middle != "" ?
+        \ (' skip=+\\\\\|\\' . a:middle . '+') :
+        \ ""
 
-syn match       rstInline           '\*\{1,2}\S\%([^*]*\S\)\=\*\{1,2}'
-syn match       rstInline           '`\{1,2}\S\%([^`]*\S\)\=`\{1,2}'
+  call s:DefineOneInlineMarkup(a:name, a:start, middle, a:end, "'", "'")
+  call s:DefineOneInlineMarkup(a:name, a:start, middle, a:end, '"', '"') 
+  call s:DefineOneInlineMarkup(a:name, a:start, middle, a:end, '(', ')') 
+  call s:DefineOneInlineMarkup(a:name, a:start, middle, a:end, '\[', '\]') 
+  call s:DefineOneInlineMarkup(a:name, a:start, middle, a:end, '{', '}') 
+  call s:DefineOneInlineMarkup(a:name, a:start, middle, a:end, '<', '>') 
 
-syn region      rstHyperlinks       matchgroup=RstDirective
-                                    \ start='^\.\. _[a-z0-9_. -]\+:\s'
-                                    \ end='^\s\@!' contains=@rstCruft
+  call s:DefineOneInlineMarkup(a:name, a:start, middle, a:end, '\%(^\|\s\|[/:]\)', '')
+
+  execute 'syn match rst' . a:name .
+        \ ' +\%(^\|\s\|[''"([{</:]\)\zs' . a:start .
+        \ '[^[:space:]' . a:start[strlen(a:start) - 1] . ']'
+        \ a:end . '\ze\%($\|\s\|[''")\]}>/:.,;!?\\-]\)+'
+
+  execute 'hi def link rst' . a:name . 'Delimiter' . ' rst' . a:name
+endfunction
 
-syn match       rstHyperlinksLabel  '`\S\%([^`]*\S\)\=`__\=\>'
-syn match       rstHyperlinksLabel  '\w\+__\=\>'
+call s:DefineInlineMarkup('Emphasis', '\*', '\*', '\*')
+call s:DefineInlineMarkup('StrongEmphasis', '\*\*', '\*', '\*\*')
+call s:DefineInlineMarkup('InterpretedTextOrHyperlinkReference', '`', '`', '`_\{0,2}')
+call s:DefineInlineMarkup('InlineLiteral', '``', "", '``')
+call s:DefineInlineMarkup('SubstitutionReference', '|', '|', '|_\{0,2}')
+call s:DefineInlineMarkup('InlineInternalTargets', '_`', '`', '`')
+
+" TODO: Can’t remember why these two can’t be defined like the ones above.
+execute 'syn match rstFootnoteReference contains=@NoSpell' .
+      \ ' +\[\%(\d\+\|#\%(' . s:ReferenceName . '\)\=\|\*\)\]_+'
 
-syn match       rstInternalTarget   '_`\S\%([^`]*\S\)\=`'
+execute 'syn match rstCitationReference contains=@NoSpell' .
+      \ ' +\[' . s:ReferenceName . '\]_+'
+
+execute 'syn match rstHyperlinkReference' .
+      \ ' /\<' . s:ReferenceName . '__\=/'
 
-syn match       rstListItem         '^:\w\+\%(\s\+\w\+\)*:'
-syn match       rstListItem         '^\s*[-*+]\s\+'
+syn match   rstStandaloneHyperlink  contains=@NoSpell
+      \ "\<\%(\%(\%(https\=\|file\|ftp\|gopher\)://\|\%(mailto\|news\):\)[^[:space:]'\"<>]\+\|www[[:alnum:]_-]*\.[[:alnum:]_-]\+\.[^[:space:]'\"<>]\+\)[[:alnum:]/]"
 
+" TODO: Use better syncing.  I don’t know the specifics of syncing well enough,
+" though.
 syn sync minlines=50
 
-hi def link rstTodo                 Todo
-hi def link rstComment              Comment
-hi def link rstDelimiter            Delimiter
-hi def link rstBlock                String
-hi def link rstDoctestBlock         PreProc
-hi def link rstTableLines           Delimiter
-hi def link rstSimpleTableLines     rstTableLines
-hi def link rstFootnote             String
-hi def link rstFootnoteLabel        Identifier
-hi def link rstCitation             String
-hi def link rstCitationLabel        Identifier
-hi def link rstDirective            Keyword
-hi def link rstDirectiveBody        Type
-hi def link rstSubstitution         String
-hi def link rstSubstitutionLbl      Identifier
-hi def link rstHyperlinks           String
-hi def link rstHyperlinksLabel      Identifier
-hi def link rstListItem             Identifier
-hi def      rstInline               term=italic cterm=italic gui=italic
-hi def      rstInternalTarget       term=italic cterm=italic gui=italic
+hi def link rstTodo                         Todo
+hi def link rstComment                      Comment
+"hi def link rstSections                     Type
+"hi def link rstTransition                   Type
+hi def link rstLiteralBlock                 String
+hi def link rstQuotedLiteralBlock           String
+hi def link rstDoctestBlock                 PreProc
+hi def link rstTableLines                   rstDelimiter
+hi def link rstSimpleTableLines             rstTableLines
+hi def link rstExplicitMarkup               rstDirective
+hi def link rstDirective                    Keyword
+hi def link rstFootnote                     String
+hi def link rstCitation                     String
+hi def link rstHyperlinkTarget              String
+hi def link rstExDirective                  String
+hi def link rstSubstitutionDefinition       rstDirective
+hi def link rstDelimiter                    Delimiter
+" TODO: I dunno...
+hi def      rstEmphasis                     term=italic cterm=italic gui=italic
+hi def link rstStrongEmphasis               Special
+"term=bold cterm=bold gui=bold
+hi def link rstInterpretedTextOrHyperlinkReference  Identifier
+hi def link rstInlineLiteral                String
+hi def link rstSubstitutionReference        PreProc
+hi def link rstInlineInternalTargets        Identifier
+hi def link rstFootnoteReference            Identifier
+hi def link rstCitationReference            Identifier
+hi def link rstHyperLinkReference           Identifier
+hi def link rstStandaloneHyperlink          Identifier
 
 let b:current_syntax = "rst"
 
--- 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.0c]
-   "DisplayName"="Vim 7.0c: Edit with Vim popup menu entry"
+[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall\Vim 7.0d]
+   "DisplayName"="Vim 7.0d: Edit with Vim popup menu entry"
    "UninstallString"="uninstal.exe"
--- a/src/Makefile
+++ b/src/Makefile
@@ -880,7 +880,7 @@ MAN1DIR = /man1
 
 ### Vim version (adjusted by a script)
 VIMMAJOR = 7
-VIMMINOR = 0c
+VIMMINOR = 0d
 
 ### Location of Vim files (should not need to be changed, and  {{{1
 ### some things might not work when they are changed!)
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -1212,7 +1212,11 @@ do_buffer(action, start, dir, count, for
     {
 # ifdef FEAT_WINDOWS
 	/* jump to first window containing buf if one exists ("useopen") */
-	if (vim_strchr(p_swb, 'u') && buf_jump_open_win(buf))
+	if (vim_strchr(p_swb, 'o') && buf_jump_open_win(buf))
+	    return OK;
+	/* jump to first window in any tab page containing buf if one exists
+	 * ("usetab") */
+	if (vim_strchr(p_swb, 'a') && buf_jump_open_tab(buf))
 	    return OK;
 	if (win_split(0, 0) == FAIL)
 # endif
@@ -1316,7 +1320,7 @@ set_curbuf(buf, action)
 #endif
 	{
 	    if (prevbuf == curbuf)
-		u_sync();
+		u_sync(FALSE);
 	    close_buffer(prevbuf == curwin->w_buffer ? curwin : NULL, prevbuf,
 		    unload ? action : (action == DOBUF_GOTO
 			&& !P_HID(prevbuf)
@@ -1833,8 +1837,11 @@ buflist_getfile(n, lnum, options, forcei
     if (options & GETF_SWITCH)
     {
 	/* use existing open window for buffer if wanted */
-	if (vim_strchr(p_swb, 'u'))     /* useopen */
+	if (vim_strchr(p_swb, 'o'))     /* useopen */
 	    wp = buf_jump_open_win(buf);
+	/* use existing open window in any tab page for buffer if wanted */
+	if (vim_strchr(p_swb, 'a'))     /* usetab */
+	    wp = buf_jump_open_tab(buf);
 	/* split window if wanted ("split") */
 	if (wp == NULL && vim_strchr(p_swb, 't') && !bufempty())
 	{
--- a/src/diff.c
+++ b/src/diff.c
@@ -2233,7 +2233,7 @@ ex_diffgetput(eap)
 	 * another buffer.  Sync undo if the command was typed.  This isn't
 	 * 100% right when ":diffput" is used in a function or mapping. */
 	if (KeyTyped)
-	    u_sync();
+	    u_sync(FALSE);
 	aucmd_restbuf(&aco);
     }
 
--- a/src/edit.c
+++ b/src/edit.c
@@ -90,6 +90,10 @@ static compl_T    *compl_first_match = N
 static compl_T    *compl_curr_match = NULL;
 static compl_T    *compl_shown_match = NULL;
 
+/* After using a cursor key <Enter> selects a match in the popup menu,
+ * otherwise it inserts a line break. */
+static int	  compl_enter_selects = FALSE;
+
 /* When "compl_leader" is not NULL only matches that start with this string
  * are used. */
 static char_u	  *compl_leader = NULL;
@@ -726,8 +730,10 @@ edit(cmdchar, startln, count)
 		    continue;
 		}
 
-		/* Pressing CTRL-Y selects the current match. */
-		if (c == Ctrl_Y)
+		/* Pressing CTRL-Y selects the current match.  Shen
+		 * compl_enter_selects is set the Enter key does the same. */
+		if (c == Ctrl_Y || (compl_enter_selects
+				   && (c == CAR || c == K_KENTER || c == NL)))
 		{
 		    ins_compl_delete();
 		    ins_compl_insert();
@@ -2915,6 +2921,7 @@ ins_compl_clear()
     edit_submode_extra = NULL;
     vim_free(compl_orig_text);
     compl_orig_text = NULL;
+    compl_enter_selects = FALSE;
 }
 
 /*
@@ -2976,6 +2983,7 @@ ins_compl_bs()
 	/* Show the popup menu with a different set of matches. */
 	ins_compl_show_pum();
 	compl_used_match = FALSE;
+	compl_enter_selects = FALSE;
 
 	return TRUE;
     }
@@ -3014,6 +3022,7 @@ ins_compl_addleader(c)
 	ins_compl_del_pum();
 	ins_compl_show_pum();
 	compl_used_match = FALSE;
+	compl_enter_selects = FALSE;
 	ins_compl_set_original_text(compl_leader);
     }
 }
@@ -3277,8 +3286,11 @@ ins_compl_prep(c)
 	    auto_format(FALSE, TRUE);
 
 	    /* If the popup menu is displayed pressing CTRL-Y means accepting
-	     * the selection without inserting anything. */
-	    if (c == Ctrl_Y && pum_visible())
+	     * the selection without inserting anything.  When
+	     * compl_enter_selects is set the Enter key does the same. */
+	    if ((c == Ctrl_Y || (compl_enter_selects
+				   && (c == CAR || c == K_KENTER || c == NL)))
+		    && pum_visible())
 		retval = TRUE;
 
 	    /* CTRL-E means completion is Ended, go back to the typed text. */
@@ -3298,6 +3310,7 @@ ins_compl_prep(c)
 	    compl_matches = 0;
 	    msg_clr_cmdline();		/* necessary for "noshowmode" */
 	    ctrl_x_mode = 0;
+	    compl_enter_selects = FALSE;
 	    if (edit_submode != NULL)
 	    {
 		edit_submode = NULL;
@@ -4049,6 +4062,10 @@ ins_compl_next(allow_get_expansion, coun
 	ins_compl_delete();
     }
 
+    /* Enter will select a match when the match wasn't inserted and the popup
+     * menu is visislbe. */
+    compl_enter_selects = !insert_match && compl_match_array != NULL;
+
     /*
      * Show the file name for the match (if any)
      * Truncate the file name to avoid a wait for return.
@@ -7277,7 +7294,7 @@ ins_ctrl_g()
 		  break;
 
 	/* CTRL-G u: start new undoable edit */
-	case 'u': u_sync();
+	case 'u': u_sync(TRUE);
 		  ins_need_undo = TRUE;
 
 		  /* Need to reset Insstart, esp. because a BS that joins
--- a/src/ex_cmds.c
+++ b/src/ex_cmds.c
@@ -3253,7 +3253,7 @@ do_ecmd(fnum, ffname, sfname, eap, newln
 		    buf_copy_options(buf, BCO_ENTER);
 
 		/* close the link to the current buffer */
-		u_sync();
+		u_sync(FALSE);
 		close_buffer(curwin, curbuf,
 				      (flags & ECMD_HIDE) ? 0 : DOBUF_UNLOAD);
 
@@ -4289,7 +4289,7 @@ do_sub(eap)
 
     if (!do_count && !curbuf->b_p_ma)
     {
-	/* Substitusion is not allowed in non-'modifiable' buffer */
+	/* Substitution is not allowed in non-'modifiable' buffer */
 	EMSG(_(e_modifiable));
 	return;
     }
@@ -6919,12 +6919,7 @@ ex_drop(eap)
 	    if (wp->w_buffer == buf)
 	    {
 # ifdef FEAT_WINDOWS
-		goto_tabpage_tp(tp);
-		win_enter(wp, TRUE);
-#  ifdef FEAT_GUI_TABLINE
-		if (gui_use_tabline())
-		    gui_mch_set_curtab(tabpage_index(curtab));
-#  endif
+		goto_tabpage_win(tp, wp);
 # endif
 		curwin->w_arg_idx = 0;
 		return;
--- a/src/getchar.c
+++ b/src/getchar.c
@@ -1201,8 +1201,8 @@ gotchars(s, len)
 may_sync_undo()
 {
     if ((!(State & (INSERT + CMDLINE)) || arrow_used)
-	    && scriptin[curscript] == NULL && no_u_sync == 0)
-	u_sync();
+					       && scriptin[curscript] == NULL)
+	u_sync(FALSE);
 }
 
 /*
--- a/src/gui.c
+++ b/src/gui.c
@@ -4931,8 +4931,7 @@ gui_do_findrepl(flags, find_text, repl_t
 		if (u_save_cursor() == OK)
 		{
 		    /* A button was pressed thus undo should be synced. */
-		    if (no_u_sync == 0)
-			u_sync();
+		    u_sync(FALSE);
 
 		    del_bytes((long)(regmatch.endp[0] - regmatch.startp[0]),
 								FALSE, FALSE);
@@ -4948,8 +4947,7 @@ gui_do_findrepl(flags, find_text, repl_t
     if (type == FRD_REPLACEALL)
     {
 	/* A button was pressed, thus undo should be synced. */
-	if (no_u_sync == 0)
-	    u_sync();
+	u_sync(FALSE);
 	do_cmdline_cmd(ga.ga_data);
     }
     else
--- a/src/option.c
+++ b/src/option.c
@@ -2811,7 +2811,7 @@ static char *(p_bsdir_values[]) = {"curr
 #ifdef FEAT_SCROLLBIND
 static char *(p_scbopt_values[]) = {"ver", "hor", "jump", NULL};
 #endif
-static char *(p_swb_values[]) = {"useopen", "split", NULL};
+static char *(p_swb_values[]) = {"useopen", "usetab", "split", NULL};
 static char *(p_debug_values[]) = {"msg", "beep", NULL};
 #ifdef FEAT_VERTSPLIT
 static char *(p_ead_values[]) = {"both", "ver", "hor", NULL};
@@ -7767,7 +7767,7 @@ set_num_option(opt_idx, varp, value, err
     {
 	/* use the old value, otherwise u_sync() may not work properly */
 	p_ul = old_value;
-	u_sync();
+	u_sync(TRUE);
 	p_ul = value;
     }
 
--- a/src/popupmnu.c
+++ b/src/popupmnu.c
@@ -427,18 +427,24 @@ pum_set_selected(n)
 		    while (!bufempty())
 			ml_delete((linenr_T)1, FALSE);
 		}
-		else if ((res = do_ecmd(0, NULL, NULL, NULL, ECMD_ONE, 0))
-									== OK)
+		else
 		{
-		    /* Edit a new, empty buffer. Set options for a "wipeout"
-		     * buffer. */
-		    set_option_value((char_u *)"swf", 0L, NULL, OPT_LOCAL);
-		    set_option_value((char_u *)"bt", 0L, (char_u *)"nofile",
-								   OPT_LOCAL);
-		    set_option_value((char_u *)"bh", 0L, (char_u *)"wipe",
-								   OPT_LOCAL);
-		    set_option_value((char_u *)"diff", 0L, (char_u *)"",
-								   OPT_LOCAL);
+		    /* Don't want to sync undo in the current buffer. */
+		    ++no_u_sync;
+		    res = do_ecmd(0, NULL, NULL, NULL, ECMD_ONE, 0);
+		    --no_u_sync;
+		    if (res == OK)
+		    {
+			/* Edit a new, empty buffer. Set options for a "wipeout"
+			 * buffer. */
+			set_option_value((char_u *)"swf", 0L, NULL, OPT_LOCAL);
+			set_option_value((char_u *)"bt", 0L,
+					       (char_u *)"nofile", OPT_LOCAL);
+			set_option_value((char_u *)"bh", 0L,
+						 (char_u *)"wipe", OPT_LOCAL);
+			set_option_value((char_u *)"diff", 0L,
+						     (char_u *)"", OPT_LOCAL);
+		    }
 		}
 		if (res == OK)
 		{
--- a/src/proto/ex_cmds.pro
+++ b/src/proto/ex_cmds.pro
@@ -1,59 +1,59 @@
 /* ex_cmds.c */
-void do_ascii __ARGS((exarg_T *eap));
-void ex_align __ARGS((exarg_T *eap));
-void ex_sort __ARGS((exarg_T *eap));
-void ex_retab __ARGS((exarg_T *eap));
-int do_move __ARGS((linenr_T line1, linenr_T line2, linenr_T dest));
-void ex_copy __ARGS((linenr_T line1, linenr_T line2, linenr_T n));
-void free_prev_shellcmd __ARGS((void));
-void do_bang __ARGS((int addr_count, exarg_T *eap, int forceit, int do_in, int do_out));
-void do_shell __ARGS((char_u *cmd, int flags));
-char_u *make_filter_cmd __ARGS((char_u *cmd, char_u *itmp, char_u *otmp));
-void append_redir __ARGS((char_u *buf, char_u *opt, char_u *fname));
-int viminfo_error __ARGS((char *errnum, char *message, char_u *line));
-int read_viminfo __ARGS((char_u *file, int want_info, int want_marks, int forceit));
-void write_viminfo __ARGS((char_u *file, int forceit));
-int viminfo_readline __ARGS((vir_T *virp));
-char_u *viminfo_readstring __ARGS((vir_T *virp, int off, int convert));
-void viminfo_writestring __ARGS((FILE *fd, char_u *p));
-void do_fixdel __ARGS((exarg_T *eap));
-void print_line_no_prefix __ARGS((linenr_T lnum, int use_number, int list));
-void print_line __ARGS((linenr_T lnum, int use_number, int list));
-void ex_file __ARGS((exarg_T *eap));
-void ex_update __ARGS((exarg_T *eap));
-void ex_write __ARGS((exarg_T *eap));
-int do_write __ARGS((exarg_T *eap));
-void ex_wnext __ARGS((exarg_T *eap));
-void do_wqall __ARGS((exarg_T *eap));
-int not_writing __ARGS((void));
-int getfile __ARGS((int fnum, char_u *ffname, char_u *sfname, int setpm, linenr_T lnum, int forceit));
-int do_ecmd __ARGS((int fnum, char_u *ffname, char_u *sfname, exarg_T *eap, linenr_T newlnum, int flags));
-void ex_append __ARGS((exarg_T *eap));
-void ex_change __ARGS((exarg_T *eap));
-void ex_z __ARGS((exarg_T *eap));
-int check_restricted __ARGS((void));
-int check_secure __ARGS((void));
-void do_sub __ARGS((exarg_T *eap));
-int do_sub_msg __ARGS((int count_only));
-void ex_global __ARGS((exarg_T *eap));
-void global_exe __ARGS((char_u *cmd));
-int read_viminfo_sub_string __ARGS((vir_T *virp, int force));
-void write_viminfo_sub_string __ARGS((FILE *fp));
-void free_old_sub __ARGS((void));
-int prepare_tagpreview __ARGS((int undo_sync));
-void ex_help __ARGS((exarg_T *eap));
-char_u *check_help_lang __ARGS((char_u *arg));
-int help_heuristic __ARGS((char_u *matched_string, int offset, int wrong_case));
-int find_help_tags __ARGS((char_u *arg, int *num_matches, char_u ***matches, int keep_lang));
-void fix_help_buffer __ARGS((void));
-void ex_exusage __ARGS((exarg_T *eap));
-void ex_viusage __ARGS((exarg_T *eap));
-void ex_helptags __ARGS((exarg_T *eap));
-void ex_sign __ARGS((exarg_T *eap));
-void sign_gui_started __ARGS((void));
-int sign_get_attr __ARGS((int typenr, int line));
-char_u *sign_get_text __ARGS((int typenr));
-void *sign_get_image __ARGS((int typenr));
-char_u *sign_typenr2name __ARGS((int typenr));
-void ex_drop __ARGS((exarg_T *eap));
+extern void do_ascii __ARGS((exarg_T *eap));
+extern void ex_align __ARGS((exarg_T *eap));
+extern void ex_sort __ARGS((exarg_T *eap));
+extern void ex_retab __ARGS((exarg_T *eap));
+extern int do_move __ARGS((linenr_T line1, linenr_T line2, linenr_T dest));
+extern void ex_copy __ARGS((linenr_T line1, linenr_T line2, linenr_T n));
+extern void free_prev_shellcmd __ARGS((void));
+extern void do_bang __ARGS((int addr_count, exarg_T *eap, int forceit, int do_in, int do_out));
+extern void do_shell __ARGS((char_u *cmd, int flags));
+extern char_u *make_filter_cmd __ARGS((char_u *cmd, char_u *itmp, char_u *otmp));
+extern void append_redir __ARGS((char_u *buf, char_u *opt, char_u *fname));
+extern int viminfo_error __ARGS((char *errnum, char *message, char_u *line));
+extern int read_viminfo __ARGS((char_u *file, int want_info, int want_marks, int forceit));
+extern void write_viminfo __ARGS((char_u *file, int forceit));
+extern int viminfo_readline __ARGS((vir_T *virp));
+extern char_u *viminfo_readstring __ARGS((vir_T *virp, int off, int convert));
+extern void viminfo_writestring __ARGS((FILE *fd, char_u *p));
+extern void do_fixdel __ARGS((exarg_T *eap));
+extern void print_line_no_prefix __ARGS((linenr_T lnum, int use_number, int list));
+extern void print_line __ARGS((linenr_T lnum, int use_number, int list));
+extern void ex_file __ARGS((exarg_T *eap));
+extern void ex_update __ARGS((exarg_T *eap));
+extern void ex_write __ARGS((exarg_T *eap));
+extern int do_write __ARGS((exarg_T *eap));
+extern void ex_wnext __ARGS((exarg_T *eap));
+extern void do_wqall __ARGS((exarg_T *eap));
+extern int not_writing __ARGS((void));
+extern int getfile __ARGS((int fnum, char_u *ffname, char_u *sfname, int setpm, linenr_T lnum, int forceit));
+extern int do_ecmd __ARGS((int fnum, char_u *ffname, char_u *sfname, exarg_T *eap, linenr_T newlnum, int flags));
+extern void ex_append __ARGS((exarg_T *eap));
+extern void ex_change __ARGS((exarg_T *eap));
+extern void ex_z __ARGS((exarg_T *eap));
+extern int check_restricted __ARGS((void));
+extern int check_secure __ARGS((void));
+extern void do_sub __ARGS((exarg_T *eap));
+extern int do_sub_msg __ARGS((int count_only));
+extern void ex_global __ARGS((exarg_T *eap));
+extern void global_exe __ARGS((char_u *cmd));
+extern int read_viminfo_sub_string __ARGS((vir_T *virp, int force));
+extern void write_viminfo_sub_string __ARGS((FILE *fp));
+extern void free_old_sub __ARGS((void));
+extern int prepare_tagpreview __ARGS((int undo_sync));
+extern void ex_help __ARGS((exarg_T *eap));
+extern char_u *check_help_lang __ARGS((char_u *arg));
+extern int help_heuristic __ARGS((char_u *matched_string, int offset, int wrong_case));
+extern int find_help_tags __ARGS((char_u *arg, int *num_matches, char_u ***matches, int keep_lang));
+extern void fix_help_buffer __ARGS((void));
+extern void ex_exusage __ARGS((exarg_T *eap));
+extern void ex_viusage __ARGS((exarg_T *eap));
+extern void ex_helptags __ARGS((exarg_T *eap));
+extern void ex_sign __ARGS((exarg_T *eap));
+extern void sign_gui_started __ARGS((void));
+extern int sign_get_attr __ARGS((int typenr, int line));
+extern char_u *sign_get_text __ARGS((int typenr));
+extern void *sign_get_image __ARGS((int typenr));
+extern char_u *sign_typenr2name __ARGS((int typenr));
+extern void ex_drop __ARGS((exarg_T *eap));
 /* vim: set ft=c : */
--- a/src/proto/ex_getln.pro
+++ b/src/proto/ex_getln.pro
@@ -1,54 +1,54 @@
 /* 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));
-int curbuf_locked __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 int curbuf_locked __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/gui_motif.pro
+++ b/src/proto/gui_motif.pro
@@ -1,46 +1,46 @@
 /* gui_motif.c */
-void gui_x11_create_widgets __ARGS((void));
-void gui_x11_destroy_widgets __ARGS((void));
-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 manage_centered __ARGS((Widget dialog_child));
-XmFontList gui_motif_create_fontlist __ARGS((XFontStruct *font));
-XmFontList gui_motif_fontset2fontlist __ARGS((XFontSet *fontset));
-void gui_mch_enable_menu __ARGS((int flag));
-void gui_motif_set_mnemonics __ARGS((int enable));
-void gui_mch_add_menu __ARGS((vimmenu_T *menu, int idx));
-void gui_mch_toggle_tearoffs __ARGS((int enable));
-int gui_mch_text_area_extra_height __ARGS((void));
-void gui_mch_compute_menu_height __ARGS((Widget id));
-void gui_mch_add_menu_item __ARGS((vimmenu_T *menu, int idx));
-void gui_motif_update_mousemodel __ARGS((vimmenu_T *menu));
-void gui_mch_new_menu_colors __ARGS((void));
-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_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 *button_names, int dfltbutton, char_u *textfield));
-void gui_mch_enable_footer __ARGS((int showit));
-void gui_mch_set_footer __ARGS((char_u *s));
-void gui_mch_show_toolbar __ARGS((int showit));
-int gui_mch_compute_toolbar_height __ARGS((void));
-void motif_get_toolbar_colors __ARGS((Pixel *bgp, Pixel *fgp, Pixel *bsp, Pixel *tsp, Pixel *hsp));
-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));
-void gui_motif_menu_fontlist __ARGS((Widget id));
-void gui_mch_find_dialog __ARGS((exarg_T *eap));
-void gui_mch_replace_dialog __ARGS((exarg_T *eap));
-void gui_motif_synch_fonts __ARGS((void));
+extern void gui_x11_create_widgets __ARGS((void));
+extern void gui_x11_destroy_widgets __ARGS((void));
+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 manage_centered __ARGS((Widget dialog_child));
+extern XmFontList gui_motif_create_fontlist __ARGS((XFontStruct *font));
+extern XmFontList gui_motif_fontset2fontlist __ARGS((XFontSet *fontset));
+extern void gui_mch_enable_menu __ARGS((int flag));
+extern void gui_motif_set_mnemonics __ARGS((int enable));
+extern void gui_mch_add_menu __ARGS((vimmenu_T *menu, int idx));
+extern void gui_mch_toggle_tearoffs __ARGS((int enable));
+extern int gui_mch_text_area_extra_height __ARGS((void));
+extern void gui_mch_compute_menu_height __ARGS((Widget id));
+extern void gui_mch_add_menu_item __ARGS((vimmenu_T *menu, int idx));
+extern void gui_motif_update_mousemodel __ARGS((vimmenu_T *menu));
+extern void gui_mch_new_menu_colors __ARGS((void));
+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_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 *button_names, int dfltbutton, char_u *textfield));
+extern void gui_mch_enable_footer __ARGS((int showit));
+extern void gui_mch_set_footer __ARGS((char_u *s));
+extern void gui_mch_show_toolbar __ARGS((int showit));
+extern int gui_mch_compute_toolbar_height __ARGS((void));
+extern void motif_get_toolbar_colors __ARGS((Pixel *bgp, Pixel *fgp, Pixel *bsp, Pixel *tsp, Pixel *hsp));
+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 void gui_motif_menu_fontlist __ARGS((Widget id));
+extern void gui_mch_find_dialog __ARGS((exarg_T *eap));
+extern void gui_mch_replace_dialog __ARGS((exarg_T *eap));
+extern void gui_motif_synch_fonts __ARGS((void));
 /* vim: set ft=c : */
--- a/src/proto/misc1.pro
+++ b/src/proto/misc1.pro
@@ -1,95 +1,95 @@
 /* misc1.c */
-int get_indent __ARGS((void));
-int get_indent_lnum __ARGS((linenr_T lnum));
-int get_indent_buf __ARGS((buf_T *buf, linenr_T lnum));
-int get_indent_str __ARGS((char_u *ptr, int ts));
-int set_indent __ARGS((int size, int flags));
-int get_number_indent __ARGS((linenr_T lnum));
-int open_line __ARGS((int dir, int flags, int old_indent));
-int get_leader_len __ARGS((char_u *line, char_u **flags, int backward));
-int plines __ARGS((linenr_T lnum));
-int plines_win __ARGS((win_T *wp, linenr_T lnum, int winheight));
-int plines_nofill __ARGS((linenr_T lnum));
-int plines_win_nofill __ARGS((win_T *wp, linenr_T lnum, int winheight));
-int plines_win_nofold __ARGS((win_T *wp, linenr_T lnum));
-int plines_win_col __ARGS((win_T *wp, linenr_T lnum, long column));
-int plines_m_win __ARGS((win_T *wp, linenr_T first, linenr_T last));
-void ins_bytes __ARGS((char_u *p));
-void ins_bytes_len __ARGS((char_u *p, int len));
-void ins_char __ARGS((int c));
-void ins_char_bytes __ARGS((char_u *buf, int charlen));
-void ins_str __ARGS((char_u *s));
-int del_char __ARGS((int fixpos));
-int del_chars __ARGS((long count, int fixpos));
-int del_bytes __ARGS((long count, int fixpos_arg, int use_delcombine));
-int truncate_line __ARGS((int fixpos));
-void del_lines __ARGS((long nlines, int undo));
-int gchar_pos __ARGS((pos_T *pos));
-int gchar_cursor __ARGS((void));
-void pchar_cursor __ARGS((int c));
-int inindent __ARGS((int extra));
-char_u *skip_to_option_part __ARGS((char_u *p));
-void changed __ARGS((void));
-void changed_bytes __ARGS((linenr_T lnum, colnr_T col));
-void appended_lines __ARGS((linenr_T lnum, long count));
-void appended_lines_mark __ARGS((linenr_T lnum, long count));
-void deleted_lines __ARGS((linenr_T lnum, long count));
-void deleted_lines_mark __ARGS((linenr_T lnum, long count));
-void changed_lines __ARGS((linenr_T lnum, colnr_T col, linenr_T lnume, long xtra));
-void unchanged __ARGS((buf_T *buf, int ff));
-void check_status __ARGS((buf_T *buf));
-void change_warning __ARGS((int col));
-int ask_yesno __ARGS((char_u *str, int direct));
-int get_keystroke __ARGS((void));
-int get_number __ARGS((int colon, int *mouse_used));
-int prompt_for_number __ARGS((int *mouse_used));
-void msgmore __ARGS((long n));
-void beep_flush __ARGS((void));
-void vim_beep __ARGS((void));
-void init_homedir __ARGS((void));
-void free_homedir __ARGS((void));
-void expand_env __ARGS((char_u *src, char_u *dst, int dstlen));
-void expand_env_esc __ARGS((char_u *srcp, char_u *dst, int dstlen, int esc, char_u *startstr));
-char_u *vim_getenv __ARGS((char_u *name, int *mustfree));
-char_u *expand_env_save __ARGS((char_u *src));
-void vim_setenv __ARGS((char_u *name, char_u *val));
-char_u *get_env_name __ARGS((expand_T *xp, int idx));
-void home_replace __ARGS((buf_T *buf, char_u *src, char_u *dst, int dstlen, int one));
-char_u *home_replace_save __ARGS((buf_T *buf, char_u *src));
-int fullpathcmp __ARGS((char_u *s1, char_u *s2, int checkname));
-char_u *gettail __ARGS((char_u *fname));
-char_u *gettail_sep __ARGS((char_u *fname));
-char_u *getnextcomp __ARGS((char_u *fname));
-char_u *get_past_head __ARGS((char_u *path));
-int vim_ispathsep __ARGS((int c));
-int vim_ispathlistsep __ARGS((int c));
-void shorten_dir __ARGS((char_u *str));
-int dir_of_file_exists __ARGS((char_u *fname));
-int vim_fnamecmp __ARGS((char_u *x, char_u *y));
-int vim_fnamencmp __ARGS((char_u *x, char_u *y, size_t len));
-char_u *concat_fnames __ARGS((char_u *fname1, char_u *fname2, int sep));
-char_u *concat_str __ARGS((char_u *str1, char_u *str2));
-void add_pathsep __ARGS((char_u *p));
-char_u *FullName_save __ARGS((char_u *fname, int force));
-pos_T *find_start_comment __ARGS((int ind_maxcomment));
-void do_c_expr_indent __ARGS((void));
-int cin_islabel __ARGS((int ind_maxcomment));
-int cin_iscase __ARGS((char_u *s));
-int cin_isscopedecl __ARGS((char_u *s));
-int get_c_indent __ARGS((void));
-int get_expr_indent __ARGS((void));
-int get_lisp_indent __ARGS((void));
-void prepare_to_exit __ARGS((void));
-void preserve_exit __ARGS((void));
-int vim_fexists __ARGS((char_u *fname));
-void line_breakcheck __ARGS((void));
-void fast_breakcheck __ARGS((void));
-int expand_wildcards __ARGS((int num_pat, char_u **pat, int *num_file, char_u ***file, int flags));
-int match_suffix __ARGS((char_u *fname));
-int unix_expandpath __ARGS((garray_T *gap, char_u *path, int wildoff, int flags, int didstar));
-int gen_expand_wildcards __ARGS((int num_pat, char_u **pat, int *num_file, char_u ***file, int flags));
-void addfile __ARGS((garray_T *gap, char_u *f, int flags));
-char_u *get_cmd_output __ARGS((char_u *cmd, char_u *infile, int flags));
-void FreeWild __ARGS((int count, char_u **files));
-int goto_im __ARGS((void));
+extern int get_indent __ARGS((void));
+extern int get_indent_lnum __ARGS((linenr_T lnum));
+extern int get_indent_buf __ARGS((buf_T *buf, linenr_T lnum));
+extern int get_indent_str __ARGS((char_u *ptr, int ts));
+extern int set_indent __ARGS((int size, int flags));
+extern int get_number_indent __ARGS((linenr_T lnum));
+extern int open_line __ARGS((int dir, int flags, int old_indent));
+extern int get_leader_len __ARGS((char_u *line, char_u **flags, int backward));
+extern int plines __ARGS((linenr_T lnum));
+extern int plines_win __ARGS((win_T *wp, linenr_T lnum, int winheight));
+extern int plines_nofill __ARGS((linenr_T lnum));
+extern int plines_win_nofill __ARGS((win_T *wp, linenr_T lnum, int winheight));
+extern int plines_win_nofold __ARGS((win_T *wp, linenr_T lnum));
+extern int plines_win_col __ARGS((win_T *wp, linenr_T lnum, long column));
+extern int plines_m_win __ARGS((win_T *wp, linenr_T first, linenr_T last));
+extern void ins_bytes __ARGS((char_u *p));
+extern void ins_bytes_len __ARGS((char_u *p, int len));
+extern void ins_char __ARGS((int c));
+extern void ins_char_bytes __ARGS((char_u *buf, int charlen));
+extern void ins_str __ARGS((char_u *s));
+extern int del_char __ARGS((int fixpos));
+extern int del_chars __ARGS((long count, int fixpos));
+extern int del_bytes __ARGS((long count, int fixpos_arg, int use_delcombine));
+extern int truncate_line __ARGS((int fixpos));
+extern void del_lines __ARGS((long nlines, int undo));
+extern int gchar_pos __ARGS((pos_T *pos));
+extern int gchar_cursor __ARGS((void));
+extern void pchar_cursor __ARGS((int c));
+extern int inindent __ARGS((int extra));
+extern char_u *skip_to_option_part __ARGS((char_u *p));
+extern void changed __ARGS((void));
+extern void changed_bytes __ARGS((linenr_T lnum, colnr_T col));
+extern void appended_lines __ARGS((linenr_T lnum, long count));
+extern void appended_lines_mark __ARGS((linenr_T lnum, long count));
+extern void deleted_lines __ARGS((linenr_T lnum, long count));
+extern void deleted_lines_mark __ARGS((linenr_T lnum, long count));
+extern void changed_lines __ARGS((linenr_T lnum, colnr_T col, linenr_T lnume, long xtra));
+extern void unchanged __ARGS((buf_T *buf, int ff));
+extern void check_status __ARGS((buf_T *buf));
+extern void change_warning __ARGS((int col));
+extern int ask_yesno __ARGS((char_u *str, int direct));
+extern int get_keystroke __ARGS((void));
+extern int get_number __ARGS((int colon, int *mouse_used));
+extern int prompt_for_number __ARGS((int *mouse_used));
+extern void msgmore __ARGS((long n));
+extern void beep_flush __ARGS((void));
+extern void vim_beep __ARGS((void));
+extern void init_homedir __ARGS((void));
+extern void free_homedir __ARGS((void));
+extern void expand_env __ARGS((char_u *src, char_u *dst, int dstlen));
+extern void expand_env_esc __ARGS((char_u *srcp, char_u *dst, int dstlen, int esc, char_u *startstr));
+extern char_u *vim_getenv __ARGS((char_u *name, int *mustfree));
+extern char_u *expand_env_save __ARGS((char_u *src));
+extern void vim_setenv __ARGS((char_u *name, char_u *val));
+extern char_u *get_env_name __ARGS((expand_T *xp, int idx));
+extern void home_replace __ARGS((buf_T *buf, char_u *src, char_u *dst, int dstlen, int one));
+extern char_u *home_replace_save __ARGS((buf_T *buf, char_u *src));
+extern int fullpathcmp __ARGS((char_u *s1, char_u *s2, int checkname));
+extern char_u *gettail __ARGS((char_u *fname));
+extern char_u *gettail_sep __ARGS((char_u *fname));
+extern char_u *getnextcomp __ARGS((char_u *fname));
+extern char_u *get_past_head __ARGS((char_u *path));
+extern int vim_ispathsep __ARGS((int c));
+extern int vim_ispathlistsep __ARGS((int c));
+extern void shorten_dir __ARGS((char_u *str));
+extern int dir_of_file_exists __ARGS((char_u *fname));
+extern int vim_fnamecmp __ARGS((char_u *x, char_u *y));
+extern int vim_fnamencmp __ARGS((char_u *x, char_u *y, size_t len));
+extern char_u *concat_fnames __ARGS((char_u *fname1, char_u *fname2, int sep));
+extern char_u *concat_str __ARGS((char_u *str1, char_u *str2));
+extern void add_pathsep __ARGS((char_u *p));
+extern char_u *FullName_save __ARGS((char_u *fname, int force));
+extern pos_T *find_start_comment __ARGS((int ind_maxcomment));
+extern void do_c_expr_indent __ARGS((void));
+extern int cin_islabel __ARGS((int ind_maxcomment));
+extern int cin_iscase __ARGS((char_u *s));
+extern int cin_isscopedecl __ARGS((char_u *s));
+extern int get_c_indent __ARGS((void));
+extern int get_expr_indent __ARGS((void));
+extern int get_lisp_indent __ARGS((void));
+extern void prepare_to_exit __ARGS((void));
+extern void preserve_exit __ARGS((void));
+extern int vim_fexists __ARGS((char_u *fname));
+extern void line_breakcheck __ARGS((void));
+extern void fast_breakcheck __ARGS((void));
+extern int expand_wildcards __ARGS((int num_pat, char_u **pat, int *num_file, char_u ***file, int flags));
+extern int match_suffix __ARGS((char_u *fname));
+extern int unix_expandpath __ARGS((garray_T *gap, char_u *path, int wildoff, int flags, int didstar));
+extern int gen_expand_wildcards __ARGS((int num_pat, char_u **pat, int *num_file, char_u ***file, int flags));
+extern void addfile __ARGS((garray_T *gap, char_u *f, int flags));
+extern char_u *get_cmd_output __ARGS((char_u *cmd, char_u *infile, int flags));
+extern void FreeWild __ARGS((int count, char_u **files));
+extern int goto_im __ARGS((void));
 /* vim: set ft=c : */
--- a/src/proto/option.pro
+++ b/src/proto/option.pro
@@ -1,56 +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));
-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((char_u *fname, char_u *envname));
-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((char_u *fname, char_u *envname));
+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/syntax.pro
+++ b/src/proto/syntax.pro
@@ -1,47 +1,47 @@
 /* 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));
-char_u *syn_id2name __ARGS((int id));
-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 char_u *syn_id2name __ARGS((int id));
+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
@@ -7,7 +7,7 @@ extern int u_savedel __ARGS((linenr_T ln
 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 u_sync __ARGS((int force));
 extern void ex_undolist __ARGS((exarg_T *eap));
 extern void ex_undojoin __ARGS((exarg_T *eap));
 extern void u_unchanged __ARGS((buf_T *buf));
--- a/src/proto/window.pro
+++ b/src/proto/window.pro
@@ -1,59 +1,61 @@
 /* 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((void));
-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 goto_tabpage_win __ARGS((tabpage_T *tp, win_T *wp));
+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 win_T *buf_jump_open_tab __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((void));
+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/spell.c
+++ b/src/spell.c
@@ -5959,7 +5959,7 @@ aff_process_flags(affile, entry)
 {
     char_u	*p;
     char_u	*prevp;
-    int		flag;
+    unsigned	flag;
 
     if (entry->ae_flags != NULL
 		&& (affile->af_compforbid != 0 || affile->af_comppermit != 0))
@@ -6474,6 +6474,7 @@ spell_read_dic(spin, fname, affile)
 	if (spin->si_ascii && has_non_ascii(w))
 	{
 	    ++non_ascii;
+	    vim_free(pc);
 	    continue;
 	}
 
@@ -6495,10 +6496,11 @@ spell_read_dic(spin, fname, affile)
 	/* Store the word in the hashtable to be able to find duplicates. */
 	dw = (char_u *)getroom_save(spin, w);
 	if (dw == NULL)
+	{
 	    retval = FAIL;
-	vim_free(pc);
-	if (retval == FAIL)
+	    vim_free(pc);
 	    break;
+	}
 
 	hash = hash_hash(dw);
 	hi = hash_lookup(&ht, dw, hash);
@@ -6558,6 +6560,8 @@ spell_read_dic(spin, fname, affile)
 			    CONDIT_SUF, flags, store_afflist, pfxlen) == FAIL)
 		retval = FAIL;
 	}
+
+	vim_free(pc);
     }
 
     if (duplicate > 0)
--- a/src/undo.c
+++ b/src/undo.c
@@ -551,7 +551,7 @@ u_undo(count)
      */
     if (curbuf->b_u_synced == FALSE)
     {
-	u_sync();
+	u_sync(TRUE);
 	count = 1;
     }
 
@@ -673,7 +673,7 @@ undo_time(step, sec, absolute)
 
     /* First make sure the current undoable change is synced. */
     if (curbuf->b_u_synced == FALSE)
-	u_sync();
+	u_sync(TRUE);
 
     u_newcount = 0;
     u_oldcount = 0;
@@ -1255,10 +1255,12 @@ u_undo_end(did_undo, absolute)
  * u_sync: stop adding to the current entry list
  */
     void
-u_sync()
+u_sync(force)
+    int	    force;	/* Also sync when no_u_sync is set. */
 {
-    if (curbuf->b_u_synced)
-	return;		    /* already synced */
+    /* Skip it when already synced or syncing is disabled. */
+    if (curbuf->b_u_synced || (!force && no_u_sync > 0))
+	return;
 #if defined(FEAT_XIM) && defined(FEAT_GUI_GTK)
     if (im_is_preediting())
 	return;		    /* XIM is busy, don't break an undo sequence */
--- a/src/version.h
+++ b/src/version.h
@@ -19,9 +19,9 @@
 #define VIM_VERSION_MINOR_STR		"0"
 #define VIM_VERSION_100	    (VIM_VERSION_MAJOR * 100 + VIM_VERSION_MINOR)
 
-#define VIM_VERSION_BUILD		 259
-#define VIM_VERSION_BUILD_BCD		0x103
-#define VIM_VERSION_BUILD_STR		"259"
+#define VIM_VERSION_BUILD		 260
+#define VIM_VERSION_BUILD_BCD		0x104
+#define VIM_VERSION_BUILD_STR		"260"
 #define VIM_VERSION_PATCHLEVEL		 0
 #define VIM_VERSION_PATCHLEVEL_STR	"0"
 /* Used by MacOS port should be one of: development, alpha, beta, final */
@@ -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	"vim70c"
-#define VIM_VERSION_SHORT	"7.0c"
-#define VIM_VERSION_MEDIUM	"7.0c13 BETA"
-#define VIM_VERSION_LONG	"VIM - Vi IMproved 7.0c13 BETA (2006 Apr 8)"
-#define VIM_VERSION_LONG_DATE	"VIM - Vi IMproved 7.0c13 BETA (2006 Apr 8, compiled "
+#define VIM_VERSION_NODOT	"vim70d"
+#define VIM_VERSION_SHORT	"7.0d"
+#define VIM_VERSION_MEDIUM	"7.0d BETA"
+#define VIM_VERSION_LONG	"VIM - Vi IMproved 7.0d BETA (2006 Apr 10)"
+#define VIM_VERSION_LONG_DATE	"VIM - Vi IMproved 7.0d BETA (2006 Apr 10, compiled "
--- a/src/window.c
+++ b/src/window.c
@@ -3527,6 +3527,26 @@ goto_tabpage_tp(tp)
 }
 
 /*
+ * Enter window "wp" in tab page "tp".
+ * Also updates the GUI tab.
+ */
+    void
+goto_tabpage_win(tp, wp)
+    tabpage_T	*tp;
+    win_T	*wp;
+{
+    goto_tabpage_tp(tp);
+    if (curtab == tp && win_valid(wp))
+    {
+	win_enter(wp, TRUE);
+# ifdef FEAT_GUI_TABLINE
+	if (gui_use_tabline())
+	    gui_mch_set_curtab(tabpage_index(curtab));
+# endif
+    }
+}
+
+/*
  * Move the current tab page to before tab page "nr".
  */
     void
@@ -3810,7 +3830,7 @@ win_enter_ext(wp, undo_sync, curwin_inva
 
     /* sync undo before leaving the current buffer */
     if (undo_sync && curbuf != wp->w_buffer)
-	u_sync();
+	u_sync(FALSE);
     /* may have to copy the buffer options when 'cpo' contains 'S' */
     if (wp->w_buffer != curbuf)
 	buf_copy_options(wp->w_buffer, BCO_ENTER | BCO_NOHELP);
@@ -3896,9 +3916,8 @@ win_enter_ext(wp, undo_sync, curwin_inva
 
 #if defined(FEAT_WINDOWS) || defined(FEAT_SIGNS) || defined(PROTO)
 /*
- * Jump to the first open window that contains buffer buf if one exists
- * TODO: Alternatively jump to last open window? Dependent from 'splitbelow'?
- * Returns pointer to window if it exists, otherwise NULL.
+ * Jump to the first open window that contains buffer "buf", if one exists.
+ * Returns a pointer to the window found, otherwise NULL.
  */
     win_T *
 buf_jump_open_win(buf)
@@ -3907,7 +3926,7 @@ buf_jump_open_win(buf)
 # ifdef FEAT_WINDOWS
     win_T	*wp;
 
-    for (wp = firstwin; wp; wp = wp->w_next)
+    for (wp = firstwin; wp != NULL; wp = wp->w_next)
 	if (wp->w_buffer == buf)
 	    break;
     if (wp != NULL)
@@ -3919,6 +3938,47 @@ buf_jump_open_win(buf)
     return NULL;
 # endif
 }
+
+/*
+ * Jump to the first open window in any tab page that contains buffer "buf",
+ * if one exists.
+ * Returns a pointer to the window found, otherwise NULL.
+ */
+    win_T *
+buf_jump_open_tab(buf)
+    buf_T	*buf;
+{
+# ifdef FEAT_WINDOWS
+    win_T	*wp;
+    tabpage_T	*tp;
+
+    /* First try the current tab page. */
+    wp = buf_jump_open_win(buf);
+    if (wp != NULL)
+	return wp;
+
+    for (tp = first_tabpage; tp != NULL; tp = tp->tp_next)
+	if (tp != curtab)
+	{
+	    for (wp = tp->tp_firstwin; wp != NULL; wp = wp->w_next)
+		if (wp->w_buffer == buf)
+		    break;
+	    if (wp != NULL)
+	    {
+		goto_tabpage_win(tp, wp);
+		if (curwin != wp)
+		    wp = NULL;	/* something went wrong */
+		break;
+	    }
+	}
+
+    return wp;
+# else
+    if (curwin->w_buffer == buf)
+	return curwin;
+    return NULL;
+# endif
+}
 #endif
 
 /*