changeset 856:8cd729851562 v7.0g

updated for version 7.0g
author vimboss
date Sun, 30 Apr 2006 18:54:39 +0000
parents d2a4f08396fe
children b933657f7c9d
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/autoload/csscomplete.vim runtime/autoload/htmlcomplete.vim runtime/autoload/javascriptcomplete.vim runtime/autoload/phpcomplete.vim runtime/autoload/xmlcomplete.vim runtime/colors/darkblue.vim runtime/colors/delek.vim 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_vimball.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/vim-fr.1 runtime/doc/vim-fr.UTF-8.1 runtime/doc/vim-it.1 runtime/doc/vim-it.UTF-8.1 runtime/doc/vimtutor-fr.1 runtime/doc/vimtutor-fr.UTF-8.1 runtime/doc/visual.txt runtime/doc/windows.txt runtime/doc/workshop.txt runtime/doc/xxd-fr.1 runtime/doc/xxd-fr.UTF-8.1 runtime/doc/xxd-it.UTF-8.1 runtime/filetype.vim runtime/ftplugin.vim runtime/ftplugin/flexwiki.vim runtime/ftplugin/matlab.vim runtime/ftplugin/scheme.vim runtime/indent/GenericIndent.vim runtime/indent/ada.vim runtime/indent/automake.vim runtime/indent/ch.vim runtime/indent/cmake.vim runtime/indent/config.vim runtime/indent/css.vim runtime/indent/docbk.vim runtime/indent/eterm.vim runtime/indent/html.vim runtime/indent/make.vim runtime/indent/mma.vim runtime/indent/mupad.vim runtime/indent/ocaml.vim runtime/indent/php.vim runtime/indent/python.vim runtime/indent/readline.vim runtime/indent/rst.vim runtime/indent/sh.vim runtime/indent/sql.vim runtime/indent/sqlanywhere.vim runtime/indent/tcl.vim runtime/indent/xf86conf.vim runtime/indent/yacc.vim runtime/indent/zsh.vim runtime/keymap/greek_cp737.vim runtime/keymap/greek_utf-8.vim runtime/keymap/kana.vim runtime/keymap/polish-slash.vim runtime/keymap/polish-slash_cp1250.vim runtime/keymap/polish-slash_cp852.vim runtime/keymap/polish-slash_iso-8859-2.vim runtime/keymap/polish-slash_utf-8.vim runtime/keymap/tamil_tscii.vim runtime/lang/menu_de_de.latin1.vim runtime/lang/menu_fr_fr.latin1.vim runtime/lang/menu_pl_pl.utf-8.vim runtime/macmap.vim runtime/macros/editexisting.vim runtime/syntax/2html.vim runtime/syntax/chordpro.vim runtime/syntax/d.vim runtime/syntax/eviews.vim runtime/syntax/gretl.vim runtime/syntax/java.vim runtime/syntax/mush.vim runtime/syntax/r.vim runtime/syntax/sql.vim runtime/syntax/synload.vim runtime/syntax/wsml.vim runtime/tutor/tutor.pl runtime/tutor/tutor.pl.cp1250 runtime/tutor/tutor.pl.utf-8 runtime/tutor/tutor.sk runtime/tutor/tutor.sk.cp1250 src/GvimExt/GvimExt.reg src/INSTALLmac.txt src/INSTALLpc.txt src/INSTALLvms.txt src/Make_bc5.mak src/Make_cyg.mak src/Make_vms.mms src/Makefile src/auto/configure src/configure.in src/eval.c src/ex_docmd.c src/ex_getln.c src/fileio.c src/getchar.c src/globals.h src/gui.c src/gui_gtk.c src/gui_gtk_x11.c src/gui_mac.c src/gui_motif.c src/gui_w32.c src/gui_xmebw.c src/hardcopy.c src/if_mzsch.c src/if_python.c src/if_ruby.c src/installman.sh src/installml.sh src/mbyte.c src/menu.c src/message.c src/misc1.c src/ops.c src/proto/buffer.pro src/proto/charset.pro src/proto/ex_getln.pro src/proto/getchar.pro src/proto/normal.pro src/proto/ops.pro src/proto/window.pro src/quickfix.c src/regexp.c src/screen.c src/testdir/Make_amiga.mak src/testdir/Make_dos.mak src/testdir/Make_os2.mak src/testdir/Make_vms.mms src/testdir/Makefile src/testdir/test34.in src/testdir/test34.ok src/testdir/test62.in src/testdir/test62.ok src/version.h src/vim.h src/window.c src/xxd/xxd.c
diffstat 282 files changed, 3481 insertions(+), 3085 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.0f.  Also runs under UNIX, MSDOS and other systems.
-		vim70frt.tgz  contains the documentation and syntax files.
-		vim70fbin.tgz contains the binaries.
-		vim70fsrc.tgz contains the sources.
+		Version 7.0g.  Also runs under UNIX, MSDOS and other systems.
+		vim70grt.tgz  contains the documentation and syntax files.
+		vim70gbin.tgz contains the binaries.
+		vim70gsrc.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 = 0f
+MINOR = 0g
 
 # Uncomment this line if the Win32s version is to be included.
 DOSBIN_S =  dosbin_s
--- a/README.txt
+++ b/README.txt
@@ -1,4 +1,4 @@
-README.txt for version 7.0f of Vim: Vi IMproved.
+README.txt for version 7.0g 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.0f of Vim: Vi IMproved.
+README_ami.txt for version 7.0g 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.0f of Vim: Vi IMproved.
+README_amibin.txt for version 7.0g 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.0f of Vim: Vi IMproved.
+README_amisrc.txt for version 7.0g 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.0f of Vim: Vi IMproved.
+README_bindos.txt for version 7.0g 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.0f of Vim: Vi IMproved.
+README_dos.txt for version 7.0g 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.0f of Vim: Vi IMproved.
+README_extra.txt for version 7.0g 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.0f of Vim: Vi IMproved.
+README_lang.txt for version 7.0g 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.0f of Vim: Vi IMproved.
+README_mac.txt for version 7.0g 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.0f of Vim: Vi IMproved.
+README_ole.txt for version 7.0g 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.0f of Vim: Vi IMproved.
+README_os2.txt for version 7.0g 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.0f of Vim: Vi IMproved.
+README_os_390.txt for version 7.0g 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.0f of Vim: Vi IMproved.
+README_src.txt for version 7.0g 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.0f of Vim: Vi IMproved.
+README_srcdos.txt for version 7.0g 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.0f of Vim: Vi IMproved.
+README_unix.txt for version 7.0g 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.0f of Vim: Vi IMproved.
+README_vms.txt for version 7.0g 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.
@@ -22,8 +22,8 @@ To use the binary version, you need one 
   vim-XX-exe-ia64-gui.zip       IA64 GUI/Motif executables
   vim-XX-exe-ia64-gtk.zip       IA64 GUI/GTK executables
   vim-XX-exe-ia64-term.zip      IA64 console executables
-  vim-XX-exe-axp-gui.zip        Alpha GUI/Motif executables
-  vim-XX-exe-axp-gtk.zip        Alpha GUI/GTK executables
+  vim-XX-exe-axp-gui.zip	Alpha GUI/Motif executables
+  vim-XX-exe-axp-gtk.zip	Alpha GUI/GTK executables
   vim-XX-exe-axp-term.zip       Alpha console executables
   vim-XX-exe-vax-gui.zip	VAX GUI executables
   vim-XX-exe-vax-term.zip       VAX console executables
@@ -34,12 +34,12 @@ and of course
 The binary archives contain: vim.exe, ctags.exe, xxd.exe files,
 but there are also prepared "deploy ready" archives:
 
-vim-XX-ia64.zip                 GUI and console executables with runtime and
-                                help files for IA64 systems
-vim-XX-axp.zip                  GUI and console executables with runtime and
-                                help files for Alpha systems
-vim-XX-vax.zip                  GUI and console executables with runtime and
-                                help files for VAX systems
+vim-XX-ia64.zip			GUI and console executables with runtime and
+				help files for IA64 systems
+vim-XX-axp.zip			GUI and console executables with runtime and
+				help files for Alpha systems
+vim-XX-vax.zip			GUI and console executables with runtime and
+				help files for VAX systems
 
 GTK builds need LIBGTK library installed.
 
--- a/README_w32s.txt
+++ b/README_w32s.txt
@@ -1,4 +1,4 @@
-README_w32s.txt for version 7.0f of Vim: Vi IMproved.
+README_w32s.txt for version 7.0g 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 0f
+!define VER_MINOR 0g
 
 # ----------- No configurable settings below this line -----------
 
--- a/runtime/autoload/csscomplete.vim
+++ b/runtime/autoload/csscomplete.vim
@@ -1,7 +1,7 @@
 " Vim completion script
 " Language:	CSS 2.1
 " Maintainer:	Mikolaj Machowski ( mikmach AT wp DOT pl )
-" Last Change:	2005 Oct 12
+" Last Change:	2006 Apr 30
 
 function! csscomplete#CompleteCSS(findstart, base)
 if a:findstart
@@ -19,12 +19,12 @@ else
 	" ^ ; : { } /* */
 	" Where ^ is start of line and /* */ are comment borders
 	" Depending on their relative position to cursor we will now what should
-	" be completed. 
+	" be completed.
 	" 1. if nearest are ^ or { or ; current word is property
 	" 2. if : it is value (with exception of pseudo things)
 	" 3. if } we are outside of css definitions
 	" 4. for comments ignoring is be the easiest but assume they are the same
-	"    as 1. 
+	"    as 1.
 	" 5. if @ complete at-rule
 	" 6. if ! complete important
 	if exists("b:compl_context")
@@ -385,7 +385,7 @@ else
 					let filestart = matchstr(entered_atruleafter, "^url([\"']\\?\\zs.*")
 					let files = split(glob(filestart.'*'), '\n')
 					let values = map(copy(files), '"url(".v:val')
-					
+
 				else
 					let values = ['"', 'url(']
 
--- a/runtime/autoload/htmlcomplete.vim
+++ b/runtime/autoload/htmlcomplete.vim
@@ -1,7 +1,7 @@
 " Vim completion script
 " Language:	HTML and XHTML
 " Maintainer:	Mikolaj Machowski ( mikmach AT wp DOT pl )
-" Last Change:	2006 Apr 24
+" Last Change:	2006 Apr 30
 
 function! htmlcomplete#CompleteTags(findstart, base)
   if a:findstart
@@ -23,7 +23,7 @@ function! htmlcomplete#CompleteTags(find
 	" Handling of <style> tag {{{
 	let stylestart = searchpair('<style\>', '', '<\/style\>', "bnW")
 	let styleend   = searchpair('<style\>', '', '<\/style\>', "nW")
-	if stylestart != 0 && styleend != 0 
+	if stylestart != 0 && styleend != 0
 		if stylestart <= curline && styleend >= curline
 			let start = col('.') - 1
 			let b:csscompl = 1
@@ -36,7 +36,7 @@ function! htmlcomplete#CompleteTags(find
 	" Handling of <script> tag {{{
 	let scriptstart = searchpair('<script\>', '', '<\/script\>', "bnW")
 	let scriptend   = searchpair('<script\>', '', '<\/script\>', "nW")
-	if scriptstart != 0 && scriptend != 0 
+	if scriptstart != 0 && scriptend != 0
 		if scriptstart <= curline && scriptend >= curline
 			let start = col('.') - 1
 			let b:jscompl = 1
@@ -109,7 +109,7 @@ function! htmlcomplete#CompleteTags(find
 			endwhile
 		endif
 		" If b:compl_context begins with <? we are inside of PHP code. It
-		" wasn't closed so PHP completion passed it to HTML 
+		" wasn't closed so PHP completion passed it to HTML
 		if &filetype =~? 'php' && b:compl_context =~ '^<?'
 			let b:phpcompl = 1
 			let start = col('.') - 1
@@ -200,7 +200,7 @@ function! htmlcomplete#CompleteTags(find
 
 	" If context contains > it means we are already outside of tag and we
 	" should abandon action
-	" If context contains white space it is attribute. 
+	" If context contains white space it is attribute.
 	" It can be also value of attribute.
 	" We have to get first word to offer proper completions
 	if context == ''
@@ -353,7 +353,7 @@ function! htmlcomplete#CompleteTags(find
 					let filelines = getline(1, line('$'))
 					" 2. Find lines with possible id
 					let used_id_lines = filter(filelines, 'v:val =~ "id\\s*=\\s*[\"''][a-zA-Z0-9_-]\\+"')
-					" 3a. Join all filtered lines 
+					" 3a. Join all filtered lines
 					let id_string = join(used_id_lines, ' ')
 					" 3b. And split them to be sure each id is in separate item
 					let id_list = split(id_string, 'id\s*=\s*')
@@ -432,7 +432,7 @@ function! htmlcomplete#CompleteTags(find
 				return javascriptcomplete#CompleteJS(0, js_context)
 
 			endif
-				
+
 			" }}}
 			let stripbase = matchstr(context, ".*\\(on[a-zA-Z]*\\|style\\|class\\)\\s*=\\s*[\"']\\zs.*")
 			" Now we have context stripped from all chars up to style/class.
@@ -508,7 +508,7 @@ function! htmlcomplete#CompleteTags(find
 			call htmlcomplete#LoadData()
 		endif
 		" }}}
-		
+
 		if has_key(b:html_omni, tag)
 			let attrs = keys(b:html_omni[tag][1])
 		else
@@ -600,7 +600,7 @@ function! htmlcomplete#CompleteTags(find
 		endif
 	endif
 	" }}}
-	
+
 	if exists("uppercase_tag") && uppercase_tag == 1
 		let context = tolower(context)
 	endif
--- a/runtime/autoload/javascriptcomplete.vim
+++ b/runtime/autoload/javascriptcomplete.vim
@@ -1,7 +1,7 @@
 " Vim completion script
 " Language:	Java Script
 " Maintainer:	Mikolaj Machowski ( mikmach AT wp DOT pl )
-" Last Change:	2006 Feb 6
+" Last Change:	2006 Apr 30
 
 function! javascriptcomplete#CompleteJS(findstart, base)
   if a:findstart
@@ -48,7 +48,7 @@ function! javascriptcomplete#CompleteJS(
 		let doms = ['style.']
 		" Arrays
 		let arrayprop = ['constructor', 'index', 'input', 'length', 'prototype']
-		let arraymeth = ['concat', 'join', 'pop', 'push', 'reverse', 'shift', 
+		let arraymeth = ['concat', 'join', 'pop', 'push', 'reverse', 'shift',
 					\ 'splice', 'sort', 'toSource', 'toString', 'unshift', 'valueOf',
 					\ 'watch', 'unwatch']
 		call map(arraymeth, 'v:val."("')
--- a/runtime/autoload/phpcomplete.vim
+++ b/runtime/autoload/phpcomplete.vim
@@ -1,7 +1,7 @@
 " Vim completion script
 " Language:	PHP
 " Maintainer:	Mikolaj Machowski ( mikmach AT wp DOT pl )
-" Last Change:	2006 Apr 15
+" Last Change:	2006 Apr 30
 "
 "   TODO:
 "   - Class aware completion:
@@ -72,7 +72,7 @@ function! phpcomplete#CompletePHP(findst
 		" Complete class name
 		" Internal solution for finding classes in current file.
 		let file = getline(1, '$')
-		call filter(file, 
+		call filter(file,
 				\ 'v:val =~ "class\\s\\+[a-zA-Z_\\x7f-\\xff][a-zA-Z_0-9\\x7f-\\xff]*\\s*("')
 		let fnames = join(map(tagfiles(), 'escape(v:val, " \\")'))
 		let jfile = join(file, ' ')
@@ -153,15 +153,15 @@ function! phpcomplete#CompletePHP(findst
 				" and ifs. No good solution
 				" Functions declared with public keyword or without any
 				" keyword are public
-				let functions = filter(deepcopy(sccontent), 
+				let functions = filter(deepcopy(sccontent),
 						\ 'v:val =~ "^\\s*\\(public\\s\\*\\)\\?function"')
 				let jfuncs = join(functions, ' ')
 				let sfuncs = split(jfuncs, 'function\s\+')
 				let c_functions = {}
 				for i in sfuncs
-					let f_name = matchstr(i, 
+					let f_name = matchstr(i,
 							\ '^&\?\zs[a-zA-Z_\x7f-\xff][a-zA-Z_0-9\x7f-\xff]*\ze')
-					let f_args = matchstr(i, 
+					let f_args = matchstr(i,
 							\ '^&\?[a-zA-Z_\x7f-\xff][a-zA-Z_0-9\x7f-\xff]*\s*(\zs.\{-}\ze)\_s*{')
 					if f_name != ''
 						let c_functions[f_name.'('] = f_args
@@ -169,13 +169,13 @@ function! phpcomplete#CompletePHP(findst
 				endfor
 				" Variables declared with var or with public keyword are
 				" public
-				let variables = filter(deepcopy(sccontent), 
+				let variables = filter(deepcopy(sccontent),
 						\ 'v:val =~ "^\\s*\\(public\\|var\\)\\s\\+\\$"')
 				let jvars = join(variables, ' ')
 				let svars = split(jvars, '\$')
 				let c_variables = {}
 				for i in svars
-					let c_var = matchstr(i, 
+					let c_var = matchstr(i,
 							\ '^\zs[a-zA-Z_\x7f-\xff][a-zA-Z_0-9\x7f-\xff]*\ze')
 					if c_var != ''
 						let c_variables[c_var] = ''
@@ -204,13 +204,13 @@ function! phpcomplete#CompletePHP(findst
 						if all_values[i] != ''
 							let class = i.' class '
 						endif
-						let final_list += 
-								\ [{'word':i, 
-								\   'info':class.all_values[i], 
+						let final_list +=
+								\ [{'word':i,
+								\   'info':class.all_values[i],
 								\   'kind':'v'}]
 					else
-						let final_list += 
-								\ [{'word':substitute(i, '.*::', '', ''), 
+						let final_list +=
+								\ [{'word':substitute(i, '.*::', '', ''),
 								\   'info':i.all_values[i].')',
 								\   'kind':'f'}]
 					endif
@@ -241,7 +241,7 @@ function! phpcomplete#CompletePHP(findst
 				let int_vars[adddollar.val] = ''
 			endif
 		endfor
-		
+
 		" ctags has good support for PHP, use tags file for external
 		" variables
 		let fnames = join(map(tagfiles(), 'escape(v:val, " \\")'))
@@ -256,7 +256,7 @@ function! phpcomplete#CompletePHP(findst
 				let classname = ''
 				if field['text'] =~ item.'\s*=\s*new\s\+'
 					let item = item.'->'
-					let classname = matchstr(field['text'], 
+					let classname = matchstr(field['text'],
 							\ '=\s*new\s\+\zs[a-zA-Z_0-9\x7f-\xff]\+\ze')
 				endif
 				let ext_vars[adddollar.item] = classname
@@ -268,16 +268,16 @@ function! phpcomplete#CompletePHP(findst
 
 		" Internal solution for finding functions in current file.
 		let file = getline(1, '$')
-		call filter(file, 
+		call filter(file,
 				\ 'v:val =~ "function\\s\\+&\\?[a-zA-Z_\\x7f-\\xff][a-zA-Z_0-9\\x7f-\\xff]*\\s*("')
 		let fnames = join(map(tagfiles(), 'escape(v:val, " \\")'))
 		let jfile = join(file, ' ')
 		let int_values = split(jfile, 'function\s\+')
 		let int_functions = {}
 		for i in int_values
-			let f_name = matchstr(i, 
+			let f_name = matchstr(i,
 					\ '^&\?\zs[a-zA-Z_\x7f-\xff][a-zA-Z_0-9\x7f-\xff]*\ze')
-			let f_args = matchstr(i, 
+			let f_args = matchstr(i,
 					\ '^&\?[a-zA-Z_\x7f-\xff][a-zA-Z_0-9\x7f-\xff]*\s*(\zs.\{-}\ze)\_s*{')
 			let int_functions[f_name.'('] = f_args.')'
 		endfor
@@ -291,7 +291,7 @@ function! phpcomplete#CompletePHP(findst
 				" File name
 				let item = matchstr(field['text'], '^[^[:space:]]\+')
 				let fname = matchstr(field['text'], '\t\zs\f\+\ze')
-				let prototype = matchstr(field['text'], 
+				let prototype = matchstr(field['text'],
 						\ 'function\s\+&\?[^[:space:]]\+\s*(\s*\zs.\{-}\ze\s*)\s*{\?')
 				let ext_functions[item.'('] = prototype.') - '.fname
 			endfor
@@ -320,8 +320,8 @@ function! phpcomplete#CompletePHP(findst
 				endif
 				let final_list += [{'word':i, 'info':class.all_values[i], 'kind':'v'}]
 			else
-				let final_list += 
-						\ [{'word':substitute(i, '.*::', '', ''), 
+				let final_list +=
+						\ [{'word':substitute(i, '.*::', '', ''),
 						\   'info':i.all_values[i],
 						\   'kind':'f'}]
 			endif
@@ -361,10 +361,10 @@ function! phpcomplete#CompletePHP(findst
 		let int_vars = {}
 		for i in int_vals
 			if i =~ '^\$[a-zA-Z_\x7f-\xff][a-zA-Z_0-9\x7f-\xff]*\s*=\s*new'
-				let val = matchstr(i, 
+				let val = matchstr(i,
 						\ '^\$[a-zA-Z_\x7f-\xff][a-zA-Z_0-9\x7f-\xff]*').'->'
 			else
-				let val = matchstr(i, 
+				let val = matchstr(i,
 						\ '^\$[a-zA-Z_\x7f-\xff][a-zA-Z_0-9\x7f-\xff]*')
 			endif
 			if val != ''
@@ -373,7 +373,7 @@ function! phpcomplete#CompletePHP(findst
 		endfor
 
 		call extend(int_vars,g:php_builtin_vars)
-		
+
 		" ctags has support for PHP, use tags file for external variables
 		let fnames = join(map(tagfiles(), 'escape(v:val, " \\")'))
 		let ext_vars = {}
@@ -387,7 +387,7 @@ function! phpcomplete#CompletePHP(findst
 				" Add -> if it is possible object declaration
 				if field['text'] =~ item.'\s*=\s*new\s\+'
 					let item = item.'->'
-					let m_menu = matchstr(field['text'], 
+					let m_menu = matchstr(field['text'],
 							\ '=\s*new\s\+\zs[a-zA-Z_0-9\x7f-\xff]\+\ze')
 				endif
 				let ext_vars[item] = m_menu
@@ -421,7 +421,7 @@ function! phpcomplete#CompletePHP(findst
 		return int_dict
 
 	else
-		" Complete everything else - 
+		" Complete everything else -
 		"  + functions,  DONE
 		"  + keywords of language DONE
 		"  + defines (constant definitions), DONE
@@ -431,16 +431,16 @@ function! phpcomplete#CompletePHP(findst
 
 		" Internal solution for finding functions in current file.
 		let file = getline(1, '$')
-		call filter(file, 
+		call filter(file,
 				\ 'v:val =~ "function\\s\\+&\\?[a-zA-Z_\\x7f-\\xff][a-zA-Z_0-9\\x7f-\\xff]*\\s*("')
 		let fnames = join(map(tagfiles(), 'escape(v:val, " \\")'))
 		let jfile = join(file, ' ')
 		let int_values = split(jfile, 'function\s\+')
 		let int_functions = {}
 		for i in int_values
-			let f_name = matchstr(i, 
+			let f_name = matchstr(i,
 					\ '^&\?\zs[a-zA-Z_\x7f-\xff][a-zA-Z_0-9\x7f-\xff]*\ze')
-			let f_args = matchstr(i, 
+			let f_args = matchstr(i,
 					\ '^&\?[a-zA-Z_\x7f-\xff][a-zA-Z_0-9\x7f-\xff]*\s*(\s*\zs.\{-}\ze\s*)\_s*{')
 			let int_functions[f_name.'('] = f_args.')'
 		endfor
@@ -454,7 +454,7 @@ function! phpcomplete#CompletePHP(findst
 				" File name
 				let item = matchstr(field['text'], '^[^[:space:]]\+')
 				let fname = matchstr(field['text'], '\t\zs\f\+\ze')
-				let prototype = matchstr(field['text'], 
+				let prototype = matchstr(field['text'],
 						\ 'function\s\+&\?[^[:space:]]\+\s*(\s*\zs.\{-}\ze\s*)\s*{\?')
 				let ext_functions[item.'('] = prototype.') - '.fname
 			endfor
@@ -472,7 +472,7 @@ function! phpcomplete#CompletePHP(findst
 		let int_constants = {}
 		for i in int_values
 			let c_name = matchstr(i, '\(["'']\)\zs[a-zA-Z_\x7f-\xff][a-zA-Z_0-9\x7f-\xff]*\ze\1')
-			" let c_value = matchstr(i, 
+			" let c_value = matchstr(i,
 			" \ '\(["'']\)[a-zA-Z_\x7f-\xff][a-zA-Z_0-9\x7f-\xff]*\1\s*,\s*\zs.\{-}\ze\s*)')
 			if c_name != ''
 				let int_constants[c_name] = '' " c_value
@@ -516,8 +516,8 @@ function! phpcomplete#CompletePHP(findst
 		let final_list = []
 		for i in int_list
 			if has_key(int_functions, i)
-				let final_list += 
-						\ [{'word':i, 
+				let final_list +=
+						\ [{'word':i,
 						\   'info':i.int_functions[i],
 						\   'kind':'f'}]
 			elseif has_key(int_constants, i)
@@ -599,17 +599,17 @@ endfunction
 
 function! phpcomplete#GetClassContents(file, name) " {{{
 	let cfile = join(a:file, "\n")
-	" We use new buffer and (later) normal! because 
+	" We use new buffer and (later) normal! because
 	" this is the most efficient way. The other way
 	" is to go through the looong string looking for
-	" matching {} 
+	" matching {}
 	below 1new
 	0put =cfile
 	call search('class\s\+'.a:name)
 	let cfline = line('.')
 	" Catch extends
 	if getline('.') =~ 'extends'
-		let extends_class = matchstr(getline('.'), 
+		let extends_class = matchstr(getline('.'),
 				\ 'class\s\+'.a:name.'\s\+extends\s\+\zs[a-zA-Z_0-9\x7f-\xff]\+\ze')
 	else
 		let extends_class = ''
@@ -965,8 +965,8 @@ let g:php_keywords = {
 " PHP builtin functions {{{
 " To create from scratch list of functions:
 " 1. Download multi html file PHP documentation
-" 2. run for i in `ls | grep "^function\."`; do grep -A4 Description $i >> funcs; done 
-" 3. Open funcs in Vim and 
+" 2. run for i in `ls | grep "^function\."`; do grep -A4 Description $i >> funcs; done
+" 3. Open funcs in Vim and
 "    a) g/Description/normal! 5J
 "    b) remove all html tags (it will require few s/// and g//)
 "    c) :%s/^\([^[:space:]]\+\) \([^[:space:]]\+\) ( \(.*\))/\\ '\2(': '\3| \1',
--- a/runtime/autoload/xmlcomplete.vim
+++ b/runtime/autoload/xmlcomplete.vim
@@ -1,7 +1,7 @@
 " Vim completion script
 " Language:	XML
 " Maintainer:	Mikolaj Machowski ( mikmach AT wp DOT pl )
-" Last Change:	2006 Apr 19
+" Last Change:	2006 Apr 30
 
 " This function will create Dictionary with users namespace strings and values
 " canonical (system) names of data files.  Names should be lowercase,
@@ -22,7 +22,7 @@ function! xmlcomplete#CreateConnection(c
 	endif
 
 	" Source data file. Due to suspected errors in autoload do it with
-	" :runtime. 
+	" :runtime.
 	" TODO: make it properly (using autoload, that is) later
 	exe "runtime autoload/xml/".a:canonical.".vim"
 
@@ -166,7 +166,7 @@ function! xmlcomplete#CompleteTags(finds
 	endif
 
     " find tags matching with "a:base"
-	" If a:base contains white space it is attribute. 
+	" If a:base contains white space it is attribute.
 	" It could be also value of attribute...
 	" We have to get first word to offer
 	" proper completions
--- a/runtime/colors/darkblue.vim
+++ b/runtime/colors/darkblue.vim
@@ -1,6 +1,6 @@
 " Vim color file
 " Maintainer:	Bohdan Vlasyuk <bohdan@vstu.edu.ua>
-" Last Change:	2006 Apr 21
+" Last Change:	2006 Apr 30
 
 " darkblue -- for those who prefer dark background
 " [note: looks bit uglier with come terminal palettes,
@@ -45,8 +45,8 @@ hi DiffChange	guibg=darkmagenta ctermbg=
 hi DiffDelete	ctermfg=blue ctermbg=cyan gui=bold guifg=Blue guibg=DarkCyan
 hi DiffText	cterm=bold ctermbg=red gui=bold guibg=Red
 
-hi Cursor   	guifg=black guibg=yellow ctermfg=black ctermbg=yellow
-hi lCursor   	guifg=black guibg=white ctermfg=black ctermbg=white
+hi Cursor	guifg=black guibg=yellow ctermfg=black ctermbg=yellow
+hi lCursor	guifg=black guibg=white ctermfg=black ctermbg=white
 
 
 hi Comment	guifg=#80a0ff ctermfg=darkred
--- a/runtime/colors/delek.vim
+++ b/runtime/colors/delek.vim
@@ -1,6 +1,6 @@
 " Vim color file
 " Maintainer:	David Schweikert <dws@ee.ethz.ch>
-" Last Change:	2006 Apr 14
+" Last Change:	2006 Apr 30
 
 hi clear
 
@@ -14,30 +14,30 @@ hi lCursor    guifg=NONE   guibg=Cyan
 " Note: we never set 'term' because the defaults for B&W terminals are OK
 hi DiffAdd    ctermbg=LightBlue    guibg=LightBlue
 hi DiffChange ctermbg=LightMagenta guibg=LightMagenta
-hi DiffDelete ctermfg=Blue         ctermbg=LightCyan gui=bold guifg=Blue guibg=LightCyan
-hi DiffText   ctermbg=Red          cterm=bold gui=bold guibg=Red
-hi Directory  ctermfg=DarkBlue     guifg=Blue
-hi ErrorMsg   ctermfg=White        ctermbg=DarkRed  guibg=Red       guifg=White
-hi FoldColumn ctermfg=DarkBlue     ctermbg=Grey     guibg=Grey      guifg=DarkBlue
-hi Folded     ctermbg=Grey         ctermfg=DarkBlue guibg=LightGrey guifg=DarkBlue
-hi IncSearch  cterm=reverse        gui=reverse
-hi LineNr     ctermfg=Brown        guifg=Brown
-hi ModeMsg    cterm=bold           gui=bold
+hi DiffDelete ctermfg=Blue	   ctermbg=LightCyan gui=bold guifg=Blue guibg=LightCyan
+hi DiffText   ctermbg=Red	   cterm=bold gui=bold guibg=Red
+hi Directory  ctermfg=DarkBlue	   guifg=Blue
+hi ErrorMsg   ctermfg=White	   ctermbg=DarkRed  guibg=Red	    guifg=White
+hi FoldColumn ctermfg=DarkBlue	   ctermbg=Grey     guibg=Grey	    guifg=DarkBlue
+hi Folded     ctermbg=Grey	   ctermfg=DarkBlue guibg=LightGrey guifg=DarkBlue
+hi IncSearch  cterm=reverse	   gui=reverse
+hi LineNr     ctermfg=Brown	   guifg=Brown
+hi ModeMsg    cterm=bold	   gui=bold
 hi MoreMsg    ctermfg=DarkGreen    gui=bold guifg=SeaGreen
-hi NonText    ctermfg=Blue         gui=bold guifg=gray guibg=white
+hi NonText    ctermfg=Blue	   gui=bold guifg=gray guibg=white
 hi Pmenu      guibg=LightBlue
-hi PmenuSel   ctermfg=White        ctermbg=DarkBlue  guifg=White  guibg=DarkBlue
+hi PmenuSel   ctermfg=White	   ctermbg=DarkBlue  guifg=White  guibg=DarkBlue
 hi Question   ctermfg=DarkGreen    gui=bold guifg=SeaGreen
-hi Search     ctermfg=NONE         ctermbg=Yellow guibg=Yellow guifg=NONE
-hi SpecialKey ctermfg=DarkBlue     guifg=Blue
-hi StatusLine cterm=bold           ctermbg=blue ctermfg=yellow guibg=gold guifg=blue
-hi StatusLineNC	cterm=bold         ctermbg=blue ctermfg=black  guibg=gold guifg=blue
+hi Search     ctermfg=NONE	   ctermbg=Yellow guibg=Yellow guifg=NONE
+hi SpecialKey ctermfg=DarkBlue	   guifg=Blue
+hi StatusLine cterm=bold	   ctermbg=blue ctermfg=yellow guibg=gold guifg=blue
+hi StatusLineNC	cterm=bold	   ctermbg=blue ctermfg=black  guibg=gold guifg=blue
 hi Title      ctermfg=DarkMagenta  gui=bold guifg=Magenta
-hi VertSplit  cterm=reverse        gui=reverse
-hi Visual     ctermbg=NONE         cterm=reverse gui=reverse guifg=Grey guibg=fg
+hi VertSplit  cterm=reverse	   gui=reverse
+hi Visual     ctermbg=NONE	   cterm=reverse gui=reverse guifg=Grey guibg=fg
 hi VisualNOS  cterm=underline,bold gui=underline,bold
-hi WarningMsg ctermfg=DarkRed      guifg=Red
-hi WildMenu   ctermfg=Black        ctermbg=Yellow    guibg=Yellow guifg=Black
+hi WarningMsg ctermfg=DarkRed	   guifg=Red
+hi WildMenu   ctermfg=Black	   ctermbg=Yellow    guibg=Yellow guifg=Black
 
 " syntax highlighting
 hi Comment    cterm=NONE ctermfg=DarkRed     gui=NONE guifg=red2
--- a/runtime/doc/arabic.txt
+++ b/runtime/doc/arabic.txt
@@ -1,4 +1,4 @@
-*arabic.txt*	For Vim version 7.0f.  Last change: 2005 Mar 29
+*arabic.txt*	For Vim version 7.0g.  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.0f.  Last change: 2006 Apr 25
+*autocmd.txt*   For Vim version 7.0g.  Last change: 2006 Apr 30
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -162,7 +162,7 @@ was last defined. Example: >
 
     :verbose autocmd BufEnter
     FileExplorer  BufEnter
-	*         call s:LocalBrowse(expand("<amatch>"))
+	*	  call s:LocalBrowse(expand("<amatch>"))
 	    Last set from /usr/share/vim/vim-7.0/plugin/NetrwPlugin.vim
 <
 See |:verbose-cmd| for more information.
@@ -884,8 +884,8 @@ buffer actually still exists (it becomes
 still executed.
 
 ==============================================================================
-7. Buffer-local autocommands  	*autocmd-buflocal* *autocmd-buffer-local*
-                                    	*<buffer=N>* *<buffer=abuf>* *E680*
+7. Buffer-local autocommands	*autocmd-buflocal* *autocmd-buffer-local*
+					*<buffer=N>* *<buffer=abuf>* *E680*
 
 Buffer-local autocommands are attached to a specific buffer.  They are useful
 if the buffer does not have a name and when the name does not match a specific
@@ -904,14 +904,14 @@ Examples: >
 
 All the commands for autocommands also work with buffer-local autocommands,
 simply use the special string instead of the pattern.  Examples: >
-    :au! * <buffer>     	     " remove buffer-local autocommands for
-                                     " current buffer
-    :au! * <buffer=33>  	     " remove buffer-local autocommands for
-    				     " buffer #33
+    :au! * <buffer>		     " remove buffer-local autocommands for
+				     " current buffer
+    :au! * <buffer=33>		     " remove buffer-local autocommands for
+				     " buffer #33
     :dobuf :au! CursorHold <buffer>  " remove autocmd for given event for all
-    				     " buffers
-    :au * <buffer>       	     " list buffer-local autocommands for
-    				     " current buffer
+				     " buffers
+    :au * <buffer>		     " list buffer-local autocommands for
+				     " current buffer
 
 Note that when an autocommand is defined for the current buffer, it is stored
 with the buffer number.  Thus it uses the form "<buffer=12>", where 12 is the
--- a/runtime/doc/change.txt
+++ b/runtime/doc/change.txt
@@ -1,4 +1,4 @@
-*change.txt*    For Vim version 7.0f.  Last change: 2006 Apr 25
+*change.txt*    For Vim version 7.0g.  Last change: 2006 Apr 30
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -470,7 +470,7 @@ For example: >
 ==============================================================================
 4. Complex changes					*complex-change*
 
-4.1 Filter commands 					*filter*
+4.1 Filter commands					*filter*
 
 A filter is a program that accepts text at standard input, changes it in some
 way, and sends it to standard output.  You can use the commands below to send
@@ -900,7 +900,7 @@ 5. Copying and moving text				*copy-move
 							*<MiddleMouse>*
 ["x]<MiddleMouse>	Put the text from a register before the cursor [count]
 			times.  Uses the "* register, unless another is
-			specified.  
+			specified.
 			Leaves the cursor at the end of the new text.
 			Using the mouse only works when 'mouse' contains 'n'
 			or 'a'.
--- a/runtime/doc/cmdline.txt
+++ b/runtime/doc/cmdline.txt
@@ -1,4 +1,4 @@
-*cmdline.txt*   For Vim version 7.0f.  Last change: 2006 Mar 16
+*cmdline.txt*   For Vim version 7.0g.  Last change: 2006 Apr 30
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -663,7 +663,7 @@ closed fold.  See |fold-behavior|.
 Reverse Range						*E493*
 
 A range should have the lower line number first.  If this is not the case, Vim
-will ask you if it should swap the line numbers. 
+will ask you if it should swap the line numbers.
 	Backwards range given, OK to swap ~
 This is not done within the global command ":g".
 
--- a/runtime/doc/debug.txt
+++ b/runtime/doc/debug.txt
@@ -1,4 +1,4 @@
-*debug.txt*     For Vim version 7.0f.  Last change: 2006 Apr 24
+*debug.txt*     For Vim version 7.0g.  Last change: 2006 Apr 30
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -10,7 +10,7 @@ This is for debugging Vim itself, when i
 For debugging Vim scripts, functions, etc. see |debug-scripts|
 
 1. Location of a crash, using gcc and gdb	|debug-gcc|
-2. Windows Bug Reporting               		|debug-win32|
+2. Windows Bug Reporting			|debug-win32|
 
 ==============================================================================
 
@@ -38,7 +38,7 @@ 4. Get a stack trace from gdb with this 
 
 ==============================================================================
 
-2. Windows Bug Reporting                       		*debug-win32*
+2. Windows Bug Reporting				*debug-win32*
 
 If the Windows version of Vim crashes in a reproducible manner, you can take
 some steps to provide a useful bug report.
--- a/runtime/doc/debugger.txt
+++ b/runtime/doc/debugger.txt
@@ -1,4 +1,4 @@
-*debugger.txt*  For Vim version 7.0f.  Last change: 2005 Mar 29
+*debugger.txt*  For Vim version 7.0g.  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.0f.  Last change: 2006 Mar 09
+*develop.txt*   For Vim version 7.0g.  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.0f.  Last change: 2006 Apr 14
+*diff.txt*      For Vim version 7.0g.  Last change: 2006 Apr 14
 
 
 		  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.0f.  Last change: 2006 Apr 25
+*digraph.txt*   For Vim version 7.0g.  Last change: 2006 Apr 25
 
 
 		  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.0f.  Last change: 2006 Apr 29
+*editing.txt*   For Vim version 7.0g.  Last change: 2006 Apr 30
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -433,9 +433,9 @@ Where {optname} is one of:	    *++ff* *+
     enc    or  encoding	    overrides 'fileencoding'
     bin    or  binary	    sets 'binary'
     nobin  or  nobinary	    resets 'binary'
-    bad                     specifies behavior for bad characters
+    bad			    specifies behavior for bad characters
     edit		    for |:read| only: keep option values as if editing
-    			    a file
+			    a file
 
 {value} cannot contain white space.  It can be any valid value for these
 options.  Examples: >
@@ -453,7 +453,7 @@ The argument of "++bad=" specifies what 
 converted and illegal bytes.  It can be one of three things:
     ++bad=X      A single-byte character that replaces each bad character.
     ++bad=keep   Keep bad characters without conversion.  Note that this may
-    		 result in illegal bytes in your text!
+		 result in illegal bytes in your text!
     ++bad=drop   Remove the bad characters.
 
 The default is like "++bad=?": Replace each bad character with a question
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1,4 +1,4 @@
-*eval.txt*      For Vim version 7.0f.  Last change: 2006 Apr 29
+*eval.txt*      For Vim version 7.0g.  Last change: 2006 Apr 30
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -1681,7 +1681,7 @@ remote_read( {serverid})	String	read rep
 remote_send( {server}, {string} [, {idvar}])
 				String	send key sequence
 remove( {list}, {idx} [, {end}])  any	remove items {idx}-{end} from {list}
-remove( {dict}, {key})  	any	remove entry {key} from {dict}
+remove( {dict}, {key})		any	remove entry {key} from {dict}
 rename( {from}, {to})		Number	rename (move) file from {from} to {to}
 repeat( {expr}, {count})	String	repeat {expr} {count} times
 resolve( {filename})		String	get filename a shortcut points to
@@ -2323,7 +2323,7 @@ exists({expr})	The result is a Number, w
 			#group#event	autocommand defined for this group and
 					event.
 			#group#event#pattern
-					autocommand defined for this group, 
+					autocommand defined for this group,
 					event and pattern.
 			##event		autocommand for this event is
 					supported.
@@ -2450,7 +2450,7 @@ extend({expr1}, {expr2} [, {expr3}])			*
 		used to decide what to do:
 		{expr3} = "keep": keep the value of {expr1}
 		{expr3} = "force": use the value of {expr2}
-		{expr3} = "error": give an error message 		*E737*
+		{expr3} = "error": give an error message		*E737*
 		When {expr3} is omitted then "force" is assumed.
 
 		{expr1} is changed when {expr2} is not empty.  If necessary
@@ -3538,7 +3538,7 @@ match({expr}, {pat}[, {start}[, {count}]
 
 
 matcharg({nr})							*matcharg()*
-		Selects the {nr} match item, as set with a |:match|, 
+		Selects the {nr} match item, as set with a |:match|,
 		|:2match| or |:3match| command.
 		Return a |List| with two elements:
 			The name of the highlight group used
@@ -3696,7 +3696,7 @@ printf({fmt}, {expr1} ...)				*printf()*
 			"  99: E42 asdfasdfasdfasdfasdfasdfasdfas" ~
 
 		Often used items are:
-		  %s   	string
+		  %s	string
 		  %6s	string right-aligned in 6 bytes
 		  %.9s  string truncated to 9 bytes
 		  %c    single byte
@@ -3717,7 +3717,7 @@ printf({fmt}, {expr1} ...)				*printf()*
 
 			%  [flags]  [field-width]  [.precision]  type
 
-	        flags
+		flags
 			Zero or more of the following flags:
 
 		    #	      The value should be converted to an "alternate
@@ -3779,7 +3779,7 @@ printf({fmt}, {expr1} ...)				*printf()*
 <		This limits the length of the text used from "line" to
 		"width" bytes.
 
-	        The conversion specifiers and their meanings are:
+		The conversion specifiers and their meanings are:
 
 		doxX    The Number argument is converted to signed decimal
 			(d), unsigned octal (o), or unsigned hexadecimal (x
@@ -3833,10 +3833,10 @@ range({expr} [, {max} [, {stride}]])				
 		empty list.  When the maximum is more than one before the
 		start this is an error.
 		Examples: >
-			range(4) 		" [0, 1, 2, 3]
+			range(4)		" [0, 1, 2, 3]
 			range(2, 4)		" [2, 3, 4]
 			range(2, 9, 3)		" [2, 5, 8]
-			range(2, -2, -1) 	" [2, 1, 0, -1, -2]
+			range(2, -2, -1)	" [2, 1, 0, -1, -2]
 			range(0)		" []
 			range(2, 0)		" error!
 <
@@ -4100,7 +4100,7 @@ search({pattern} [, {flags} [, {stopline
 
 searchdecl({name} [, {global} [, {thisblock}]])			*searchdecl()*
 		Search for the declaration of {name}.
-		
+
 		With a non-zero {global} argument it works like |gD|, find
 		first match in the file.  Otherwise it works like |gd|, find
 		first match in the function.
@@ -4306,7 +4306,7 @@ setpos({expr}, {list})
 		    [bufnum, lnum, col, off]
 
 		"bufnum" is the buffer number.  Zero can be used for the
-		current buffer.  Setting the cursor is only possible for 
+		current buffer.  Setting the cursor is only possible for
 		the current buffer.  To set a mark in another buffer you can
 		use the |bufnr()| function to turn a file name into a buffer
 		number.
@@ -4334,7 +4334,7 @@ setqflist({list} [, {action}])				*setqf
 		    pattern	search pattern used to locate the error
 		    col		column number
 		    vcol	when non-zero: "col" is visual column
-		    		when zero: "col" is byte index
+				when zero: "col" is byte index
 		    nr		error number
 		    text	description of the error
 		    type	single-character error type, 'E', 'W', etc.
@@ -4478,7 +4478,7 @@ spellbadword([{sentence}])
 		The return value is a list with two items:
 		- The badly spelled word or an empty string.
 		- The type of the spelling error:
-		  	"bad"		spelling mistake
+			"bad"		spelling mistake
 			"rare"		rare word
 			"local"		word only valid in another region
 			"caps"		word should start with Capital
@@ -4545,7 +4545,7 @@ str2nr( {expr} [, {base}])				*str2nr()*
 		When {base} is 16 a leading "0x" or "0X" is ignored.  With a
 		different base the result will be zero.
 		Text after the number is silently ignored.
-	
+
 
 strftime({format} [, {time}])				*strftime()*
 		The result is a String, which is a formatted date and time, as
@@ -4581,7 +4581,7 @@ stridx({haystack}, {needle} [, {start}])
 		  :echo stridx("An Example", "Example")	     3
 		  :echo stridx("Starting point", "Start")    0
 		  :echo stridx("Starting point", "start")   -1
-<	  					*strstr()* *strchr()*
+<						*strstr()* *strchr()*
 		stridx() works similar to the C function strstr().  When used
 		with a single character it works similar to strchr().
 
@@ -4638,7 +4638,7 @@ strridx({haystack}, {needle} [, {start}]
 		If the {needle} is empty the length of {haystack} is returned.
 		See also |stridx()|.  Examples: >
 		  :echo strridx("an angry armadillo", "an")	     3
-<		  					*strrchr()*
+<							*strrchr()*
 		When used with a single character it works similar to the C
 		function strrchr().
 
@@ -4937,10 +4937,11 @@ virtcol({expr})						*virtcol()*
 
 visualmode([expr])						*visualmode()*
 		The result is a String, which describes the last Visual mode
-		used.  Initially it returns an empty string, but once Visual
-		mode has been used, it returns "v", "V", or "<CTRL-V>" (a
-		single CTRL-V character) for character-wise, line-wise, or
-		block-wise Visual mode respectively.
+		used in the current buffer.  Initially it returns an empty
+		string, but once Visual mode has been used, it returns "v",
+		"V", or "<CTRL-V>" (a single CTRL-V character) for
+		character-wise, line-wise, or block-wise Visual mode
+		respectively.
 		Example: >
 			:exe "normal " . visualmode()
 <		This enters the same Visual mode as before.  It is also useful
@@ -5301,7 +5302,7 @@ last defined. Example: >
 <
 See |:verbose-cmd| for more information.
 
- 							*E124* *E125*
+							*E124* *E125*
 :fu[nction][!] {name}([arguments]) [range] [abort] [dict]
 			Define a new function by the name {name}.  The name
 			must be made of alphanumeric characters and '_', and
@@ -5754,7 +5755,7 @@ 7. Commands						*expression-commands*
 			variable is indicated before the value:
 			    <nothing>	String
 				#	Number
-			    	*	Funcref
+				*	Funcref
 
 
 :unl[et][!] {name} ...					*:unlet* *:unl* *E108*
--- a/runtime/doc/farsi.txt
+++ b/runtime/doc/farsi.txt
@@ -1,4 +1,4 @@
-*farsi.txt*     For Vim version 7.0f.  Last change: 2005 Mar 29
+*farsi.txt*     For Vim version 7.0g.  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.0f.  Last change: 2006 Apr 28
+*filetype.txt*  For Vim version 7.0g.  Last change: 2006 Apr 28
 
 
 		  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.0f.  Last change: 2006 Mar 29
+*fold.txt*      For Vim version 7.0g.  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.0f.  Last change: 2006 Mar 24
+*getscript.txt*	For Vim version 7.0g.  Last change: 2006 Apr 30
 
 		Get the Latest VimScripts
 
@@ -6,10 +6,10 @@ Authors:  Charles E. Campbell, Jr.  <Ndr
 	  (remove NOSPAM from the email address)
 						*GetLatestVimScripts-copyright*
 Copyright: (c) 2004-2005 by Charles E. Campbell, Jr.
-           The VIM LICENSE applies to GetLatestVimScripts.vim and
-           GetLatestVimScripts.txt (see |copyright|) except use
-           "GetLatestVimScripts" instead of "Vim".
-           No warranty, express or implied.  Use At-Your-Own-Risk.
+	   The VIM LICENSE applies to GetLatestVimScripts.vim and
+	   GetLatestVimScripts.txt (see |copyright|) except use
+	   "GetLatestVimScripts" instead of "Vim".
+	   No warranty, express or implied.  Use At-Your-Own-Risk.
 
 
 ==============================================================================
@@ -99,12 +99,12 @@ 4. GetLatestVimScripts Plugins	*getlates
 	plugin, GetLatestVimScripts will find it and use it to build user's
 	GetLatestVimScripts.dat files:
 >
-	                             src_id
-		                            v
+				     src_id
+					    v
 		" GetLatestVimScripts: ### ### yourscriptname
-		                        ^
-		                    scriptid
-<   
+					^
+				    scriptid
+<
 	As an author, you should include such a line in to refer to your own
 	script plus any additional lines describing any plugin dependencies it
 	may have.  Same format, of course!
@@ -146,12 +146,12 @@ 5. GetLatestVimScripts AutoInstall	*getl
 	to do to install them (please refer to the script's "install"
 	directions).  On the other hand, most scripts will be
 	auto-installable.
-	
+
 	To let GetLatestVimScripts do an autoinstall, the data file's comment
 	field should begin with (surrounding blanks are ignored):
-	
+
 		:AutoInstall:
-	
+
 	Both colons are needed, and it should begin the comment
 	(yourscriptname) field.
 
@@ -160,16 +160,16 @@ 5. GetLatestVimScripts AutoInstall	*getl
 >
 		let g:GetLatestVimScripts_allowautoinstall= 0
 <
-	
+
 	With :AutoInstall: enabled, as it is by default, files which end with
-	
+
 	  ---.tar.bz2  : decompressed and untarred in [.vim|vimfiles] directory
 	  ---.tar.gz   : decompressed and untarred in [.vim|vimfiles] directory
 	  ---.vim.bz2  : decompressed and moved to the .vim/plugin directory
 	  ---.vim.gz   : decompressed and moved to the .vim/plugin directory
 	  ---.zip      : unzipped in [.vim|vimfiles] directory
 	  ---.vim      : moved to [.vim|vimfiles]/plugin directory
-	
+
 	and which merely need to have their components placed by the
 	untar/gunzip or move-to-plugin-directory process should be
 	auto-installable.
@@ -186,7 +186,7 @@ 5. GetLatestVimScripts AutoInstall	*getl
 	Currently, vim's after/syntax only supports by-filetype scripts (in
 	blockhl.vim's case, that's after/syntax/c.vim).  Hence, auto-install
 	would possibly overwrite the current user's after/syntax/c.vim file.
-	
+
 	In my own case, I use <aftersyntax.vim> (renamed to
 	after/syntax/c.vim) to allow a after/syntax/c/ directory:
 >
@@ -221,7 +221,7 @@ 6. GetLatestVimScripts Algorithm	*getlat
 		Move the file from GetLatest/ to the following directory
 			Unix   : $HOME/.vim
 			Windows: $HOME\vimfiles
-	
+
 		if the downloaded file ends with ".bz2"
 			bunzip2 it
 		else if the downloaded file ends with ".gz"
@@ -238,66 +238,66 @@ 6. GetLatestVimScripts Algorithm	*getlat
 7. GetLatestVimScripts History       *getlatestvimscripts-history* *glvs-hist*
 
 	v20 Dec 23, 2005 : * Eric Haarbauer found&fixed a bug with unzip use;
-	                     unzip needs the -o flag to overwrite.
+			     unzip needs the -o flag to overwrite.
 	v19 Nov 28, 2005 : * v18's GetLatestVimScript line accessed the wrong
-	                     script! Fixed.
+			     script! Fixed.
 	v18 Mar 21, 2005 : * bugfix to automatic database construction
-	                   * bugfix - nowrapscan caused an error
-	                     (tnx to David Green for the fix)
+			   * bugfix - nowrapscan caused an error
+			     (tnx to David Green for the fix)
 	    Apr 01, 2005   * if shell is bash, "mv" instead of "ren" used in
-	                     :AutoInstall:s, even though its o/s is windows
+			     :AutoInstall:s, even though its o/s is windows
 	    Apr 01, 2005   * when downloading errors occurred, GLVS was
-	                     terminating early.  It now just goes on to trying
-	                     the next script (after trying three times to
-	                     download a script description page)
+			     terminating early.  It now just goes on to trying
+			     the next script (after trying three times to
+			     download a script description page)
 	    Apr 20, 2005   * bugfix - when a failure to download occurred,
-	                     GetLatestVimScripts would stop early and claim that
-	                     everything was current.  Fixed.
+			     GetLatestVimScripts would stop early and claim that
+			     everything was current.  Fixed.
 	v17 Aug 25, 2004 : * g:GetLatestVimScripts_allowautoinstall, which
-	                     defaults to 1, can be used to prevent all
-	                     :AutoInstall:
+			     defaults to 1, can be used to prevent all
+			     :AutoInstall:
 	v16 Aug 25, 2004 : * made execution of bunzip2/gunzip/tar/zip silent
-	                   * fixed bug with :AutoInstall: use of helptags
+			   * fixed bug with :AutoInstall: use of helptags
 	v15 Aug 24, 2004 : * bugfix: the "0 0 comment" download prevention wasn't
-	                     always preventing downloads (just usually).  Fixed.
+			     always preventing downloads (just usually).  Fixed.
 	v14 Aug 24, 2004 : * bugfix -- helptags was using dotvim, rather than
-	                     s:dotvim.  Fixed.
+			     s:dotvim.	Fixed.
 	v13 Aug 23, 2004 : * will skip downloading a file if its scriptid or srcid
-	                     is zero.  Useful for script authors; that way their
-	                     own GetLatestVimScripts activity won't overwrite
-	                     their scripts.
+			     is zero.  Useful for script authors; that way their
+			     own GetLatestVimScripts activity won't overwrite
+			     their scripts.
 	v12 Aug 23, 2004 : * bugfix - a "return" got left in the distribution that
-	                     was intended only for testing.  Removed, now works.
-	                   * :AutoInstall: implemented
+			     was intended only for testing.  Removed, now works.
+			   * :AutoInstall: implemented
 	v11 Aug 20, 2004 : * GetLatestVimScripts is now a plugin:
-	                   * :GetLatestVimScripts command
-	                   * (runtimepath)/GetLatest/GetLatestVimScripts.dat
-	                     now holds scripts that need updating
+			   * :GetLatestVimScripts command
+			   * (runtimepath)/GetLatest/GetLatestVimScripts.dat
+			     now holds scripts that need updating
 	v10 Apr 19, 2004 : * moved history from script to doc
 	v9  Jan 23, 2004 :   windows (win32/win16/win95) will use
-	                     double quotes ("") whereas other systems will use
-	                     single quotes ('') around the urls in calls via wget
+			     double quotes ("") whereas other systems will use
+			     single quotes ('') around the urls in calls via wget
 	v8  Dec 01, 2003 :   makes three tries at downloading
 	v7  Sep 02, 2003 :   added error messages if "Click on..." or "src_id="
-	                     not found in downloaded webpage
-	                     Uses t_ti, t_te, and rs to make progress visible
+			     not found in downloaded webpage
+			     Uses t_ti, t_te, and rs to make progress visible
 	v6  Aug 06, 2003 :   final status messages now display summary of work
-	                     ( "Downloaded someqty scripts" or
-	                       "Everything was current")
-	                     Now GetLatestVimScripts is careful about downloading
-	                     GetLatestVimScripts.vim itself!
-	                     (goes to <NEW_GetLatestVimScripts.vim>)
+			     ( "Downloaded someqty scripts" or
+			       "Everything was current")
+			     Now GetLatestVimScripts is careful about downloading
+			     GetLatestVimScripts.vim itself!
+			     (goes to <NEW_GetLatestVimScripts.vim>)
 	v5  Aug 04, 2003 :   missing an endif near bottom
 	v4  Jun 17, 2003 :   redraw! just before each "considering" message
 	v3  May 27, 2003 :   Protects downloaded files from errant shell
-	                     expansions with single quotes: '...'
+			     expansions with single quotes: '...'
 	v2  May 14, 2003 :   extracts name of item to be obtained from the
-	                     script file.  Uses it instead of comment field
-	                     for output filename; comment is used in the
-	                     "considering..." line and is now just a comment!
-	                   * Fixed a bug: a string-of-numbers is not the
-	                     same as a number, so I added zero to them
-	                     and they became numbers.  Fixes comparison.
+			     script file.  Uses it instead of comment field
+			     for output filename; comment is used in the
+			     "considering..." line and is now just a comment!
+			   * Fixed a bug: a string-of-numbers is not the
+			     same as a number, so I added zero to them
+			     and they became numbers.  Fixes comparison.
 
 ==============================================================================
 vim:tw=78:ts=8:ft=help
--- a/runtime/doc/gui.txt
+++ b/runtime/doc/gui.txt
@@ -1,4 +1,4 @@
-*gui.txt*       For Vim version 7.0f.  Last change: 2006 Apr 02
+*gui.txt*       For Vim version 7.0g.  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.0f.  Last change: 2005 Mar 29
+*gui_w16.txt*   For Vim version 7.0g.  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.0f.  Last change: 2005 Mar 29
+*gui_w32.txt*   For Vim version 7.0g.  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.0f.  Last change: 2005 Dec 06
+*gui_x11.txt*   For Vim version 7.0g.  Last change: 2006 Apr 30
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -12,7 +12,7 @@ 3. Shell Commands		|gui-pty|
 4. Various			|gui-x11-various|
 5. GTK version			|gui-gtk|
 6. GNOME version		|gui-gnome|
-7. KDE version                  |gui-kde|
+7. KDE version			|gui-kde|
 8. Compiling			|gui-x11-compiling|
 9. X11 selection mechanism	|x11-selection|
 
--- a/runtime/doc/hangulin.txt
+++ b/runtime/doc/hangulin.txt
@@ -1,4 +1,4 @@
-*hangulin.txt*  For Vim version 7.0f.  Last change: 2006 Apr 02
+*hangulin.txt*  For Vim version 7.0g.  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.0f.  Last change: 2003 May 11
+*hebrew.txt*    For Vim version 7.0g.  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.0f.  Last change: 2006 Apr 02
+*help.txt*	For Vim version 7.0g.  Last change: 2006 Apr 30
 
 			VIM - main help file
 									 k
@@ -18,12 +18,12 @@ Get specific help:  It is possible to go
 							*help-context*
 			  WHAT			PREPEND    EXAMPLE	~
 		      Normal mode command      (nothing)   :help x
-		      Visual mode command 	  v_	   :help v_u
-		      Insert mode command 	  i_	   :help i_<Esc>
-		      Command-line command 	  :	   :help :quit
+		      Visual mode command	  v_	   :help v_u
+		      Insert mode command	  i_	   :help i_<Esc>
+		      Command-line command	  :	   :help :quit
 		      Command-line editing	  c_	   :help c_<Del>
-		      Vim command argument 	  -	   :help -r
-		      Option 			  '	   :help 'textwidth'
+		      Vim command argument	  -	   :help -r
+		      Option			  '	   :help 'textwidth'
   Search for help:  Type ":help word", then hit CTRL-D to see matching
 		    help entries for "word".
 
--- a/runtime/doc/howto.txt
+++ b/runtime/doc/howto.txt
@@ -1,4 +1,4 @@
-*howto.txt*	For Vim version 7.0f.  Last change: 2006 Apr 02
+*howto.txt*	For Vim version 7.0g.  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.0f.  Last change: 2005 Mar 29
+*if_cscop.txt*  For Vim version 7.0g.  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.0f.  Last change: 2006 Mar 06
+*if_mzsch.txt*  For Vim version 7.0g.  Last change: 2006 Apr 30
 
 
 		  VIM REFERENCE MANUAL    by Sergey Khorev
@@ -41,7 +41,7 @@ 1. Commands						*mzscheme-commands*
 							*:mzfile* *:mzf*
 :[range]mzf[ile] {file}	Execute the MzScheme script in {file}.  {not in Vi}
 			All statements are executed in the namespace of the
-                        buffer that was current during :mzfile start.
+			buffer that was current during :mzfile start.
 			If you want to access other namespaces, use
 			'parameterize'.
 
@@ -196,8 +196,8 @@ Buffers							 *mzscheme-buffer*
     (set-buff-line {linenr} {string} [buffer])
 				    Set a line in a buffer. If {string} is #f,
 				    the line gets deleted.  The [buffer]
-                                    argument is optional. If omitted, the
-                                    current buffer will be used.
+				    argument is optional. If omitted, the
+				    current buffer will be used.
     (get-buff-line-list {start} {end} [buffer])
 				    Get a list of lines in a buffer. {Start}
 				    and {end} are 1-based. {Start} is
@@ -262,7 +262,7 @@ In a console window type "path" to see w
 
 The names of the DLLs must match the MzScheme version Vim was compiled with.
 For MzScheme version 209 they will be "libmzsch209_000.dll" and
-"libmzgc209_000.dll". To know for sure edit "gvim.exe" and search for 
+"libmzgc209_000.dll". To know for sure edit "gvim.exe" and search for
 "libmzsch\d\d\d_\d\d\d\.dll\c".
 
 ======================================================================
--- a/runtime/doc/if_ole.txt
+++ b/runtime/doc/if_ole.txt
@@ -1,4 +1,4 @@
-*if_ole.txt*    For Vim version 7.0f.  Last change: 2006 Mar 06
+*if_ole.txt*    For Vim version 7.0g.  Last change: 2006 Apr 30
 
 
 		  VIM REFERENCE MANUAL    by Paul Moore
@@ -169,7 +169,7 @@ In .Net Studio choose from the menu Tool
 Add
      Title     - Vim
      Command   - c:\vim\vim63\gvim.exe
-     Arguments - --servername VS_NET --remote-silent "+call cursor($(CurLine), $(CurCol))" $(ItemPath)  
+     Arguments - --servername VS_NET --remote-silent "+call cursor($(CurLine), $(CurCol))" $(ItemPath)
      Init Dir  - Empty
 
 Now, when you open a file in .Net, you can choose from the .Net menu:
@@ -182,14 +182,14 @@ like.  You might also be able to set thi
 If you refine this further, please post back to the Vim maillist so we have a
 record of it.
 
---servername VS_NET 
+--servername VS_NET
 This will create a new instance of vim called VS_NET.  So if you open multiple
 files from VS, they will use the same instance of Vim.  This allows you to
 have multiple copies of Vim running, but you can control which one has VS
 files in it.
 
---remote-silent "+call cursor(10, 27)" 
-              - Places the cursor on line 10 column 27
+--remote-silent "+call cursor(10, 27)"
+	      - Places the cursor on line 10 column 27
 In Vim >
    :h --remote-silent for mor details
 
--- a/runtime/doc/if_perl.txt
+++ b/runtime/doc/if_perl.txt
@@ -1,4 +1,4 @@
-*if_perl.txt*   For Vim version 7.0f.  Last change: 2006 Mar 06
+*if_perl.txt*   For Vim version 7.0g.  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.0f.  Last change: 2006 Jan 20
+*if_pyth.txt*   For Vim version 7.0g.  Last change: 2006 Apr 30
 
 
 		  VIM REFERENCE MANUAL    by Paul Moore
@@ -134,7 +134,7 @@ vim.eval(str)						*python-eval*
 	evaluator (see |expression|).  Returns the expression result as:
 	- a string if the Vim expression evaluates to a string or number
 	- a list if the Vim expression evaluates to a Vim list
-  	- a dictionary if the Vim expression evaluates to a Vim dictionary
+	- a dictionary if the Vim expression evaluates to a Vim dictionary
 	Dictionaries and lists are recursively expanded.
 	Examples: >
 	    :py text_width = vim.eval("&tw")
@@ -142,7 +142,7 @@ vim.eval(str)						*python-eval*
 						# string.atoi() to convert to
 						# a number.
 
-	    :py tagList = vim.eval('taglist("eval_expr")') 
+	    :py tagList = vim.eval('taglist("eval_expr")')
 <	The latter will return a python list of python dicts, for instance:
 	[{'cmd': '/^eval_expr(arg, nextcmd)$/', 'static': 0, 'name':
 	'eval_expr', 'kind': 'f', 'filename': './src/eval.c'}]
--- a/runtime/doc/if_ruby.txt
+++ b/runtime/doc/if_ruby.txt
@@ -1,4 +1,4 @@
-*if_ruby.txt*   For Vim version 7.0f.  Last change: 2006 Mar 26
+*if_ruby.txt*   For Vim version 7.0g.  Last change: 2006 Apr 30
 
 
 		  VIM REFERENCE MANUAL    by Shugo Maeda
@@ -147,7 +147,7 @@ self[{n}] = {str}
 delete({n})	Deletes a line from the buffer. {n} is the line number.
 append({n}, {str})
 		Appends a line after the line {n}.
-line            Returns the current line of the buffer if the buffer is
+line		Returns the current line of the buffer if the buffer is
 		active.
 line = {str}    Sets the current line of the buffer if the buffer is active.
 line_number     Returns the number of the current line if the buffer is
--- a/runtime/doc/if_sniff.txt
+++ b/runtime/doc/if_sniff.txt
@@ -1,4 +1,4 @@
-*if_sniff.txt*	For Vim version 7.0f.  Last change: 2005 Mar 29
+*if_sniff.txt*	For Vim version 7.0g.  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.0f.  Last change: 2006 Mar 06
+*if_tcl.txt*    For Vim version 7.0g.  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.0f.  Last change: 2006 Apr 25
+*indent.txt*    For Vim version 7.0g.  Last change: 2006 Apr 30
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -412,8 +412,8 @@ assume a 'shiftwidth' of 4.
 
 		cino=			  cino=M1 >
 		  if (cond1 &&		    if (cond1 &&
-		         cond2			   cond2
-		     )			    	   )
+			 cond2			   cond2
+		     )				   )
 <
 					*java-cinoptions* *java-indenting*
 	jN    Indent java anonymous classes correctly.  The value 'N' is
--- a/runtime/doc/index.txt
+++ b/runtime/doc/index.txt
@@ -1,4 +1,4 @@
-*index.txt*     For Vim version 7.0f.  Last change: 2006 Apr 10
+*index.txt*     For Vim version 7.0g.  Last change: 2006 Apr 30
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -748,7 +748,7 @@ tag		char	      note action in Normal mo
 |gu|		gu{motion}	2  make Nmove text lowercase
 |gv|		gv		   reselect the previous Visual area
 |gw|		gw{motion}	2  format Nmove text and keep cursor
-|g@|            g@{motion}         call 'operatorfunc'
+|g@|		g@{motion}	   call 'operatorfunc'
 |g~|		g~{motion}	2  swap case for Nmove text
 |g<Down>|	g<Down>		1  same as "gj"
 |g<End>|	g<End>		1  same as "g$"
@@ -1336,7 +1336,7 @@ The commands are sorted on the non-optio
 |:profdel|	:profd[el]	stop profiling a function or script
 |:profile|	:prof[ile]	profiling functions and scripts
 |:promptfind|	:pro[mtfind]	open GUI dialog for searching
-|:promptrepl| 	:promtr[epl]	open GUI dialog for search/replace
+|:promptrepl|	:promtr[epl]	open GUI dialog for search/replace
 |:perldo|	:perld[o]	execute Perl command for each line
 |:pop|		:po[p]		jump to older entry in tag stack
 |:popup|	:pop[up]	popup a menu by name
--- a/runtime/doc/insert.txt
+++ b/runtime/doc/insert.txt
@@ -1,4 +1,4 @@
-*insert.txt*    For Vim version 7.0f.  Last change: 2006 Apr 26
+*insert.txt*    For Vim version 7.0g.  Last change: 2006 Apr 30
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -1351,7 +1351,7 @@ Script completes:
     class. To find class location and contents tags file is required. Because
     PHP isn't strongly typed language user can use @var tag to declare class: >
 
-    	/* @var $myVar myClass */
+	/* @var $myVar myClass */
 	$myVar->
 <
     Still, to find myClass contents tags file is required.
@@ -1375,7 +1375,7 @@ automatically switch to HTML/CSS/JavaScr
 original HTML files completion of tags (and only tags) isn't context aware.
 
 
-RUBY                                                    *ft-ruby-omni*
+RUBY							*ft-ruby-omni*
 
 Completion of Ruby code requires that vim be built with |+ruby|.
 
@@ -1385,16 +1385,16 @@ and modules defined in the current buffe
 
 The completions provided by CTRL-X CTRL-O are sensitive to the context:
 
-          CONTEXT                          COMPLETIONS PROVIDED ~
+	  CONTEXT			   COMPLETIONS PROVIDED ~
 
  1. Not inside a class definition    Classes, constants and globals
 
- 2. Inside a class definition        Methods or constants defined in the class
+ 2. Inside a class definition	     Methods or constants defined in the class
 
- 3. After '.', '::' or ':'           Methods applicable to the object being
-                                       dereferenced
+ 3. After '.', '::' or ':'	     Methods applicable to the object being
+				       dereferenced
 
- 4. After ':' or ':foo'              Symbol name (beginning with 'foo')
+ 4. After ':' or ':foo'		     Symbol name (beginning with 'foo')
 
 Notes:
  - Vim will load/evaluate code in order to provide completions.  This may
@@ -1557,7 +1557,7 @@ Note: Tag names in data file MUST not co
 xsl.vim for example.
 
 
-DTD -> Vim                     					*dtd2vim*
+DTD -> Vim							*dtd2vim*
 
 On |www| is script |dtd2vim| which parses DTD and creates XML data file
 for Vim XML omni completion.
@@ -1565,7 +1565,7 @@ for Vim XML omni completion.
     dtd2vim: http://www.vim.org/scripts/script.php?script_id=1462
 
 Check there and beginning of file for details of usage.
-Script requires perl and: 
+Script requires perl and:
 
     perlSGML: http://savannah.nongnu.org/projects/perlsgml
 
--- a/runtime/doc/intro.txt
+++ b/runtime/doc/intro.txt
@@ -1,4 +1,4 @@
-*intro.txt*     For Vim version 7.0f.  Last change: 2006 Apr 20
+*intro.txt*     For Vim version 7.0g.  Last change: 2006 Apr 20
 
 
 		  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.0f.  Last change: 2006 Apr 25
+*map.txt*       For Vim version 7.0g.  Last change: 2006 Apr 30
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -218,8 +218,14 @@ The result of the InsertDot() function w
 text before the cursor and start omni completion when some condition is met.
 
 Be very careful about side effects!  The expression is evaluated while
-obtaining characters, if you change buffer text, move the cursor, edit another
-file, etc. you may very well make command dysfunctional.
+obtaining characters, you may very well make the command dysfunctional.
+For this reason the following is blocked:
+- changing the buffer text |textlock|
+- editing another buffer
+- the |:normal| command
+- moving the cursor is allowed, but it is restored afterwards
+If you want the mapping to do any of these let the returned characters do
+that.
 
 Here is an example that inserts a list number that increases: >
 	let counter = 0
@@ -269,28 +275,28 @@ Overview of which map command works in w
 
 			*mapmode-nvo* *mapmode-n* *mapmode-v* *mapmode-o*
     commands:				      modes: ~
-                                       Normal  Visual+Select  Operator-pending ~
-:map   :noremap   :unmap   :mapclear     yes        yes            yes
-:nmap  :nnoremap  :nunmap  :nmapclear    yes         -              -
-:vmap  :vnoremap  :vunmap  :vmapclear     -         yes             -
-:omap  :onoremap  :ounmap  :omapclear     -          -             yes
+				       Normal  Visual+Select  Operator-pending ~
+:map   :noremap   :unmap   :mapclear	 yes	    yes		   yes
+:nmap  :nnoremap  :nunmap  :nmapclear	 yes	     -		    -
+:vmap  :vnoremap  :vunmap  :vmapclear	  -	    yes		    -
+:omap  :onoremap  :ounmap  :omapclear	  -	     -		   yes
 
 :nunmap can also be used outside of a monastery.
-                                                *mapmode-x* *mapmode-s*
+						*mapmode-x* *mapmode-s*
 Some commands work both in Visual and Select mode, some in only one.  Note
 that quite often "Visual" is mentioned where both Visual and Select mode
 apply. |Select-mode-mapping|
 
-    commands:                                 modes: ~
-                                          Visual    Select ~
-:vmap  :vnoremap  :vunmap  :vmapclear       yes      yes
-:xmap  :xnoremap  :xunmap  :xmapclear       yes       -
-:smap  :snoremap  :sunmap  :smapclear       -        yes
+    commands:				      modes: ~
+					  Visual    Select ~
+:vmap  :vnoremap  :vunmap  :vmapclear	    yes      yes
+:xmap  :xnoremap  :xunmap  :xmapclear	    yes       -
+:smap  :snoremap  :sunmap  :smapclear	    -	     yes
 
 			*mapmode-ic* *mapmode-i* *mapmode-c* *mapmode-l*
 Some commands work both in Insert mode and Command-line mode, some not:
 
-    commands:                                 modes: ~
+    commands:				      modes: ~
 					  Insert  Command-line	Lang-Arg ~
 :map!  :noremap!  :unmap!  :mapclear!	    yes	       yes	   -
 :imap  :inoremap  :iunmap  :imapclear	    yes		-	   -
@@ -366,7 +372,7 @@ last defined.  Example: >
 
 	:verbose map <C-W>*
 	n  <C-W>*      * <C-W><C-S>*
-	        Last set from /home/abcd/.vimrc
+		Last set from /home/abcd/.vimrc
 
 See |:verbose-cmd| for more information.
 
@@ -872,7 +878,7 @@ When 'verbose' is non-zero, listing an a
 was last defined.  Example: >
 
 	:verbose abbreviate
-	!  teh           the
+	!  teh		 the
 		Last set from /home/abcd/vim/abbr.vim
 
 See |:verbose-cmd| for more information.
@@ -1083,10 +1089,10 @@ When 'verbose' is non-zero, listing a co
 last defined. Example: >
 
     :verbose command TOhtml
-	Name        Args Range Complete  Definition
-	TOhtml      0    %               :call Convert2HTML(<line1>, <line2>)
-	    Last set from /usr/share/vim/vim-7.0/plugin/tohtml.vim
-<
+<	Name	    Args Range Complete  Definition ~
+	TOhtml	    0	 %		 :call Convert2HTML(<line1>, <line2>) ~
+	    Last set from /usr/share/vim/vim-7.0/plugin/tohtml.vim ~
+
 See |:verbose-cmd| for more information.
 
 							*E174* *E182*
@@ -1295,7 +1301,7 @@ To allow commands to pass their argument
 is a special form <f-args> ("function args").  This splits the command
 arguments at spaces and Tabs, quotes each argument individually, and the
 <f-args> sequence is replaced by the comma-separated list of quoted arguments.
-See the Mycmd example below.  If no arguments are given <f-args> is removed. 
+See the Mycmd example below.  If no arguments are given <f-args> is removed.
 
 Examples >
 
--- a/runtime/doc/mbyte.txt
+++ b/runtime/doc/mbyte.txt
@@ -1,4 +1,4 @@
-*mbyte.txt*     For Vim version 7.0f.  Last change: 2006 Apr 21
+*mbyte.txt*     For Vim version 7.0g.  Last change: 2006 Apr 30
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar et al.
@@ -352,7 +352,7 @@ u   ucs2be	same as ucs-2 (big endian)
 u   ucs-2be	same as ucs-2 (big endian)
 u   ucs-4be	same as ucs-4 (big endian)
     default     stands for the default value of 'encoding', depends on the
-    		environment
+		environment
 
 For the UCS codes the byte order matters.  This is tricky, use UTF-8 whenever
 you can.  The default is to use big-endian (most significant byte comes
@@ -774,7 +774,7 @@ is suitable for complex input, such as C
   locale if you make a correct input table.  Xcin can be found at:
   http://xcin.linux.org.tw/
   Others are scim: http://scim.freedesktop.org/ and fcitx:
-  http://www.fcitx.org/ 
+  http://www.fcitx.org/
 
 - Conversion Server
 							*conversion-server*
@@ -1261,7 +1261,7 @@ is no longer relevant in the GTK+ 2 GUI.
 					*mbyte-combining* *mbyte-composing*
 A composing or combining character is used to change the meaning of the
 character before it.  The combining characters are drawn on top of the
-preceding character.  
+preceding character.
 Up to two combining characters can be used by default.  This can be changed
 with the 'maxcombine' option.
 When editing text a composing character is mostly considered part of the
--- a/runtime/doc/message.txt
+++ b/runtime/doc/message.txt
@@ -1,4 +1,4 @@
-*message.txt*   For Vim version 7.0f.  Last change: 2006 Apr 11
+*message.txt*   For Vim version 7.0g.  Last change: 2006 Apr 30
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -297,7 +297,7 @@ happens when you use ":w! filename" and 
   to delete the swapfile.  Edit {filename} to find out information about the
   swapfile.
 - If you want to write anyway prepend ":silent!" to the command.  For example: >
-  	:silent! w! /tmp/test
+	:silent! w! /tmp/test
 < The special command is needed, since you already added the ! for overwriting
   an existing file.
 
@@ -796,7 +796,7 @@ Type					effect ~
      d					down a page (half a screen)
      <Space> or <PageDown>		down a screen
      G					down all the way, until the hit-enter
-     					prompt
+					prompt
 
      <BS> or k or <Up>			one line back (*)
      u					up a page (half a screen) (*)
--- a/runtime/doc/mlang.txt
+++ b/runtime/doc/mlang.txt
@@ -1,4 +1,4 @@
-*mlang.txt*     For Vim version 7.0f.  Last change: 2004 Feb 24
+*mlang.txt*     For Vim version 7.0g.  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.0f.  Last change: 2006 Apr 29
+*motion.txt*    For Vim version 7.0g.  Last change: 2006 Apr 30
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -780,7 +780,7 @@ g'{mark}  g`{mark}
 <			to list marks 'a' and 'B'.  {not in Vi}
 
 							*:delm* *:delmarks*
-:delm[arks] {marks} 	Delete the specified marks.  Marks that can be deleted
+:delm[arks] {marks}	Delete the specified marks.  Marks that can be deleted
 			include A-Z and 0-9.  You cannot delete the ' mark.
 			They can be specified by giving the list of mark
 			names, or with a range, separated with a dash.  Spaces
@@ -854,11 +854,17 @@ was made yet in the current file.
 
 							*'<* *`<*
 '<  `<			To the first character of the last selected Visual
-			area in the current buffer.  {not in Vi}.
+			area in the current buffer.  For block mode it may
+			also be the last character in the first line (to be
+			able to define the block).  {not in Vi}.
 
 							*'>* *`>*
 '>  `>			To the last character of the last selected Visual
-			area in the current buffer.  {not in Vi}.
+			area in the current buffer.  For block mode it may
+			also be the first character of the last line (to be
+			able to define the block).  Note that 'selection'
+			applies, the position may be just after the Visual
+			area.  {not in Vi}.
 
 							*''* *``*
 ''  ``			To the position before the latest jump, or where the
@@ -985,7 +991,7 @@ These commands are not marks themselves,
 <
 			Note that ":keepjumps" must be used for every command.
 			When invoking a function the commands in that function
-			can still change the jumplist.  Also, for 
+			can still change the jumplist.  Also, for
 			":keepjumps exe 'command '" the "command" won't keep
 			jumps.  Instead use: ":exe 'keepjumps command'"
 
--- a/runtime/doc/netbeans.txt
+++ b/runtime/doc/netbeans.txt
@@ -1,4 +1,4 @@
-*netbeans.txt*  For Vim version 7.0f.  Last change: 2006 Mar 09
+*netbeans.txt*  For Vim version 7.0g.  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.0f.  Last change: 2006 Apr 29
+*options.txt*	For Vim version 7.0g.  Last change: 2006 Apr 30
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -1192,7 +1192,7 @@ A jump table for the options with a shor
 			written
 	  nowrite	buffer which will not be written
 	  acwrite	buffer which will always be written with BufWriteCmd
-	  		autocommands. {not available when compiled without the
+			autocommands. {not available when compiled without the
 			|+autocmd| feature}
 	  quickfix	quickfix buffer, contains list of errors |:cwindow|
 			or list of locations |:lwindow|
@@ -1648,7 +1648,7 @@ A jump table for the options with a shor
 		    sufficient colors are available.  |ins-completion-menu|
 
 	   menuone  Use the popup menu also when there is only one match.
-	   	    Useful when there is additional information about the
+		    Useful when there is additional information about the
 		    match, e.g., what file it comes from.
 
 	   longest  Only insert the longest common text of the matches.  If
@@ -1658,7 +1658,7 @@ A jump table for the options with a shor
 		    used.
 
 	   preview  Show extra information about the currently selected
-	   	    completion in the preview window.
+		    completion in the preview window.
 
 				*'confirm'* *'cf'* *'noconfirm'* *'nocf'*
 'confirm' 'cf'		boolean (default off)
@@ -1954,7 +1954,7 @@ A jump table for the options with a shor
 		+	When included, a ":write file" command will reset the
 			'modified' flag of the buffer, even though the buffer
 			itself may still be different from its file.
-			 					*cpo-star*
+								*cpo-star*
 		*	Use ":*" in the same way as ":@".  When not included,
 			":*" is an alias for ":'<,'>", select the Visual area.
 								*cpo-<*
@@ -1973,7 +1973,7 @@ A jump table for the options with a shor
 	when $VIM_POSIX was set on startup. |posix|
 
 	    contains	behavior	~
-			 					*cpo-#*
+								*cpo-#*
 		#	A count before "D", "o" and "O" has no effect.
 								*cpo-&*
 		&	When ":preserve" was used keep the swap file when
@@ -2990,9 +2990,9 @@ A jump table for the options with a shor
 	operator.  When this option is empty 'formatprg' is used.
 
 	The |v:lnum|  variable holds the first line to be formatted.
-	The |v:count| variable the number of lines to be formatted.
-	The |v:char|  variable the character to be inserted.  This can be
-		      empty.  Don't insert it yet!
+	The |v:count| variable holds the number of lines to be formatted.
+	The |v:char|  variable holds the character that is going to be
+		      inserted.  This can be empty.  Don't insert it yet!
 
 	Example: >
 		:set formatexpr=mylang#Format()
@@ -3370,7 +3370,7 @@ A jump table for the options with a shor
 	  't'	Include tearoff menu items.  Currently only works for Win32,
 		GTK+, and Motif 1.2 GUI.
 	  'T'	Include Toolbar.  Currently only in Win32, GTK+, Motif, Photon
-	        and Athena GUIs.
+		and Athena GUIs.
 
 	  'r'	Right-hand scrollbar is always present.
 	  'R'	Right-hand scrollbar is present when there is a vertically
@@ -4294,7 +4294,7 @@ A jump table for the options with a shor
 			is off and there is text preceding the character
 			visible in the first column.
 	  nbsp:c	Character to show for a non-breakable space (character
-	  		0xA0, 160).  Left blank when omitted.
+			0xA0, 160).  Left blank when omitted.
 
 	The characters ':' and ',' should not be used.  UTF-8 characters can
 	be used when 'encoding' is "utf-8", otherwise only printable
@@ -6408,7 +6408,7 @@ A jump table for the options with a shor
 			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.
+			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.
@@ -6988,7 +6988,7 @@ A jump table for the options with a shor
 				"s"  = button state
 				"c"  = column plus 33
 				"r"  = row plus 33
-	   		This only works up to 223 columns!  See "dec" for a
+			This only works up to 223 columns!  See "dec" for a
 			solution.
 	   xterm2	Works like "xterm", but with the xterm reporting the
 			mouse position while the mouse is dragged.  This works
@@ -7479,7 +7479,7 @@ A jump table for the options with a shor
 	A list of words that change how command line completion is done.
 	Currently only one word is allowed:
 	  tagfile	When using CTRL-D to list matching tags, the kind of
-	   		tag and the file of the tag is listed.  Only one match
+			tag and the file of the tag is listed.	Only one match
 			is displayed per line.  Often used tag kinds are:
 				d	#define
 				f	function
--- a/runtime/doc/os_390.txt
+++ b/runtime/doc/os_390.txt
@@ -1,4 +1,4 @@
-*os_390.txt*    For Vim version 7.0f.  Last change: 2005 Mar 29
+*os_390.txt*    For Vim version 7.0g.  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.0f.  Last change: 2005 Mar 29
+*os_amiga.txt*  For Vim version 7.0g.  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.0f.  Last change: 2005 Mar 29
+*os_beos.txt*	For Vim version 7.0g.  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.0f.  Last change: 2006 Mar 30
+*os_dos.txt*    For Vim version 7.0g.  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.0f.  Last change: 2006 Mar 29
+*os_mac.txt*    For Vim version 7.0g.  Last change: 2006 Apr 30
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar et al.
@@ -84,7 +84,7 @@ Q: How do I start the GUI from the comma
 A: Assuming that Vim.app is located in /Applications:
 	open /Applications/Vim.app
    Or:
-   	/Applications/Vim.app/Contents/MacOS/Vim -g  {arguments}
+	/Applications/Vim.app/Contents/MacOS/Vim -g  {arguments}
 
 Q: How can I set $PATH to something reasonable when I start Vim.app from the
    GUI or with open?
--- a/runtime/doc/os_mint.txt
+++ b/runtime/doc/os_mint.txt
@@ -1,4 +1,4 @@
-*os_mint.txt*   For Vim version 7.0f.  Last change: 2005 Mar 29
+*os_mint.txt*   For Vim version 7.0g.  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.0f.  Last change: 2005 Mar 29
+*os_msdos.txt*  For Vim version 7.0g.  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.0f.  Last change: 2005 Mar 29
+*os_os2.txt*    For Vim version 7.0g.  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.0f.  Last change: 2005 Mar 29
+*os_qnx.txt*    For Vim version 7.0g.  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.0f.  Last change: 2005 Mar 29
+*os_risc.txt*   For Vim version 7.0g.  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.0f.  Last change: 2005 Mar 29
+*os_unix.txt*   For Vim version 7.0g.  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.0f.  Last change: 2006 Mar 02
+*os_vms.txt*    For Vim version 7.0g.  Last change: 2006 Apr 30
 
 
 		  VIM REFERENCE MANUAL
@@ -50,8 +50,8 @@ To use the precompiled binary version, y
   vim-XX-exe-ia64-gui.zip       IA64 GUI/Motif executables
   vim-XX-exe-ia64-gtk.zip       IA64 GUI/GTK executables
   vim-XX-exe-ia64-term.zip      IA64 console executables
-  vim-XX-exe-axp-gui.zip        Alpha GUI/Motif executables
-  vim-XX-exe-axp-gtk.zip        Alpha GUI/GTK executables
+  vim-XX-exe-axp-gui.zip	Alpha GUI/Motif executables
+  vim-XX-exe-axp-gtk.zip	Alpha GUI/GTK executables
   vim-XX-exe-axp-term.zip       Alpha console executables
   vim-XX-exe-vax-gui.zip	VAX GUI executables
   vim-XX-exe-vax-term.zip       VAX console executables
@@ -61,7 +61,7 @@ and of course (optional)
 
 The binary archives contain: vim.exe, ctags.exe, xxd.exe files.
 
-For GTK executables you will need GTKLIB that is available for 
+For GTK executables you will need GTKLIB that is available for
 Alpha and IA64 platform.
 
 ==============================================================================
@@ -249,10 +249,10 @@ line parameter is uppercase "/" sign mus
 Examples:
   >
 	vim -R  filename  ! means: -r List swap files and exit
-        vim -/r filename  ! means: -R Readonly mode (like "view")
-        vim -u  <vimrc>   ! means: -u Use <vimrc> instead of any .vimrc   
-        vim -/u <gvimrc>  ! means: -U Use <gvimrc> instead of any .gvimrc
-                  
+	vim -/r filename  ! means: -R Readonly mode (like "view")
+	vim -u	<vimrc>   ! means: -u Use <vimrc> instead of any .vimrc
+	vim -/u <gvimrc>  ! means: -U Use <gvimrc> instead of any .gvimrc
+
 ==============================================================================
 
 7. GUI mode questions					*vms-gui*
@@ -356,7 +356,7 @@ number, try these settings. >
 
 	:set nobackup	     " does not create *.*_ backup files
 	:set nowritebackup   " does not have any purpose on VMS.  It's the
-	                     " default.
+			     " default.
 
 Recovery is working perfect as well from the default swap file.
 Read more with :help swapfile
--- a/runtime/doc/os_win32.txt
+++ b/runtime/doc/os_win32.txt
@@ -1,4 +1,4 @@
-*os_win32.txt*  For Vim version 7.0f.  Last change: 2006 Apr 02
+*os_win32.txt*  For Vim version 7.0g.  Last change: 2006 Apr 30
 
 
 		  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.0f.  Last change: 2006 Apr 29
+*pattern.txt*   For Vim version 7.0g.  Last change: 2006 Apr 30
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -1018,13 +1018,13 @@ x	A single character, with no special me
 	- An equivalence class.  This means that characters are matched that
 	  have almost the same meaning, e.g., when ignoring accents.  The form
 	  is:
-	  	[=a=]
+		[=a=]
 	  Currently this is only implemented for latin1.  Also works for the
 	  latin1 characters in utf-8 and latin9.
 							*/[[.* *[..]*
 	- A collation element.  This currently simply accepts a single
 	  character in the form:
-	  	[.a.]
+		[.a.]
 							  */\]*
 	- To include a literal ']', '^', '-' or '\' in the collection, put a
 	  backslash before it: "[xyz\]]", "[\^xyz]", "[xy\-z]" and "[xyz\\]".
--- a/runtime/doc/pi_gzip.txt
+++ b/runtime/doc/pi_gzip.txt
@@ -1,4 +1,4 @@
-*pi_gzip.txt*   For Vim version 7.0f.  Last change: 2002 Oct 29
+*pi_gzip.txt*   For Vim version 7.0g.  Last change: 2002 Oct 29
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
--- a/runtime/doc/pi_netrw.txt
+++ b/runtime/doc/pi_netrw.txt
@@ -1,11 +1,11 @@
-*pi_netrw.txt*  For Vim version 7.0f.  Last change: 2006 Apr 28
+*pi_netrw.txt*  For Vim version 7.0g.  Last change: 2006 Apr 30
 
 		VIM REFERENCE MANUAL    by Charles E. Campbell, Jr.
 
 
-*dav*           *http*          *network*       *rcp*           *scp*
-*fetch*         *netrw*         *Nread*         *rsync*         *sftp*
-*ftp*           *netrw.vim*     *Nwrite*        *netrw-file*
+*dav*		*http*		*network*	*rcp*		*scp*
+*fetch*		*netrw*		*Nread*		*rsync*		*sftp*
+*ftp*		*netrw.vim*	*Nwrite*	*netrw-file*
 
 ==============================================================================
 0. Contents						*netrw-contents*
@@ -68,8 +68,8 @@ The Netrw plugin is generally sourced au
 have plugins available which can be done with the following
 two lines in your <.vimrc>: >
 
-	set nocp                    " 'compatible' is not set
-	filetype plugin on          " plugins are enabled
+	set nocp		    " 'compatible' is not set
+	filetype plugin on	    " plugins are enabled
 <
 You can avoid loading this plugin by setting the "loaded_netrw" variable
 in your <.vimrc> file: >
@@ -85,8 +85,8 @@ Netrw makes reading, writing, and browsi
 First, make sure that you have plugins enabled, so you'll need to have at
 least the following in your <.vimrc>: (or see |netrw-activate|) >
 
-	set nocp                    " 'compatible' is not set
-	filetype plugin on          " plugins are enabled
+	set nocp		    " 'compatible' is not set
+	filetype plugin on	    " plugins are enabled
 <
 (see |'cp'| and |:filetype-plugin-on|)
 
@@ -111,7 +111,7 @@ and has lines resembling >
 	machine HOSTNAME login USERID password "PASSWORD"
 	machine HOSTNAME login USERID password "PASSWORD"
 	...
-	default          login USERID password "PASSWORD"
+	default		 login USERID password "PASSWORD"
 <
 How about browsing -- ie. you just want to look around before editing a
 file.  For browsing on your current host, just "edit" a directory: >
@@ -140,7 +140,7 @@ CONTROLLING EXTERNAL APPLICATIONS			*net
 	   dav:    *g:netrw_dav_cmd*  = "cadaver"
 	 fetch:  *g:netrw_fetch_cmd*  = "fetch -o"    if fetch is available
 	   ftp:    *g:netrw_ftp_cmd*  = "ftp"
-          http:   *g:netrw_http_cmd*  = "fetch -o"    if fetch is available
+	  http:   *g:netrw_http_cmd*  = "fetch -o"    if fetch is available
 	  http:    g:netrw_http_cmd   = "wget -q -O"  If wget  is available
 	   rcp:    *g:netrw_rcp_cmd*  = "rcp"
 	 rsync:  *g:netrw_rsync_cmd*  = "rsync -a"
@@ -226,7 +226,7 @@ VARIABLES						*netrw-variables*
 			This option is ignored if you're using unix
 
  *g:netrw_use_nt_rcp*	=0 don't use the rcp of WinNT, Win2000 and WinXP
-			=1 use WinNT's rcp in binary mode         (default)
+			=1 use WinNT's rcp in binary mode	  (default)
 
 PATHS								*netrw-path*
 
@@ -303,48 +303,48 @@ additional prompting.
 
 								*netrw-urls*
   +=================================+============================+============+
-  |  Reading                        | Writing                    |  Uses      |
+  |  Reading			    | Writing			 |  Uses      |
   +=================================+============================+============+
-  | DAV:                            |                            |            |
-  |  dav://host/path                |                            | cadaver    |
-  |  :Nread dav://host/path         | :Nwrite dav://host/path    | cadaver    |
+  | DAV:			    |				 |	      |
+  |  dav://host/path		    |				 | cadaver    |
+  |  :Nread dav://host/path	    | :Nwrite dav://host/path	 | cadaver    |
   +---------------------------------+----------------------------+------------+
-  | FETCH:                          |                            |            |
-  |  fetch://[user@]host/path       |                            |            |
-  |  fetch://[user@]host:http/path  |  Not Available             | fetch      |
-  |  :Nread fetch://[user@]host/path|                            |            |
+  | FETCH:			    |				 |	      |
+  |  fetch://[user@]host/path	    |				 |	      |
+  |  fetch://[user@]host:http/path  |  Not Available		 | fetch      |
+  |  :Nread fetch://[user@]host/path|				 |	      |
   +---------------------------------+----------------------------+------------+
-  | FILE:                           |                            |            |
-  |  file:///*                      | file:///*                  |            |
-  |  file://localhost/*             | file://localhost/*         |            |
+  | FILE:			    |				 |	      |
+  |  file:///*			    | file:///*			 |	      |
+  |  file://localhost/*		    | file://localhost/*	 |	      |
   +---------------------------------+----------------------------+------------+
-  | FTP:          (*3)              |              (*3)          |            |
-  |  ftp://[user@]host/path         | ftp://[user@]host/path     | ftp  (*2)  |
-  |  :Nread ftp://host/path         | :Nwrite ftp://host/path    | ftp+.netrc |
-  |  :Nread host path               | :Nwrite host path          | ftp+.netrc |
-  |  :Nread host uid pass path      | :Nwrite host uid pass path | ftp        |
+  | FTP:	  (*3)		    |		   (*3)		 |	      |
+  |  ftp://[user@]host/path	    | ftp://[user@]host/path	 | ftp	(*2)  |
+  |  :Nread ftp://host/path	    | :Nwrite ftp://host/path	 | ftp+.netrc |
+  |  :Nread host path		    | :Nwrite host path		 | ftp+.netrc |
+  |  :Nread host uid pass path	    | :Nwrite host uid pass path | ftp	      |
   +---------------------------------+----------------------------+------------+
-  | HTTP: wget is executable: (*4)  |                            |            |
-  |  http://[user@]host/path        |        Not Available       | wget       |
+  | HTTP: wget is executable: (*4)  |				 |	      |
+  |  http://[user@]host/path	    |	     Not Available	 | wget       |
   +---------------------------------+----------------------------+------------+
-  | HTTP: fetch is executable (*4)  |                            |            |
-  |  http://[user@]host/path        |        Not Available       | fetch      |
+  | HTTP: fetch is executable (*4)  |				 |	      |
+  |  http://[user@]host/path	    |	     Not Available	 | fetch      |
   +---------------------------------+----------------------------+------------+
-  | RCP:                            |                            |            |
-  |  rcp://[user@]host/path         | rcp://[user@]host/path     | rcp        |
+  | RCP:			    |				 |	      |
+  |  rcp://[user@]host/path	    | rcp://[user@]host/path	 | rcp	      |
   +---------------------------------+----------------------------+------------+
-  | RSYNC:                          |                            |            |
-  |  rsync://[user@]host/path       | rsync://[user@]host/path   | rsync      |
-  |  :Nread rsync://host/path       | :Nwrite rsync://host/path  | rsync      |
-  |  :Nread rcp://host/path         | :Nwrite rcp://host/path    | rcp        |
+  | RSYNC:			    |				 |	      |
+  |  rsync://[user@]host/path	    | rsync://[user@]host/path	 | rsync      |
+  |  :Nread rsync://host/path	    | :Nwrite rsync://host/path  | rsync      |
+  |  :Nread rcp://host/path	    | :Nwrite rcp://host/path	 | rcp	      |
   +---------------------------------+----------------------------+------------+
-  | SCP:                            |                            |            |
-  |  scp://[user@]host/path         | scp://[user@]host/path     | scp        |
-  |  :Nread scp://host/path         | :Nwrite scp://host/path    | scp  (*1)  |
+  | SCP:			    |				 |	      |
+  |  scp://[user@]host/path	    | scp://[user@]host/path	 | scp	      |
+  |  :Nread scp://host/path	    | :Nwrite scp://host/path	 | scp	(*1)  |
   +---------------------------------+----------------------------+------------+
-  | SFTP:                           |                            |            |
-  |  sftp://[user@]host/path        | sftp://[user@]host/path    | sftp       |
-  |  :Nread sftp://host/path        | :Nwrite sftp://host/path   | sftp  (*1) |
+  | SFTP:			    |				 |	      |
+  |  sftp://[user@]host/path	    | sftp://[user@]host/path	 | sftp       |
+  |  :Nread sftp://host/path	    | :Nwrite sftp://host/path	 | sftp  (*1) |
   +=================================+============================+============+
 
 	(*1) For an absolute path use scp://machine//path.
@@ -353,7 +353,7 @@ additional prompting.
 	work with your ftp client.  Otherwise the script will
 	prompt for user-id and pasword.
 
-        (*3) for ftp, "machine" may be machine#port or machine:port
+	(*3) for ftp, "machine" may be machine#port or machine:port
 	if a different port is needed than the standard ftp port
 
 	(*4) for http:..., if wget is available it will be used.  Otherwise,
@@ -459,7 +459,7 @@ see |netrw-urls|).
 		strings.
 
 :NetrwSettings  This command is desribed in |netrw-settings| -- used to
-                display netrw settings and change netrw behavior.
+		display netrw settings and change netrw behavior.
 
 
 ==============================================================================
@@ -469,37 +469,37 @@ The script <netrw.vim> uses several vari
 behavior.  These variables typically may be set in the user's <.vimrc> file:
 (also see |netrw-settings|) >
 
-                        -------------
-                        Netrw Options
-                        -------------
+			-------------
+			Netrw Options
+			-------------
 	Option			Meaning
 	--------------		-----------------------------------------------
 <
-        b:netrw_col             Holds current cursor position (during NetWrite)
-        g:netrw_cygwin          =1 assume scp under windows is from cygwin
-                                                              (default/windows)
-                                =0 assume scp under windows accepts windows
-                                   style paths                (default/else)
-        g:netrw_ftp             =0 use default ftp            (uid password)
-        g:netrw_ftpmode         ="binary"                     (default)
-                                ="ascii"                      (your choice)
-	g:netrw_ignorenetrc     =1                            (default)
-	                           if you have a <.netrc> file but you don't
+	b:netrw_col		Holds current cursor position (during NetWrite)
+	g:netrw_cygwin		=1 assume scp under windows is from cygwin
+							      (default/windows)
+				=0 assume scp under windows accepts windows
+				   style paths		      (default/else)
+	g:netrw_ftp		=0 use default ftp	      (uid password)
+	g:netrw_ftpmode		="binary"		      (default)
+				="ascii"		      (your choice)
+	g:netrw_ignorenetrc	=1			      (default)
+				   if you have a <.netrc> file but you don't
 				   want it used, then set this variable.  Its
 				   mere existence is enough to cause <.netrc>
 				   to be ignored.
-        b:netrw_lastfile        Holds latest method/machine/path.
-        b:netrw_line            Holds current line number     (during NetWrite)
-        g:netrw_passwd          Holds current password for ftp.
-	g:netrw_silent          =0 transfers done normally
-	                        =1 transfers done silently
-        g:netrw_uid             Holds current user-id for ftp.
-                                =1 use alternate ftp         (user uid password)
-                                (see |netrw-options|)
-        g:netrw_use_nt_rcp      =0 don't use WinNT/2K/XP's rcp (default)
-                                =1 use WinNT/2K/XP's rcp, binary mode
-        g:netrw_win95ftp        =0 use unix-style ftp even if win95/98/ME/etc
-                                =1 use default method to do ftp >
+	b:netrw_lastfile	Holds latest method/machine/path.
+	b:netrw_line		Holds current line number     (during NetWrite)
+	g:netrw_passwd		Holds current password for ftp.
+	g:netrw_silent		=0 transfers done normally
+				=1 transfers done silently
+	g:netrw_uid		Holds current user-id for ftp.
+				=1 use alternate ftp	     (user uid password)
+				(see |netrw-options|)
+	g:netrw_use_nt_rcp	=0 don't use WinNT/2K/XP's rcp (default)
+				=1 use WinNT/2K/XP's rcp, binary mode
+	g:netrw_win95ftp	=0 use unix-style ftp even if win95/98/ME/etc
+				=1 use default method to do ftp >
 	-----------------------------------------------------------------------
 <
 The script will also make use of the following variables internally, albeit
@@ -522,21 +522,21 @@ Netrw supports a number of protocols.  T
 variables listed below, and may be modified by the user.
 >
 			   ------------------------
-                           Protocol Control Options
+			   Protocol Control Options
 			   ------------------------
-    Option            Type        Setting         Meaning
-    ---------         --------    --------------  ---------------------------
+    Option	      Type	  Setting	  Meaning
+    ---------	      --------	  --------------  ---------------------------
 <
-    netrw_ftp         variable    =doesn't exist  userid set by "user userid"
-                                  =0              userid set by "user userid"
-                                  =1              userid set by "userid"
-    NetReadFixup      function    =doesn't exist  no change
-                                  =exists         Allows user to have files
-                                                  read via ftp automatically
-                                                  transformed however they wish
-                                                  by NetReadFixup()
+    netrw_ftp	      variable	  =doesn't exist  userid set by "user userid"
+				  =0		  userid set by "user userid"
+				  =1		  userid set by "userid"
+    NetReadFixup      function	  =doesn't exist  no change
+				  =exists	  Allows user to have files
+						  read via ftp automatically
+						  transformed however they wish
+						  by NetReadFixup()
     g:netrw_dav_cmd    variable   ="cadaver"
-    g:netrw_fetch_cmd  variable   ="fetch -o"     if fetch is available
+    g:netrw_fetch_cmd  variable   ="fetch -o"	  if fetch is available
     g:netrw_ftp_cmd    variable   ="ftp"
     g:netrw_http_cmd   variable   ="fetch -o"     if      fetch is available
     g:netrw_http_cmd   variable   ="wget -O"      else if wget  is available
@@ -565,11 +565,11 @@ temporary file:
   IF g:netrw_ftp !exists or is not 1     IF g:netrw_ftp exists and is 1
   ----------------------------------     ------------------------------
 <
-       open machine [port]                    open machine [port]
-       user userid password                   userid password
-       [g:netrw_ftpmode]                      password
-       get filename tempfile                  [g:netrw_ftpmode]
-                                              get filename tempfile >
+       open machine [port]		      open machine [port]
+       user userid password		      userid password
+       [g:netrw_ftpmode]		      password
+       get filename tempfile		      [g:netrw_ftpmode]
+					      get filename tempfile >
   ---------------------------------------------------------------------
 <
 Netrw then executes the lines above by use of a filter:
@@ -611,7 +611,7 @@ messages) you may write a NetReadFixup(t
       elseif a:method == 7 "rsync
       elseif a:method == 8 "fetch
       elseif a:method == 9 "sftp
-      else               " complain
+      else		 " complain
       endif
     endfunction
 >
@@ -625,8 +625,8 @@ itself:
     if has("win95") && g:netrw_win95ftp
      fun! NetReadFixup(method, line1, line2)
        if method == 3   " ftp (no <.netrc>)
-        let fourblanklines= line2 - 3
-        silent fourblanklines.",".line2."g/^\s*/d"
+	let fourblanklines= line2 - 3
+	silent fourblanklines.",".line2."g/^\s*/d"
        endif
      endfunction
     endif
@@ -672,9 +672,9 @@ MAPS								*netrw-maps*
 
 QUICK REFERENCE COMMANDS TABLE				*netrw-browse-cmds*
 >
-        -------	-----------
+	-------	-----------
 	Command	Explanation
-        -------	-----------
+	-------	-----------
 <	<F1>	Causes Netrw to issue help
 	 <cr>	Netrw will enter the directory or read the file |netrw-cr|
 	 <del>	Netrw will attempt to remove the file/directory |netrw-del|
@@ -724,8 +724,8 @@ NETRW BROWSER VARIABLES					*netrw-brows
 
   *g:netrw_browse_split*	when browsing, <cr> will open the file by:
 				=0: re-using the same window
-				=1: horizontally splitting the window first  
-				=2: vertically   splitting the window first  
+				=1: horizontally splitting the window first
+				=2: vertically   splitting the window first
 
   *g:netrw_browsex_viewer*	specify user's preference for a viewer: >
 					"kfmclient exec"
@@ -772,7 +772,7 @@ NETRW BROWSER VARIABLES					*netrw-brows
   *g:netrw_ftp_list_cmd*	options for passing along to ftp for directory
 				listing.  Defaults:
 				 unix or g:netrw_cygwin set: : "ls -lF"
-				 otherwise                     "dir"
+				 otherwise		       "dir"
 
   *g:netrw_hide*			if true, the hiding list is used
 				 default: =0
@@ -786,7 +786,7 @@ NETRW BROWSER VARIABLES					*netrw-brows
 
   *g:netrw_list_cmd*		command for listing remote directories
 				 default: (if ssh is executable)
-				          "ssh HOSTNAME ls -FLa"
+					  "ssh HOSTNAME ls -FLa"
 
   *g:netrw_longlist*		if =1, then long listing will be default
 
@@ -827,7 +827,7 @@ NETRW BROWSER VARIABLES					*netrw-brows
   *g:netrw_sort_sequence*	when sorting by name, first sort by the
 				comma-separated pattern sequence
 				 default: '[\/]$,*,\.bak$,\.o$,\.h$,
-				           \.info$,\.swp$,\.obj$'
+					   \.info$,\.swp$,\.obj$'
 
   *g:netrw_ssh_cmd*		One may specify an executable command
 				to use instead of ssh for remote actions
@@ -894,21 +894,21 @@ DIRECTORY EXPLORING COMMANDS	*netrw-nexp
 
      :Explore[!]   [dir]... Explore directory of current file       *:Explore*
      :Sexplore[!]  [dir]... Split&Explore directory of current file *:Sexplore*
-     :Hexplore[!]  [dir]... Horizontal Split & Explore              *:Hexplore*
-     :Vexplore[!]  [dir]... Vertical   Split & Explore              *:Vexplore*
+     :Hexplore[!]  [dir]... Horizontal Split & Explore		    *:Hexplore*
+     :Vexplore[!]  [dir]... Vertical   Split & Explore		    *:Vexplore*
 
      Used with :Explore **/pattern :
-     :Nexplore............. go to next matching file                *:Nexplore*
-     :Pexplore............. go to previous matching file            *:Pexplore*
+     :Nexplore............. go to next matching file		    *:Nexplore*
+     :Pexplore............. go to previous matching file	    *:Pexplore*
 
 :Explore  will open the local-directory browser on the current file's
-          directory (or on directory [dir] if specified).  The window will be
+	  directory (or on directory [dir] if specified).  The window will be
 	  split only if the file has been modified, otherwise the browsing
 	  window will take over that window.  Normally the splitting is taken
 	  horizontally.
 :Explore! is like :Explore, but will use vertical splitting.
 :Sexplore will always split the window before invoking the local-directory
-          browser.  As with Explore, the splitting is normally done
+	  browser.  As with Explore, the splitting is normally done
 	  horizontally.
 :Sexplore! [dir] is like :Sexplore, but the splitting will be done vertically.
 :Hexplore  [dir] does an :Explore with |:belowright| horizontal splitting.
@@ -1005,7 +1005,7 @@ BROWSING							*netrw-cr*
 Browsing is simple: move the cursor onto a file or directory of interest.
 Hitting the <cr> (the return key) will select the file or directory.
 Directories will themselves be listed, and files will be opened using the
-protocol given in the original read request.  
+protocol given in the original read request.
 
   CAVEAT: There are three forms of listing (see |netrw-i|).  Netrw assumes
   that two or more spaces delimit filenames and directory names for the long
@@ -1255,7 +1255,7 @@ Netrw determines which special handler b
     If g:netrw_browsex_viewer == '-', then netrwFileHandler() will be
     invoked first (see |netrw_filehandler|).
 
-  * for Windows 32 or 64, the url and FileProtocolHandler dlls are used.  
+  * for Windows 32 or 64, the url and FileProtocolHandler dlls are used.
   * for Gnome (with gnome-open): gnome-open is used.
   * for KDE (with kfmclient): kfmclient is used.
   * otherwise the netrwFileHandler plugin is used.
@@ -1270,7 +1270,7 @@ The netrwFileHandler applies a user-defi
 extension.  Of course, the handler function must exist for it to be called!
 >
  Ex. mypgm.html   x ->
-                  netrwFileHandler_html("scp://user@host/some/path/mypgm.html")
+		  netrwFileHandler_html("scp://user@host/some/path/mypgm.html")
 <
 See the <plugin/netrwFileHandlers.vim> for an example of how to handle an html
 file with mozilla.
@@ -1525,7 +1525,7 @@ 11. History						*netrw-history* {{{1
 	     * g:netrw_browsex_viewer implemented
 	     * Mikolaj Machowski pointed out that gnome-open is often
 	       executable under KDE systems, although it is effectively
-	       not functional.  NetBrowseX now looks for "kicker" as 
+	       not functional.  NetBrowseX now looks for "kicker" as
 	       a running process to determine if KDE is actually the
 	       really running.
 	     * Explorer's O functionality was inadvertently left out.
@@ -1583,7 +1583,7 @@ 11. History						*netrw-history* {{{1
 	       in order to allow them to be used for motions
 	v65: * Browser functions now use NetOptionSave/Restore; in particular,
 	       netrw now works around the report setting
-	v64: * Bugfix - browsing a "/" directory (Unix) yielded buffers 
+	v64: * Bugfix - browsing a "/" directory (Unix) yielded buffers
 	       named "[Scratch]" instead of "/"
 	     * Bugfix - remote browsing with ftp was omitting the ./ and ../
 	v63: * netrw now takes advantage of autoload (and requires 7.0)
@@ -1741,12 +1741,12 @@ 11. Credits						*netrw-credits* {{{1
 
 	Jérôme Augé		-- also using new buffer method with ftp+.netrc
 	Bram Moolenaar		-- obviously vim itself, :e and v:cmdarg use,
-	                           fetch,...
+				   fetch,...
 	Yasuhiro Matsumoto	-- pointing out undo+0r problem and a solution
 	Erik Warendorph		-- for several suggestions (g:netrw_..._cmd
 				   variables, rsync etc)
 	Doug Claar		-- modifications to test for success with ftp
-	                           operation
+				   operation
 
 ==============================================================================
  vim:tw=78:ts=8:ft=help:norl:fdm=marker
--- a/runtime/doc/pi_paren.txt
+++ b/runtime/doc/pi_paren.txt
@@ -1,4 +1,4 @@
-*pi_paren.txt*  For Vim version 7.0f.  Last change: 2006 Apr 24
+*pi_paren.txt*  For Vim version 7.0g.  Last change: 2006 Apr 24
 
 
 		  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.0f.  Last change: 2006 Apr 24
+*pi_spec.txt*   For Vim version 7.0g.  Last change: 2006 Apr 24
 
 by Gustavo Niemeyer ~
 
--- a/runtime/doc/pi_tar.txt
+++ b/runtime/doc/pi_tar.txt
@@ -1,8 +1,8 @@
-*pi_tar.txt*	For Vim version 7.0f.  Last change: 2006 Apr 24
+*pi_tar.txt*	For Vim version 7.0g.  Last change: 2006 Apr 30
 
-       	       	       +====================+
-       	       	       | Tar File Interface |
-       	       	       +====================+
+		       +====================+
+		       | Tar File Interface |
+		       +====================+
 
 Author:  Charles E. Campbell, Jr.  <NdrOchip@ScampbellPfamily.AbizM>
 	  (remove NOSPAM from Campbell's email first)
@@ -31,11 +31,11 @@ 3. Options						*tar-options*
 
    These options are variables that one may change, typically in one's
    <.vimrc> file.
-                         Default
-   Variable               Value   Explanation
+			 Default
+   Variable		  Value   Explanation
    *g:tar_browseoptions*  "Ptf"   used to get a list of contents
-   *g:tar_readoptions*    "OPxf"  used to extract a file from a tarball
-   *g:tar_cmd*            "tar"   the name of the tar program
+   *g:tar_readoptions*	  "OPxf"  used to extract a file from a tarball
+   *g:tar_cmd*		  "tar"   the name of the tar program
    *g:tar_writeoptions*   "uf"    used to update/replace a file
 
 
@@ -44,19 +44,19 @@ 4. History						*tar-history*
 
    v7 Mar 22, 2006 * work on making tar plugin work across network
       Mar 27, 2006 * g:tar_cmd now available for users to change the name
-                     of the tar program to be used.  By default, of course,
+		     of the tar program to be used.  By default, of course,
 		     its "tar".
    v6 Dec 21, 2005 * writing to files not in directories caused problems -
-                     fixed (pointed out by Christian Robinson)
+		     fixed (pointed out by Christian Robinson)
    v5 Nov 22, 2005 * report option workaround installed
    v3 Sep 16, 2005 * handles writing files in an archive back to the
-                     archive
+		     archive
       Oct 18, 2005 * <amatch> used instead of <afile> in autocmds
       Oct 18, 2005 * handles writing to compressed archives
       Nov 03, 2005 * handles writing tarfiles across a network using
-                     netrw#NetWrite()
-   v2              * converted to use Vim7's new autoload feature by
-                     Bram Moolenaar
+		     netrw#NetWrite()
+   v2		   * converted to use Vim7's new autoload feature by
+		     Bram Moolenaar
    v1 (original)   * Michael Toren (see http://michael.toren.net/code/)
 
 ==============================================================================
--- a/runtime/doc/pi_vimball.txt
+++ b/runtime/doc/pi_vimball.txt
@@ -1,4 +1,4 @@
-*pi_vimball.txt*	For Vim version 7.0f.  Last change: 2006 Apr 27
+*pi_vimball.txt*	For Vim version 7.0g.  Last change: 2006 Apr 30
 
 			       ----------------
 			       Vimball Archiver
@@ -7,8 +7,8 @@
 Author:  Charles E. Campbell, Jr.  <NdrOchip@ScampbellPfamily.AbizM>
 	  (remove NOSPAM from Campbell's email first)
 Copyright: (c) 2004-2006 by Charles E. Campbell, Jr.	*Vimball-copyright*
-           The VIM LICENSE applies to Vimball.vim, and Vimball.txt
-           (see |copyright|) except use "Vimball" instead of "Vim".
+	   The VIM LICENSE applies to Vimball.vim, and Vimball.txt
+	   (see |copyright|) except use "Vimball" instead of "Vim".
 	   No warranty, express or implied.
 	   Use At-Your-Own-Risk!
 
@@ -53,7 +53,7 @@ 2. Vimball Manual					*vimball-manual*
 	line.
 
 		:VimballList				*vimball-vimballlist*
-	
+
 	This command will tell Vimball to list the files in the archive, along
 	with their lengths in lines.
 
@@ -62,22 +62,22 @@ 2. Vimball Manual					*vimball-manual*
 3. Vimball History					*vimball-history* {{{1
 
 	11 : Apr 27, 2006 * VimballList would create missing subdirectories that
-	                    the vimball specified were needed.  Fixed.
+			    the vimball specified were needed.	Fixed.
 	10 : Apr 27, 2006 * moved all setting saving/restoration to a pair of
-	                    functions.  Included some more settings in them
+			    functions.	Included some more settings in them
 			    which frequently cause trouble.
 	9  : Apr 26, 2006 * various changes to support Windows prediliction
-	                    for backslashes and spaces in file and directory
+			    for backslashes and spaces in file and directory
 			    names.
 	7  : Apr 25, 2006 * bypasses foldenable
-	                  * uses more exe and less norm! (:yank :put etc)
+			  * uses more exe and less norm! (:yank :put etc)
 			  * does better at insuring a "Press ENTER" prompt
 			    appears to keep its messages visible
 	4  : Mar 31, 2006 * BufReadPost seems to fire twice; BufReadEnter
-	                    only fires once, so the "Source this file..."
+			    only fires once, so the "Source this file..."
 			    message is now issued only once.
 	3  : Mar 20, 2006 * removed query, now requires sourcing to be
-	                    extracted (:so %).  Message to that effect
+			    extracted (:so %).	Message to that effect
 			    included.
 			  * :VimballList  now shows files that would be
 			    extracted.
--- a/runtime/doc/pi_zip.txt
+++ b/runtime/doc/pi_zip.txt
@@ -1,4 +1,4 @@
-*pi_zip.txt*	For Vim version 7.0f.  Last change: 2006 Apr 24
+*pi_zip.txt*	For Vim version 7.0g.  Last change: 2006 Apr 30
 
 				+====================+
 				| Zip File Interface |
@@ -7,7 +7,7 @@
 Author:  Charles E. Campbell, Jr.  <NdrOchip@ScampbellPfamily.AbizM>
 	  (remove NOSPAM from Campbell's email first)
 Copyright: Copyright (C) 2005,2006 Charles E Campbell, Jr {{{1 *zip-copyright*
-           Permission is hereby granted to use and distribute this code,
+	   Permission is hereby granted to use and distribute this code,
 	   with or without modifications, provided that this copyright
 	   notice is copied with it. Like anything else that's free,
 	   zip.vim, zipPlugin.vim, and pi_zip.txt are provided *as is*
@@ -34,21 +34,21 @@ 2. Usage					*zip-usage* *zip-manual*
 ==============================================================================
 3. History					*zip-history*
    v8 Apr 10, 2006 * Bram Moolenaar reported that he received an error message
-                     due to "Pattern not found: ^.*\%0c"; this was caused by
+		     due to "Pattern not found: ^.*\%0c"; this was caused by
 		     stridx finding a Name... at the beginning of the line;
 		     zip.vim tried 4,$s/^.*\%0c//, but that doesn't work.
 		     Fixed.
    v7 Mar 22, 2006 * escaped some characters that can cause filename handling
-                     problems.
+		     problems.
    v6 Dec 21, 2005 * writing to files not in directories caused problems -
-                     fixed (pointed out by Christian Robinson)
+		     fixed (pointed out by Christian Robinson)
    v5 Nov 22, 2005 * report option workaround installed
    v3 Oct 18, 2005 * <amatch> used instead of <afile> in autocmds
    v2 Sep 16, 2005 * silenced some commands (avoiding hit-enter prompt)
-                   * began testing under Windows; works thus far
+		   * began testing under Windows; works thus far
 		   * filetype detection fixed
       Nov 03, 2005 * handles writing zipfiles across a network using
-                     netrw#NetWrite()
+		     netrw#NetWrite()
    v1 Sep 15, 2005 * Initial release, had browsing, reading, and writing
 
 ==============================================================================
--- a/runtime/doc/print.txt
+++ b/runtime/doc/print.txt
@@ -1,4 +1,4 @@
-*print.txt*     For Vim version 7.0f.  Last change: 2006 Apr 24
+*print.txt*     For Vim version 7.0g.  Last change: 2006 Apr 30
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -10,7 +10,7 @@ 1. Introduction				|print-intro|
 2. Print options			|print-options|
 3. PostScript Printing			|postscript-printing|
 4. PostScript Printing Encoding		|postscript-print-encoding|
-5. PostScript CJK Printing 		|postscript-cjk-printing|
+5. PostScript CJK Printing		|postscript-cjk-printing|
 6. PostScript Printing Troubleshooting	|postscript-print-trouble|
 7. PostScript Utilities			|postscript-print-util|
 8. Formfeed Characters			|printing-formfeed|
@@ -218,7 +218,7 @@ Sets the CJK character set to be used wh
   Japanese	JIS_C_1978
 		JIS_X_1983
 		JIS_X_1990
-		MSWINDOWS	Win3.1/95J (JIS X 1997 + NEC + 
+		MSWINDOWS	Win3.1/95J (JIS X 1997 + NEC +
 				  IBM extensions)
 		KANJITALK6	Apple Mac KanjiTalk V6.x
 		KANJITALK7	Apple Mac KanjiTalk V7.x
@@ -254,7 +254,7 @@ possible.  The following tables show the
 		KANJITALK7	   x
 
 				euc-kr	 cp949	ucs-2	utf-8 ~
-  Korean	KS_X_1992	   x   
+  Korean	KS_X_1992	   x
 		MAC		   x
 		MSWINDOWS		   x
 		ISO10646			  x	  x
@@ -307,7 +307,7 @@ character set: >
 	:set printmbfont=r:WadaMin-Regular,b:WadaMin-Bold,c:yes
 <
 							*popt-option*
-'printoptions' 'popt' 	string (default "")
+'printoptions' 'popt'	string (default "")
 			global
 This is a comma-separated list of items that control the format of the output
 of |:hardcopy|:
@@ -336,7 +336,7 @@ of |:hardcopy|:
 			thus useful when printing large files.
   syntax:y		Do syntax highlighting.
   syntax:a  (default)	Use syntax highlighting if the printer appears to be
-  			able to print color or grey.
+			able to print color or grey.
 
   number:y		Include line numbers in the printed output.
   number:n  (default)	No line numbers.
@@ -346,16 +346,16 @@ of |:hardcopy|:
 
   duplex:off		Print on one side.
   duplex:long (default)	Print on both sides (when possible), bind on long
-  			side.
+			side.
   duplex:short		Print on both sides (when possible), bind on short
-  			side.
+			side.
 
   collate:y  (default)	Collating: 1 2 3, 1 2 3, 1 2 3
   collate:n		No collating: 1 1 1, 2 2 2, 3 3 3
 
   jobsplit:n (default)	Do all copies in one print job
   jobsplit:y		Do each copy as a separate print job.  Useful when
-  			doing N-up postprocessing.
+			doing N-up postprocessing.
 
   portrait:y (default)	Orientation is portrait.
   portrait:n		Orientation is landscape.
@@ -379,7 +379,7 @@ of |:hardcopy|:
 			tabloid     27.96 x 43.13    11    x 17
 
   formfeed:n (default)	Treat form feed characters (0x0c) as a normal print
-  			character.
+			character.
   formfeed:y		When a form feed character is encountered, continue
 			printing of the current line at the beginning of the
 			first line on a new page.
@@ -484,7 +484,7 @@ Traditional Chinese fonts available at:
 
   http://examples.oreilly.com/cjkvinfo/adobe/samples/
 
-You can find descriptions of the various fonts in the read me file at 
+You can find descriptions of the various fonts in the read me file at
 
   http://examples.oreilly.com/cjkvinfo/adobe/00README
 
--- a/runtime/doc/quickfix.txt
+++ b/runtime/doc/quickfix.txt
@@ -1,4 +1,4 @@
-*quickfix.txt*  For Vim version 7.0f.  Last change: 2006 Apr 24
+*quickfix.txt*  For Vim version 7.0g.  Last change: 2006 Apr 30
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -88,7 +88,7 @@ command with 'l'.
 			all, go to the [count] previous error.  See |:cc| for
 			[!] and 'switchbuf'.
 
-				
+
 :[count]lN[ext][!]			*:lp* *:lprevious* *:lN* *:lNext*
 :[count]lp[revious][!]	Same as ":cNext" and ":cprevious", except the location
 			list for the current window is used instead of the
@@ -158,12 +158,12 @@ command with 'l'.
 			You can not use the -q command-line option to set
 			the location list.
 
-		
+
 :cg[etfile][!] [errorfile]				*:cg* *:cgetfile*
 			Read the error file.  Just like ":cfile" but don't
 			jump to the first error.
 
-			
+
 :lg[etfile][!] [errorfile]				*:lg* *:lgetfile*
 			Same as ":cgetfile", except the location list for the
 			current window is used instead of the quickfix list.
--- a/runtime/doc/quickref.txt
+++ b/runtime/doc/quickref.txt
@@ -1,4 +1,4 @@
-*quickref.txt*  For Vim version 7.0f.  Last change: 2006 Apr 24
+*quickref.txt*  For Vim version 7.0g.  Last change: 2006 Apr 30
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -588,58 +588,58 @@ In Insert or Command-line mode:
 					  the help.
 
 Short explanation of each option:		*option-list*
-'aleph'           'al'      ASCII code of the letter Aleph (Hebrew)
-'allowrevins'     'ari'     allow CTRL-_ in Insert and Command-line mode
-'altkeymap'       'akm'     for default second language (Farsi/Hebrew)
-'ambiwidth'       'ambw'    what to do with Unicode chars of ambiguous width
-'antialias'       'anti'    Mac OS X: use smooth, antialiased fonts
-'autochdir'       'acd'     change directory to the file in the current window
-'arabic'          'arab'    for Arabic as a default second language
-'arabicshape'     'arshape' do shaping for Arabic characters
-'autoindent'      'ai'      take indent for new line from previous line
-'autoread'        'ar'      autom. read file when changed outside of Vim
-'autowrite'       'aw'      automatically write file if changed
-'autowriteall'    'awa'     as 'autowrite', but works with more commands
-'background'      'bg'      "dark" or "light", used for highlight colors
-'backspace'       'bs'      how backspace works at start of line
-'backup'          'bk'      keep backup file after overwriting a file
-'backupcopy'      'bkc'     make backup as a copy, don't rename the file
-'backupdir'       'bdir'    list of directories for the backup file
-'backupext'       'bex'     extension used for the backup file
-'backupskip'      'bsk'     no backup for files that match these patterns
-'balloondelay'    'bdlay'   delay in mS before a balloon may pop up
-'ballooneval'     'beval'   switch on balloon evaluation
-'balloonexpr'     'bexpr'   expression to show in balloon
-'binary'          'bin'     read/write/edit file in binary mode
-'bioskey'         'biosk'   MS-DOS: use bios calls for input characters
-'bomb'                      prepend a Byte Order Mark to the file
-'breakat'         'brk'     characters that may cause a line break
-'browsedir'       'bsdir'   which directory to start browsing in
-'bufhidden'       'bh'      what to do when buffer is no longer in window
-'buflisted'       'bl'      whether the buffer shows up in the buffer list
-'buftype'         'bt'      special type of buffer
-'casemap'         'cmp'     specifies how case of letters is changed
-'cdpath'          'cd'      list of directories searched with ":cd"
-'cedit'                     key used to open the command-line window
-'charconvert'     'ccv'     expression for character encoding conversion
-'cindent'         'cin'     do C program indenting
-'cinkeys'         'cink'    keys that trigger indent when 'cindent' is set
-'cinoptions'      'cino'    how to do indenting when 'cindent' is set
-'cinwords'        'cinw'    words where 'si' and 'cin' add an indent
-'clipboard'       'cb'      use the clipboard as the unnamed register
-'cmdheight'       'ch'      number of lines to use for the command-line
-'cmdwinheight'    'cwh'     height of the command-line window
-'columns'         'co'      number of columns in the display
-'comments'        'com'     patterns that can start a comment line
+'aleph'		  'al'	    ASCII code of the letter Aleph (Hebrew)
+'allowrevins'	  'ari'     allow CTRL-_ in Insert and Command-line mode
+'altkeymap'	  'akm'     for default second language (Farsi/Hebrew)
+'ambiwidth'	  'ambw'    what to do with Unicode chars of ambiguous width
+'antialias'	  'anti'    Mac OS X: use smooth, antialiased fonts
+'autochdir'	  'acd'     change directory to the file in the current window
+'arabic'	  'arab'    for Arabic as a default second language
+'arabicshape'	  'arshape' do shaping for Arabic characters
+'autoindent'	  'ai'	    take indent for new line from previous line
+'autoread'	  'ar'	    autom. read file when changed outside of Vim
+'autowrite'	  'aw'	    automatically write file if changed
+'autowriteall'	  'awa'     as 'autowrite', but works with more commands
+'background'	  'bg'	    "dark" or "light", used for highlight colors
+'backspace'	  'bs'	    how backspace works at start of line
+'backup'	  'bk'	    keep backup file after overwriting a file
+'backupcopy'	  'bkc'     make backup as a copy, don't rename the file
+'backupdir'	  'bdir'    list of directories for the backup file
+'backupext'	  'bex'     extension used for the backup file
+'backupskip'	  'bsk'     no backup for files that match these patterns
+'balloondelay'	  'bdlay'   delay in mS before a balloon may pop up
+'ballooneval'	  'beval'   switch on balloon evaluation
+'balloonexpr'	  'bexpr'   expression to show in balloon
+'binary'	  'bin'     read/write/edit file in binary mode
+'bioskey'	  'biosk'   MS-DOS: use bios calls for input characters
+'bomb'			    prepend a Byte Order Mark to the file
+'breakat'	  'brk'     characters that may cause a line break
+'browsedir'	  'bsdir'   which directory to start browsing in
+'bufhidden'	  'bh'	    what to do when buffer is no longer in window
+'buflisted'	  'bl'	    whether the buffer shows up in the buffer list
+'buftype'	  'bt'	    special type of buffer
+'casemap'	  'cmp'     specifies how case of letters is changed
+'cdpath'	  'cd'	    list of directories searched with ":cd"
+'cedit'			    key used to open the command-line window
+'charconvert'	  'ccv'     expression for character encoding conversion
+'cindent'	  'cin'     do C program indenting
+'cinkeys'	  'cink'    keys that trigger indent when 'cindent' is set
+'cinoptions'	  'cino'    how to do indenting when 'cindent' is set
+'cinwords'	  'cinw'    words where 'si' and 'cin' add an indent
+'clipboard'	  'cb'	    use the clipboard as the unnamed register
+'cmdheight'	  'ch'	    number of lines to use for the command-line
+'cmdwinheight'	  'cwh'     height of the command-line window
+'columns'	  'co'	    number of columns in the display
+'comments'	  'com'     patterns that can start a comment line
 'commentstring'   'cms'     template for comments; used for fold marker
-'compatible'      'cp'      behave Vi-compatible as much as possible
-'complete'        'cpt'     specify how Insert mode completion works
-'completefunc'    'cfu'     function to be used for Insert mode completion
-'completeopt'     'cot'     options for Insert mode completion
-'confirm'         'cf'      ask what to do about unsaved/read-only files
-'conskey'         'consk'   get keys directly from console (MS-DOS only)
-'copyindent'      'ci'      make 'autoindent' use existing indent structure
-'cpoptions'       'cpo'     flags for Vi-compatible behavior
+'compatible'	  'cp'	    behave Vi-compatible as much as possible
+'complete'	  'cpt'     specify how Insert mode completion works
+'completefunc'	  'cfu'     function to be used for Insert mode completion
+'completeopt'	  'cot'     options for Insert mode completion
+'confirm'	  'cf'	    ask what to do about unsaved/read-only files
+'conskey'	  'consk'   get keys directly from console (MS-DOS only)
+'copyindent'	  'ci'	    make 'autoindent' use existing indent structure
+'cpoptions'	  'cpo'     flags for Vi-compatible behavior
 'cscopepathcomp'  'cspc'    how many components of the path to show
 'cscopeprg'       'csprg'   command to execute cscope
 'cscopequickfix'  'csqf'    use quickfix window for cscope results
@@ -648,288 +648,288 @@ Short explanation of each option:		*opti
 'cscopeverbose'   'csverb'  give messages when adding a cscope database
 'cursorcolumn'	  'cuc'	    highlight the screen column of the cursor
 'cursorline'	  'cul'	    highlight the screen line of the cursor
-'debug'                     set to "msg" to see all error messages
-'define'          'def'     pattern to be used to find a macro definition
-'delcombine'      'deco'    delete combining characters on their own
-'dictionary'      'dict'    list of file names used for keyword completion
-'diff'                      use diff mode for the current window
-'diffexpr'        'dex'     expression used to obtain a diff file
-'diffopt'         'dip'     options for using diff mode
-'digraph'         'dg'      enable the entering of digraphs in Insert mode
-'directory'       'dir'     list of directory names for the swap file
-'display'         'dy'      list of flags for how to display text
-'eadirection'     'ead'     in which direction 'equalalways' works
-'edcompatible'    'ed'      toggle flags of ":substitute" command
-'encoding'        'enc'     encoding used internally
-'endofline'       'eol'     write <EOL> for last line in file
-'equalalways'     'ea'      windows are automatically made the same size
-'equalprg'        'ep'      external program to use for "=" command
-'errorbells'      'eb'      ring the bell for error messages
-'errorfile'       'ef'      name of the errorfile for the QuickFix mode
-'errorformat'     'efm'     description of the lines in the error file
-'esckeys'         'ek'      recognize function keys in Insert mode
-'eventignore'     'ei'      autocommand events that are ignored
-'expandtab'       'et'      use spaces when <Tab> is inserted
-'exrc'            'ex'      read .vimrc and .exrc in the current directory
-'fileencoding'    'fenc'    file encoding for multi-byte text
+'debug'			    set to "msg" to see all error messages
+'define'	  'def'     pattern to be used to find a macro definition
+'delcombine'	  'deco'    delete combining characters on their own
+'dictionary'	  'dict'    list of file names used for keyword completion
+'diff'			    use diff mode for the current window
+'diffexpr'	  'dex'     expression used to obtain a diff file
+'diffopt'	  'dip'     options for using diff mode
+'digraph'	  'dg'	    enable the entering of digraphs in Insert mode
+'directory'	  'dir'     list of directory names for the swap file
+'display'	  'dy'	    list of flags for how to display text
+'eadirection'	  'ead'     in which direction 'equalalways' works
+'edcompatible'	  'ed'	    toggle flags of ":substitute" command
+'encoding'	  'enc'     encoding used internally
+'endofline'	  'eol'     write <EOL> for last line in file
+'equalalways'	  'ea'	    windows are automatically made the same size
+'equalprg'	  'ep'	    external program to use for "=" command
+'errorbells'	  'eb'	    ring the bell for error messages
+'errorfile'	  'ef'	    name of the errorfile for the QuickFix mode
+'errorformat'	  'efm'     description of the lines in the error file
+'esckeys'	  'ek'	    recognize function keys in Insert mode
+'eventignore'	  'ei'	    autocommand events that are ignored
+'expandtab'	  'et'	    use spaces when <Tab> is inserted
+'exrc'		  'ex'	    read .vimrc and .exrc in the current directory
+'fileencoding'	  'fenc'    file encoding for multi-byte text
 'fileencodings'   'fencs'   automatically detected character encodings
-'fileformat'      'ff'      file format used for file I/O
-'fileformats'     'ffs'     automatically detected values for 'fileformat'
-'filetype'        'ft'      type of file, used for autocommands
-'fillchars'       'fcs'     characters to use for displaying special items
-'fkmap'           'fk'      Farsi keyboard mapping
-'foldclose'       'fcl'     close a fold when the cursor leaves it
-'foldcolumn'      'fdc'     width of the column used to indicate folds
-'foldenable'      'fen'     set to display all folds open
-'foldexpr'        'fde'     expression used when 'foldmethod' is "expr"
-'foldignore'      'fdi'     ignore lines when 'foldmethod' is "indent"
-'foldlevel'       'fdl'     close folds with a level higher than this
+'fileformat'	  'ff'	    file format used for file I/O
+'fileformats'	  'ffs'     automatically detected values for 'fileformat'
+'filetype'	  'ft'	    type of file, used for autocommands
+'fillchars'	  'fcs'     characters to use for displaying special items
+'fkmap'		  'fk'	    Farsi keyboard mapping
+'foldclose'	  'fcl'     close a fold when the cursor leaves it
+'foldcolumn'	  'fdc'     width of the column used to indicate folds
+'foldenable'	  'fen'     set to display all folds open
+'foldexpr'	  'fde'     expression used when 'foldmethod' is "expr"
+'foldignore'	  'fdi'     ignore lines when 'foldmethod' is "indent"
+'foldlevel'	  'fdl'     close folds with a level higher than this
 'foldlevelstart'  'fdls'    'foldlevel' when starting to edit a file
-'foldmarker'      'fmr'     markers used when 'foldmethod' is "marker"
-'foldmethod'      'fdm'     folding type
-'foldminlines'    'fml'     minimum number of lines for a fold to be closed
-'foldnestmax'     'fdn'     maximum fold depth
-'foldopen'        'fdo'     for which commands a fold will be opened
-'foldtext'        'fdt'     expression used to display for a closed fold
+'foldmarker'	  'fmr'     markers used when 'foldmethod' is "marker"
+'foldmethod'	  'fdm'     folding type
+'foldminlines'	  'fml'     minimum number of lines for a fold to be closed
+'foldnestmax'	  'fdn'     maximum fold depth
+'foldopen'	  'fdo'     for which commands a fold will be opened
+'foldtext'	  'fdt'     expression used to display for a closed fold
 'formatlistpat'   'flp'     pattern used to recognize a list header
-'formatoptions'   'fo'      how automatic formatting is to be done
-'formatprg'       'fp'      name of external program used with "gq" command
-'formatexpr'      'fex'     expression used with "gq" command
-'fsync'           'fs'      whether to invoke fsync() after file write
-'gdefault'        'gd'      the ":substitute" flag 'g' is default on
-'grepformat'      'gfm'     format of 'grepprg' output
-'grepprg'         'gp'      program to use for ":grep"
-'guicursor'       'gcr'     GUI: settings for cursor shape and blinking
-'guifont'         'gfn'     GUI: Name(s) of font(s) to be used
-'guifontset'      'gfs'     GUI: Names of multi-byte fonts to be used
-'guifontwide'     'gfw'     list of font names for double-wide characters
-'guiheadroom'     'ghr'     GUI: pixels room for window decorations
-'guioptions'      'go'      GUI: Which components and options are used
-'guipty'                    GUI: try to use a pseudo-tty for ":!" commands
-'guitablabel'     'gtl'     GUI: custom label for a tab page
+'formatoptions'   'fo'	    how automatic formatting is to be done
+'formatprg'	  'fp'	    name of external program used with "gq" command
+'formatexpr'	  'fex'     expression used with "gq" command
+'fsync'		  'fs'	    whether to invoke fsync() after file write
+'gdefault'	  'gd'	    the ":substitute" flag 'g' is default on
+'grepformat'	  'gfm'     format of 'grepprg' output
+'grepprg'	  'gp'	    program to use for ":grep"
+'guicursor'	  'gcr'     GUI: settings for cursor shape and blinking
+'guifont'	  'gfn'     GUI: Name(s) of font(s) to be used
+'guifontset'	  'gfs'     GUI: Names of multi-byte fonts to be used
+'guifontwide'	  'gfw'     list of font names for double-wide characters
+'guiheadroom'	  'ghr'     GUI: pixels room for window decorations
+'guioptions'	  'go'	    GUI: Which components and options are used
+'guipty'		    GUI: try to use a pseudo-tty for ":!" commands
+'guitablabel'	  'gtl'     GUI: custom label for a tab page
 'guitabtooltip'   'gtt'     GUI: custom tooltip for a tab page
-'helpfile'        'hf'      full path name of the main help file
-'helpheight'      'hh'      minimum height of a new help window
-'helplang'        'hlg'     preferred help languages
-'hidden'          'hid'     don't unload buffer when it is |abandon|ed
-'highlight'       'hl'      sets highlighting mode for various occasions
-'hlsearch'        'hls'     highlight matches with last search pattern
-'history'         'hi'      number of command-lines that are remembered
-'hkmap'           'hk'      Hebrew keyboard mapping
-'hkmapp'          'hkp'     phonetic Hebrew keyboard mapping
-'icon'                      let Vim set the text of the window icon
-'iconstring'                string to use for the Vim icon text
-'ignorecase'      'ic'      ignore case in search patterns
+'helpfile'	  'hf'	    full path name of the main help file
+'helpheight'	  'hh'	    minimum height of a new help window
+'helplang'	  'hlg'     preferred help languages
+'hidden'	  'hid'     don't unload buffer when it is |abandon|ed
+'highlight'	  'hl'	    sets highlighting mode for various occasions
+'hlsearch'	  'hls'     highlight matches with last search pattern
+'history'	  'hi'	    number of command-lines that are remembered
+'hkmap'		  'hk'	    Hebrew keyboard mapping
+'hkmapp'	  'hkp'     phonetic Hebrew keyboard mapping
+'icon'			    let Vim set the text of the window icon
+'iconstring'		    string to use for the Vim icon text
+'ignorecase'	  'ic'	    ignore case in search patterns
 'imactivatekey'   'imak'    key that activates the X input method
-'imcmdline'       'imc'     use IM when starting to edit a command line
-'imdisable'       'imd'     do not use the IM in any mode
-'iminsert'        'imi'     use :lmap or IM in Insert mode
-'imsearch'        'ims'     use :lmap or IM when typing a search pattern
-'include'         'inc'     pattern to be used to find an include file
-'includeexpr'     'inex'    expression used to process an include line
-'incsearch'       'is'      highlight match while typing search pattern
-'indentexpr'      'inde'    expression used to obtain the indent of a line
-'indentkeys'      'indk'    keys that trigger indenting with 'indentexpr'
-'infercase'       'inf'     adjust case of match for keyword completion
-'insertmode'      'im'      start the edit of a file in Insert mode
-'isfname'         'isf'     characters included in file names and pathnames
-'isident'         'isi'     characters included in identifiers
-'iskeyword'       'isk'     characters included in keywords
-'isprint'         'isp'     printable characters
-'joinspaces'      'js'      two spaces after a period with a join command
-'key'                       encryption key
-'keymap'          'kmp'     name of a keyboard mapping
-'keymodel'        'km'      enable starting/stopping selection with keys
-'keywordprg'      'kp'      program to use for the "K" command
-'langmap'         'lmap'    alphabetic characters for other language mode
-'langmenu'        'lm'      language to be used for the menus
-'laststatus'      'ls'      tells when last window has status lines
-'lazyredraw'      'lz'      don't redraw while executing macros
-'linebreak'       'lbr'     wrap long lines at a blank
-'lines'                     number of lines in the display
-'linespace'       'lsp'     number of pixel lines to use between characters
-'lisp'                      automatic indenting for Lisp
-'lispwords'       'lw'      words that change how lisp indenting works
-'list'                      show <Tab> and <EOL>
-'listchars'       'lcs'     characters for displaying in list mode
-'loadplugins'     'lpl'     load plugin scripts when starting up
+'imcmdline'	  'imc'     use IM when starting to edit a command line
+'imdisable'	  'imd'     do not use the IM in any mode
+'iminsert'	  'imi'     use :lmap or IM in Insert mode
+'imsearch'	  'ims'     use :lmap or IM when typing a search pattern
+'include'	  'inc'     pattern to be used to find an include file
+'includeexpr'	  'inex'    expression used to process an include line
+'incsearch'	  'is'	    highlight match while typing search pattern
+'indentexpr'	  'inde'    expression used to obtain the indent of a line
+'indentkeys'	  'indk'    keys that trigger indenting with 'indentexpr'
+'infercase'	  'inf'     adjust case of match for keyword completion
+'insertmode'	  'im'	    start the edit of a file in Insert mode
+'isfname'	  'isf'     characters included in file names and pathnames
+'isident'	  'isi'     characters included in identifiers
+'iskeyword'	  'isk'     characters included in keywords
+'isprint'	  'isp'     printable characters
+'joinspaces'	  'js'	    two spaces after a period with a join command
+'key'			    encryption key
+'keymap'	  'kmp'     name of a keyboard mapping
+'keymodel'	  'km'	    enable starting/stopping selection with keys
+'keywordprg'	  'kp'	    program to use for the "K" command
+'langmap'	  'lmap'    alphabetic characters for other language mode
+'langmenu'	  'lm'	    language to be used for the menus
+'laststatus'	  'ls'	    tells when last window has status lines
+'lazyredraw'	  'lz'	    don't redraw while executing macros
+'linebreak'	  'lbr'     wrap long lines at a blank
+'lines'			    number of lines in the display
+'linespace'	  'lsp'     number of pixel lines to use between characters
+'lisp'			    automatic indenting for Lisp
+'lispwords'	  'lw'	    words that change how lisp indenting works
+'list'			    show <Tab> and <EOL>
+'listchars'	  'lcs'     characters for displaying in list mode
+'loadplugins'	  'lpl'     load plugin scripts when starting up
 'macatsui'		    Mac GUI: use ATSUI text drawing
-'magic'                     changes special characters in search patterns
-'makeef'          'mef'     name of the errorfile for ":make"
-'makeprg'         'mp'      program to use for the ":make" command
-'matchpairs'      'mps'     pairs of characters that "%" can match
-'matchtime'       'mat'     tenths of a second to show matching paren
-'maxcombine'      'mco'     maximum nr of combining characters displayed
-'maxfuncdepth'    'mfd'     maximum recursive depth for user functions
-'maxmapdepth'     'mmd'     maximum recursive depth for mapping
-'maxmem'          'mm'      maximum memory (in Kbyte) used for one buffer
+'magic'			    changes special characters in search patterns
+'makeef'	  'mef'     name of the errorfile for ":make"
+'makeprg'	  'mp'	    program to use for the ":make" command
+'matchpairs'	  'mps'     pairs of characters that "%" can match
+'matchtime'	  'mat'     tenths of a second to show matching paren
+'maxcombine'	  'mco'     maximum nr of combining characters displayed
+'maxfuncdepth'	  'mfd'     maximum recursive depth for user functions
+'maxmapdepth'	  'mmd'     maximum recursive depth for mapping
+'maxmem'	  'mm'	    maximum memory (in Kbyte) used for one buffer
 'maxmempattern'   'mmp'     maximum memory (in Kbyte) used for pattern search
-'maxmemtot'       'mmt'     maximum memory (in Kbyte) used for all buffers
-'menuitems'       'mis'     maximum number of items in a menu
-'mkspellmem'      'msm'     memory used before |:mkspell| compresses the tree
-'modeline'        'ml'      recognize modelines at start or end of file
-'modelines'       'mls'     number of lines checked for modelines
-'modifiable'      'ma'      changes to the text are not possible
-'modified'        'mod'     buffer has been modified
-'more'                      pause listings when the whole screen is filled
-'mouse'                     enable the use of mouse clicks
-'mousefocus'      'mousef'  keyboard focus follows the mouse
-'mousehide'       'mh'      hide mouse pointer while typing
-'mousemodel'      'mousem'  changes meaning of mouse buttons
-'mouseshape'      'mouses'  shape of the mouse pointer in different modes
-'mousetime'       'mouset'  max time between mouse double-click
-'mzquantum'       'mzq'     the interval between polls for MzScheme threads
-'nrformats'       'nf'      number formats recognized for CTRL-A command
-'number'          'nu'      print the line number in front of each line
-'numberwidth'     'nuw'     number of columns used for the line number
-'omnifunc'        'ofu'     function for filetype-specific completion
-'operatorfunc'    'opfunc'  funtion to be called for |g@| operator
-'osfiletype'      'oft'     operating system-specific filetype information
-'paragraphs'      'para'    nroff macros that separate paragraphs
-'paste'                     allow pasting text
-'pastetoggle'     'pt'      key code that causes 'paste' to toggle
-'patchexpr'       'pex'     expression used to patch a file
-'patchmode'       'pm'      keep the oldest version of a file
-'path'            'pa'      list of directories searched with "gf" et.al.
-'preserveindent'  'pi'      preserve the indent structure when reindenting
+'maxmemtot'	  'mmt'     maximum memory (in Kbyte) used for all buffers
+'menuitems'	  'mis'     maximum number of items in a menu
+'mkspellmem'	  'msm'     memory used before |:mkspell| compresses the tree
+'modeline'	  'ml'	    recognize modelines at start or end of file
+'modelines'	  'mls'     number of lines checked for modelines
+'modifiable'	  'ma'	    changes to the text are not possible
+'modified'	  'mod'     buffer has been modified
+'more'			    pause listings when the whole screen is filled
+'mouse'			    enable the use of mouse clicks
+'mousefocus'	  'mousef'  keyboard focus follows the mouse
+'mousehide'	  'mh'	    hide mouse pointer while typing
+'mousemodel'	  'mousem'  changes meaning of mouse buttons
+'mouseshape'	  'mouses'  shape of the mouse pointer in different modes
+'mousetime'	  'mouset'  max time between mouse double-click
+'mzquantum'	  'mzq'     the interval between polls for MzScheme threads
+'nrformats'	  'nf'	    number formats recognized for CTRL-A command
+'number'	  'nu'	    print the line number in front of each line
+'numberwidth'	  'nuw'     number of columns used for the line number
+'omnifunc'	  'ofu'     function for filetype-specific completion
+'operatorfunc'	  'opfunc'  funtion to be called for |g@| operator
+'osfiletype'	  'oft'     operating system-specific filetype information
+'paragraphs'	  'para'    nroff macros that separate paragraphs
+'paste'			    allow pasting text
+'pastetoggle'	  'pt'	    key code that causes 'paste' to toggle
+'patchexpr'	  'pex'     expression used to patch a file
+'patchmode'	  'pm'	    keep the oldest version of a file
+'path'		  'pa'	    list of directories searched with "gf" et.al.
+'preserveindent'  'pi'	    preserve the indent structure when reindenting
 'previewheight'   'pvh'     height of the preview window
 'previewwindow'   'pvw'     identifies the preview window
-'printdevice'     'pdev'    name of the printer to be used for :hardcopy
+'printdevice'	  'pdev'    name of the printer to be used for :hardcopy
 'printencoding'   'penc'    encoding to be used for printing
-'printexpr'       'pexpr'   expression used to print PostScript for :hardcopy
-'printfont'       'pfn'     name of the font to be used for :hardcopy
-'printheader'     'pheader' format of the header used for :hardcopy
+'printexpr'	  'pexpr'   expression used to print PostScript for :hardcopy
+'printfont'	  'pfn'     name of the font to be used for :hardcopy
+'printheader'	  'pheader' format of the header used for :hardcopy
 'printmbcharset'  'pmbcs'   CJK character set to be used for :hardcopy
-'printmbfont'     'pmbfn'   font names to be used for CJK output of :hardcopy
-'printoptions'    'popt'    controls the format of :hardcopy output
-'pumheight''      'ph'      maximum height of the popup menu
-'quoteescape'     'qe'      escape characters used in a string
-'readonly'        'ro'      disallow writing the buffer
-'remap'                     allow mappings to work recursively
-'report'                    threshold for reporting nr. of lines changed
-'restorescreen'   'rs'      Win32: restore screen when exiting
-'revins'          'ri'      inserting characters will work backwards
-'rightleft'       'rl'      window is right-to-left oriented
-'rightleftcmd'    'rlc'     commands for which editing works right-to-left
-'ruler'           'ru'      show cursor line and column in the status line
-'rulerformat'     'ruf'     custom format for the ruler
-'runtimepath'     'rtp'     list of directories used for runtime files
-'scroll'          'scr'     lines to scroll with CTRL-U and CTRL-D
-'scrollbind'      'scb'     scroll in window as other windows scroll
-'scrolljump'      'sj'      minimum number of lines to scroll
-'scrolloff'       'so'      minimum nr. of lines above and below cursor
-'scrollopt'       'sbo'     how 'scrollbind' should behave
-'sections'        'sect'    nroff macros that separate sections
-'secure'                    secure mode for reading .vimrc in current dir
-'selection'       'sel'     what type of selection to use
-'selectmode'      'slm'     when to use Select mode instead of Visual mode
+'printmbfont'	  'pmbfn'   font names to be used for CJK output of :hardcopy
+'printoptions'	  'popt'    controls the format of :hardcopy output
+'pumheight''	  'ph'	    maximum height of the popup menu
+'quoteescape'	  'qe'	    escape characters used in a string
+'readonly'	  'ro'	    disallow writing the buffer
+'remap'			    allow mappings to work recursively
+'report'		    threshold for reporting nr. of lines changed
+'restorescreen'   'rs'	    Win32: restore screen when exiting
+'revins'	  'ri'	    inserting characters will work backwards
+'rightleft'	  'rl'	    window is right-to-left oriented
+'rightleftcmd'	  'rlc'     commands for which editing works right-to-left
+'ruler'		  'ru'	    show cursor line and column in the status line
+'rulerformat'	  'ruf'     custom format for the ruler
+'runtimepath'	  'rtp'     list of directories used for runtime files
+'scroll'	  'scr'     lines to scroll with CTRL-U and CTRL-D
+'scrollbind'	  'scb'     scroll in window as other windows scroll
+'scrolljump'	  'sj'	    minimum number of lines to scroll
+'scrolloff'	  'so'	    minimum nr. of lines above and below cursor
+'scrollopt'	  'sbo'     how 'scrollbind' should behave
+'sections'	  'sect'    nroff macros that separate sections
+'secure'		    secure mode for reading .vimrc in current dir
+'selection'	  'sel'     what type of selection to use
+'selectmode'	  'slm'     when to use Select mode instead of Visual mode
 'sessionoptions'  'ssop'    options for |:mksession|
-'shell'           'sh'      name of shell to use for external commands
-'shellcmdflag'    'shcf'    flag to shell to execute one command
-'shellpipe'       'sp'      string to put output of ":make" in error file
-'shellquote'      'shq'     quote character(s) for around shell command
-'shellredir'      'srr'     string to put output of filter in a temp file
-'shellslash'      'ssl'     use forward slash for shell file names
-'shelltemp'       'stmp'    whether to use a temp file for shell commands
-'shelltype'       'st'      Amiga: influences how to use a shell
-'shellxquote'     'sxq'     like 'shellquote', but include redirection
-'shiftround'      'sr'      round indent to multiple of shiftwidth
-'shiftwidth'      'sw'      number of spaces to use for (auto)indent step
-'shortmess'       'shm'     list of flags, reduce length of messages
-'shortname'       'sn'      non-MS-DOS: Filenames assumed to be 8.3 chars
-'showbreak'       'sbr'     string to use at the start of wrapped lines
-'showcmd'         'sc'      show (partial) command in status line
-'showfulltag'     'sft'     show full tag pattern when completing tag
-'showmatch'       'sm'      briefly jump to matching bracket if insert one
-'showmode'        'smd'     message on status line to show current mode
-'showtabline'     'stal'    tells when the tab pages line is displayed
-'sidescroll'      'ss'      minimum number of columns to scroll horizontal
+'shell'		  'sh'	    name of shell to use for external commands
+'shellcmdflag'	  'shcf'    flag to shell to execute one command
+'shellpipe'	  'sp'	    string to put output of ":make" in error file
+'shellquote'	  'shq'     quote character(s) for around shell command
+'shellredir'	  'srr'     string to put output of filter in a temp file
+'shellslash'	  'ssl'     use forward slash for shell file names
+'shelltemp'	  'stmp'    whether to use a temp file for shell commands
+'shelltype'	  'st'	    Amiga: influences how to use a shell
+'shellxquote'	  'sxq'     like 'shellquote', but include redirection
+'shiftround'	  'sr'	    round indent to multiple of shiftwidth
+'shiftwidth'	  'sw'	    number of spaces to use for (auto)indent step
+'shortmess'	  'shm'     list of flags, reduce length of messages
+'shortname'	  'sn'	    non-MS-DOS: Filenames assumed to be 8.3 chars
+'showbreak'	  'sbr'     string to use at the start of wrapped lines
+'showcmd'	  'sc'	    show (partial) command in status line
+'showfulltag'	  'sft'     show full tag pattern when completing tag
+'showmatch'	  'sm'	    briefly jump to matching bracket if insert one
+'showmode'	  'smd'     message on status line to show current mode
+'showtabline'	  'stal'    tells when the tab pages line is displayed
+'sidescroll'	  'ss'	    minimum number of columns to scroll horizontal
 'sidescrolloff'   'siso'    min. nr. of columns to left and right of cursor
-'smartcase'       'scs'     no ignore case when pattern has uppercase
-'smartindent'     'si'      smart autoindenting for C programs
-'smarttab'        'sta'     use 'shiftwidth' when inserting <Tab>
-'softtabstop'     'sts'     number of spaces that <Tab> uses while editing
-'spell'                     enable spell checking
+'smartcase'	  'scs'     no ignore case when pattern has uppercase
+'smartindent'	  'si'	    smart autoindenting for C programs
+'smarttab'	  'sta'     use 'shiftwidth' when inserting <Tab>
+'softtabstop'	  'sts'     number of spaces that <Tab> uses while editing
+'spell'			    enable spell checking
 'spellcapcheck'   'spc'     pattern to locate end of a sentence
-'spellfile'       'spf'     files where |zg| and |zw| store words
-'spelllang'       'spl'     language(s) to do spell checking for
-'spellsuggest'    'sps'     method(s) used to suggest spelling corrections
-'splitbelow'      'sb'      new window from split is below the current one
-'splitright'      'spr'     new window is put right of the current one
-'startofline'     'sol'     commands move cursor to first blank in line
-'statusline'      'stl'     custom format for the status line
-'suffixes'        'su'      suffixes that are ignored with multiple match
-'suffixesadd'     'sua'     suffixes added when searching for a file
-'swapfile'        'swf'     whether to use a swapfile for a buffer
-'swapsync'        'sws'     how to sync the swap file
-'switchbuf'       'swb'     sets behavior when switching to another buffer
-'synmaxcol'       'smc'     maximum column to find syntax items
-'syntax'          'syn'     syntax to be loaded for current buffer
-'tabstop'         'ts'      number of spaces that <Tab> in file uses
-'tabline'         'tal'     custom format for the console tab pages line
-'tabpagemax'      'tpm'     maximum number of tab pages for |-p| and "tab all"
-'tagbsearch'      'tbs'     use binary searching in tags files
-'taglength'       'tl'      number of significant characters for a tag
-'tagrelative'     'tr'      file names in tag file are relative
-'tags'            'tag'     list of file names used by the tag command
-'tagstack'        'tgst'    push tags onto the tag stack
-'term'                      name of the terminal
-'termbidi'        'tbidi'   terminal takes care of bi-directionality
-'termencoding'    'tenc'    character encoding used by the terminal
-'terse'                     shorten some messages
-'textauto'        'ta'      obsolete, use 'fileformats'
-'textmode'        'tx'      obsolete, use 'fileformat'
-'textwidth'       'tw'      maximum width of text that is being inserted
-'thesaurus'       'tsr'     list of thesaurus files for keyword completion
-'tildeop'         'top'     tilde command "~" behaves like an operator
-'timeout'         'to'      time out on mappings and key codes
-'timeoutlen'      'tm'      time out time in milliseconds
-'title'                     let Vim set the title of the window
-'titlelen'                  percentage of 'columns' used for window title
-'titleold'                  old title, restored when exiting
-'titlestring'               string to use for the Vim window title
-'toolbar'         'tb'      GUI: which items to show in the toolbar
+'spellfile'	  'spf'     files where |zg| and |zw| store words
+'spelllang'	  'spl'     language(s) to do spell checking for
+'spellsuggest'	  'sps'     method(s) used to suggest spelling corrections
+'splitbelow'	  'sb'	    new window from split is below the current one
+'splitright'	  'spr'     new window is put right of the current one
+'startofline'	  'sol'     commands move cursor to first blank in line
+'statusline'	  'stl'     custom format for the status line
+'suffixes'	  'su'	    suffixes that are ignored with multiple match
+'suffixesadd'	  'sua'     suffixes added when searching for a file
+'swapfile'	  'swf'     whether to use a swapfile for a buffer
+'swapsync'	  'sws'     how to sync the swap file
+'switchbuf'	  'swb'     sets behavior when switching to another buffer
+'synmaxcol'	  'smc'     maximum column to find syntax items
+'syntax'	  'syn'     syntax to be loaded for current buffer
+'tabstop'	  'ts'	    number of spaces that <Tab> in file uses
+'tabline'	  'tal'     custom format for the console tab pages line
+'tabpagemax'	  'tpm'     maximum number of tab pages for |-p| and "tab all"
+'tagbsearch'	  'tbs'     use binary searching in tags files
+'taglength'	  'tl'	    number of significant characters for a tag
+'tagrelative'	  'tr'	    file names in tag file are relative
+'tags'		  'tag'     list of file names used by the tag command
+'tagstack'	  'tgst'    push tags onto the tag stack
+'term'			    name of the terminal
+'termbidi'	  'tbidi'   terminal takes care of bi-directionality
+'termencoding'	  'tenc'    character encoding used by the terminal
+'terse'			    shorten some messages
+'textauto'	  'ta'	    obsolete, use 'fileformats'
+'textmode'	  'tx'	    obsolete, use 'fileformat'
+'textwidth'	  'tw'	    maximum width of text that is being inserted
+'thesaurus'	  'tsr'     list of thesaurus files for keyword completion
+'tildeop'	  'top'     tilde command "~" behaves like an operator
+'timeout'	  'to'	    time out on mappings and key codes
+'timeoutlen'	  'tm'	    time out time in milliseconds
+'title'			    let Vim set the title of the window
+'titlelen'		    percentage of 'columns' used for window title
+'titleold'		    old title, restored when exiting
+'titlestring'		    string to use for the Vim window title
+'toolbar'	  'tb'	    GUI: which items to show in the toolbar
 'toolbariconsize' 'tbis'    size of the toolbar icons (for GTK 2 only)
-'ttimeout'                  time out on mappings
-'ttimeoutlen'     'ttm'     time out time for key codes in milliseconds
-'ttybuiltin'      'tbi'     use built-in termcap before external termcap
-'ttyfast'         'tf'      indicates a fast terminal connection
-'ttymouse'        'ttym'    type of mouse codes generated
-'ttyscroll'       'tsl'     maximum number of lines for a scroll
-'ttytype'         'tty'     alias for 'term'
-'undolevels'      'ul'      maximum number of changes that can be undone
-'updatecount'     'uc'      after this many characters flush swap file
-'updatetime'      'ut'      after this many milliseconds flush swap file
-'verbose'         'vbs'     give informative messages
-'verbosefile'     'vfile'   file to write messages in
-'viewdir'         'vdir'    directory where to store files with :mkview
-'viewoptions'     'vop'     specifies what to save for :mkview
-'viminfo'         'vi'      use .viminfo file upon startup and exiting
-'virtualedit'     've'      when to use virtual editing
-'visualbell'      'vb'      use visual bell instead of beeping
-'warn'                      warn for shell command when buffer was changed
-'weirdinvert'     'wi'      for terminals that have weird inversion method
-'whichwrap'       'ww'      allow specified keys to cross line boundaries
-'wildchar'        'wc'      command-line character for wildcard expansion
-'wildcharm'       'wcm'     like 'wildchar' but also works when mapped
-'wildignore'      'wig'     files matching these patterns are not completed
-'wildmenu'        'wmnu'    use menu for command line completion
-'wildmode'        'wim'     mode for 'wildchar' command-line expansion
-'wildoptions'     'wop'     specifies how command line completion is done.
-'winaltkeys'      'wak'     when the windows system handles ALT keys
-'winheight'       'wh'      minimum number of lines for the current window
-'winfixheight'    'wfh'     keep window height when opening/closing windows
-'winfixwidth'     'wfw'     keep window width when opening/closing windows
-'winminheight'    'wmh'     minimum number of lines for any window
-'winminwidth'     'wmw'     minimal number of columns for any window
-'winwidth'        'wiw'     minimal number of columns for current window
-'wrap'                      long lines wrap and continue on the next line
-'wrapmargin'      'wm'      chars from the right where wrapping starts
-'wrapscan'        'ws'      searches wrap around the end of the file
-'write'                     writing to a file is allowed
-'writeany'        'wa'      write to file with no need for "!" override
-'writebackup'     'wb'      make a backup before overwriting a file
-'writedelay'      'wd'      delay this many msec for each char (for debug)
+'ttimeout'		    time out on mappings
+'ttimeoutlen'	  'ttm'     time out time for key codes in milliseconds
+'ttybuiltin'	  'tbi'     use built-in termcap before external termcap
+'ttyfast'	  'tf'	    indicates a fast terminal connection
+'ttymouse'	  'ttym'    type of mouse codes generated
+'ttyscroll'	  'tsl'     maximum number of lines for a scroll
+'ttytype'	  'tty'     alias for 'term'
+'undolevels'	  'ul'	    maximum number of changes that can be undone
+'updatecount'	  'uc'	    after this many characters flush swap file
+'updatetime'	  'ut'	    after this many milliseconds flush swap file
+'verbose'	  'vbs'     give informative messages
+'verbosefile'	  'vfile'   file to write messages in
+'viewdir'	  'vdir'    directory where to store files with :mkview
+'viewoptions'	  'vop'     specifies what to save for :mkview
+'viminfo'	  'vi'	    use .viminfo file upon startup and exiting
+'virtualedit'	  've'	    when to use virtual editing
+'visualbell'	  'vb'	    use visual bell instead of beeping
+'warn'			    warn for shell command when buffer was changed
+'weirdinvert'	  'wi'	    for terminals that have weird inversion method
+'whichwrap'	  'ww'	    allow specified keys to cross line boundaries
+'wildchar'	  'wc'	    command-line character for wildcard expansion
+'wildcharm'	  'wcm'     like 'wildchar' but also works when mapped
+'wildignore'	  'wig'     files matching these patterns are not completed
+'wildmenu'	  'wmnu'    use menu for command line completion
+'wildmode'	  'wim'     mode for 'wildchar' command-line expansion
+'wildoptions'	  'wop'     specifies how command line completion is done.
+'winaltkeys'	  'wak'     when the windows system handles ALT keys
+'winheight'	  'wh'	    minimum number of lines for the current window
+'winfixheight'	  'wfh'     keep window height when opening/closing windows
+'winfixwidth'	  'wfw'     keep window width when opening/closing windows
+'winminheight'	  'wmh'     minimum number of lines for any window
+'winminwidth'	  'wmw'     minimal number of columns for any window
+'winwidth'	  'wiw'     minimal number of columns for current window
+'wrap'			    long lines wrap and continue on the next line
+'wrapmargin'	  'wm'	    chars from the right where wrapping starts
+'wrapscan'	  'ws'	    searches wrap around the end of the file
+'write'			    writing to a file is allowed
+'writeany'	  'wa'	    write to file with no need for "!" override
+'writebackup'	  'wb'	    make a backup before overwriting a file
+'writedelay'	  'wd'	    delay this many msec for each char (for debug)
 ------------------------------------------------------------------------------
 *Q_ur*		Undo/Redo commands
 
@@ -975,7 +975,7 @@ Short explanation of each option:		*opti
 |ga|		   ga		show ascii value of character under cursor in
 				   decimal, hex, and octal
 |g8|		   g8		for utf-8 encoding: show byte sequence for
-			 	   character under cursor in hex.
+				   character under cursor in hex.
 |g_CTRL-G|	   g CTRL-G	show cursor column, line, and character
 				   position
 |CTRL-C|	   CTRL-C	during searches: Interrupt the search
--- a/runtime/doc/quotes.txt
+++ b/runtime/doc/quotes.txt
@@ -1,4 +1,4 @@
-*quotes.txt*    For Vim version 7.0f.  Last change: 2006 Apr 24
+*quotes.txt*    For Vim version 7.0g.  Last change: 2006 Apr 24
 
 
 		  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.0f.  Last change: 2006 Apr 24
+*recover.txt*   For Vim version 7.0g.  Last change: 2006 Apr 24
 
 
 		  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.0f.  Last change: 2006 Apr 24
+*remote.txt*    For Vim version 7.0g.  Last change: 2006 Apr 30
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -45,19 +45,19 @@ The following command line arguments are
    --remote-wait-silent [+{cmd}] {file} ...		*--remote-wait-silent*
 				As --remote-wait, but don't complain if there
 				is no server.
-    							*--remote-tab*
+							*--remote-tab*
    --remote-tab			Like --remote but open each file in a new
-    				tabpage.
-    							*--remote-tab-silent*
+				tabpage.
+							*--remote-tab-silent*
    --remote-tab-silent		Like --remote-silent but open each file in a
-    				new tabpage.
+				new tabpage.
 							*--remote-tab-wait*
    --remote-tab-wait		Like --remote-wait but open each file in a new
-    				tabpage.
+				tabpage.
 
-    						*--remote-tab-wait-silent*
+						*--remote-tab-wait-silent*
    --remote-tab-wait-silent	Like --remote-wait-silent but open each file
-    				in a new tabpage.
+				in a new tabpage.
 								*--servername*
    --servername {name}		Become the server {name}.  When used together
 				with one of the --remote commands: connect to
@@ -67,7 +67,7 @@ The following command line arguments are
    --remote-send {keys}		Send {keys} to server and exit.
 								*--remote-expr*
    --remote-expr {expr}		Evaluate {expr} in server and print the result
-   				on stdout.
+				on stdout.
 								*--serverlist*
    --serverlist			Output a list of server names.
 
--- a/runtime/doc/repeat.txt
+++ b/runtime/doc/repeat.txt
@@ -1,4 +1,4 @@
-*repeat.txt*    For Vim version 7.0f.  Last change: 2006 Apr 24
+*repeat.txt*    For Vim version 7.0g.  Last change: 2006 Apr 30
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -606,11 +606,11 @@ numbers prepended for the explanation:
   4  Self time:   0.002006 ~
   5  ~
   6 count  total (s)   self (s) ~
-  7     9              0.000096   for i in range(8) ~
-  8     8   0.153655   0.000410     call Test3() ~
-  9     8              0.000070   endfor ~
- 10                               " Ask a question ~
- 11     1              0.001341   echo input("give me an answer: ") ~
+  7	9	       0.000096   for i in range(8) ~
+  8	8   0.153655   0.000410     call Test3() ~
+  9	8	       0.000070   endfor ~
+ 10				  " Ask a question ~
+ 11	1	       0.001341   echo input("give me an answer: ") ~
 
 The header (lines 1-4) gives the time for the whole function.  The "Total"
 time is the time passed while the function was executing.  The "Self" time is
@@ -649,7 +649,7 @@ mind there are various things that may c
 
 - Functions that are deleted before Vim exits will not produce profiling
   information.  You can check the |v:profiling| variable if needed: >
-  	:if !v:profiling
+	:if !v:profiling
 	:   delfunc MyFunc
 	:endif
 <
--- a/runtime/doc/rileft.txt
+++ b/runtime/doc/rileft.txt
@@ -1,4 +1,4 @@
-*rileft.txt*    For Vim version 7.0f.  Last change: 2006 Apr 24
+*rileft.txt*    For Vim version 7.0g.  Last change: 2006 Apr 24
 
 
 		  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.0f.  Last change: 2006 Apr 24
+*russian.txt*   For Vim version 7.0g.  Last change: 2006 Apr 24
 
 
 		  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.0f.  Last change: 2006 Apr 24
+*scroll.txt*    For Vim version 7.0g.  Last change: 2006 Apr 24
 
 
 		  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.0f.  Last change: 2006 Apr 24
+*sign.txt*      For Vim version 7.0g.  Last change: 2006 Apr 24
 
 
 		  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.0f.  Last change: 2006 Apr 24
+*spell.txt*	For Vim version 7.0g.  Last change: 2006 Apr 30
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -698,11 +698,11 @@ Additionally the following items are rec
   know something won't work.
 
 - A "/" may follow the word with the following items:
-    =   	Case must match exactly.
+    =		Case must match exactly.
     ?		Rare word.
     !		Bad (wrong) word.
     digit	A region in which the word is valid.  If no regions are
-    		specified the word is valid in all regions.
+		specified the word is valid in all regions.
 
 Example:
 
@@ -857,12 +857,12 @@ right encoding.
 
 				*spell-NAME* *spell-VERSION* *spell-HOME*
 				*spell-AUTHOR* *spell-EMAIL* *spell-COPYRIGHT*
-	NAME	  	Name of the language
-	VERSION   	1.0.1  with fixes
+	NAME		Name of the language
+	VERSION		1.0.1  with fixes
 	HOME		http://www.myhome.eu
 	AUTHOR		John Doe
 	EMAIL		john AT Doe DOT net
-	COPYRIGHT   	LGPL
+	COPYRIGHT	LGPL
 
 These fields are put in the .spl file as-is.  The |:spellinfo| command can be
 used to view the info.
@@ -1023,7 +1023,7 @@ Note: Myspell ignores any extra text aft
 this text to start with a "#" so that mistakes don't go unnoticed.  Example:
 
 	SFX F 0 in   [^i]n      # Spion > Spionin  ~
-	SFX F 0 nen  in         # Bauerin > Bauerinnen ~
+	SFX F 0 nen  in		# Bauerin > Bauerinnen ~
 
 Apparently Myspell allows an affix name to appear more than once.  Since this
 might also be a mistake, Vim checks for an extra "S".  The affix files for
@@ -1087,7 +1087,7 @@ An alternative is to only specify the su
 flags: The required prefix and the NEEDAFFIX flag.  |spell-NEEDAFFIX|
 
 
-PFXPOSTPONE					    	*spell-PFXPOSTPONE*
+PFXPOSTPONE						*spell-PFXPOSTPONE*
 
 When an affix file has very many prefixes that apply to many words it's not
 possible to build the whole word list in memory.  This applies to Hebrew (a
@@ -1434,10 +1434,10 @@ In the affix file SAL items can be used 
 to be used.  The main items define the "from" text and the "to" replacement.
 Simplistic example:
 
-	SAL CIA                  X ~
-	SAL CH                   X ~
-	SAL C                    K ~
-	SAL K                    K ~
+	SAL CIA			 X ~
+	SAL CH			 X ~
+	SAL C			 K ~
+	SAL K			 K ~
 
 There are a few rules and this can become quite complicated.  An explanation
 how it works can be found in the Aspell manual:
@@ -1510,10 +1510,10 @@ COMPLEXPREFIXES  (Hunspell)				*spell-CO
 		Enables using two prefixes.  Not supported.
 
 COMPOUND	(Hunspell)				*spell-COMPOUND*
-                This is one line with the count of COMPOUND items, followd by
-                that many COMPOUND lines with a pattern.
-                Remove the first line with the count and rename the other
-                items to COMPOUNDRULE |spell-COMPOUNDRULE|
+		This is one line with the count of COMPOUND items, followd by
+		that many COMPOUND lines with a pattern.
+		Remove the first line with the count and rename the other
+		items to COMPOUNDRULE |spell-COMPOUNDRULE|
 
 COMPOUNDFIRST	(Hunspell)				*spell-COMPOUNDFIRST*
 		Use COMPOUNDRULE instead. |spell-COMPOUNDRULE|
--- a/runtime/doc/sponsor.txt
+++ b/runtime/doc/sponsor.txt
@@ -1,4 +1,4 @@
-*sponsor.txt*   For Vim version 7.0f.  Last change: 2006 Apr 24
+*sponsor.txt*   For Vim version 7.0g.  Last change: 2006 Apr 30
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -208,7 +208,7 @@ to let him know that the donation is don
 
 Can you send me a bill?
 
-No, because there is no relation between the money you send and the work that 
+No, because there is no relation between the money you send and the work that
 is done.  But a receipt is possible.
 
 
--- a/runtime/doc/sql.txt
+++ b/runtime/doc/sql.txt
@@ -1,4 +1,4 @@
-*sql.txt*   	For Vim version 7.0f.  Last change: Wed Apr 26 2006 3:05:33 PM
+*sql.txt*	For Vim version 7.0g.  Last change: Wed Apr 26 2006 3:05:33 PM
 
 by David Fishburn
 
@@ -8,40 +8,40 @@ The Structured Query Language (SQL) is a
 that allow a user to interact with a relational database.  Vim includes
 features for navigation, indentation and syntax highlighting.
 
-1. Navigation                                   |sql-navigation|
-    1.1 Matchit		        		|sql-matchit|
-    1.2 Text Object Motions		        |sql-object-motions|
-    1.3 Predefined Object Motions               |sql-predefined-objects|
-    1.4 Macros                                  |sql-macros|
-2. SQL Dialects		                        |sql-dialects|
-    2.1 SQLSetType		        	|SQLSetType|
-    2.2 SQL Dialect Default		        |sql-type-default|
-3. Adding new SQL Dialects		        |sql-adding-dialects|
-4. OMNI SQL Completion  		        |sql-completion|
-    4.1 Static mode		        	|sql-completion-static|
-    4.2 Dynamic mode    		        |sql-completion-dynamic|
+1. Navigation					|sql-navigation|
+    1.1 Matchit					|sql-matchit|
+    1.2 Text Object Motions			|sql-object-motions|
+    1.3 Predefined Object Motions		|sql-predefined-objects|
+    1.4 Macros					|sql-macros|
+2. SQL Dialects					|sql-dialects|
+    2.1 SQLSetType				|SQLSetType|
+    2.2 SQL Dialect Default			|sql-type-default|
+3. Adding new SQL Dialects			|sql-adding-dialects|
+4. OMNI SQL Completion				|sql-completion|
+    4.1 Static mode				|sql-completion-static|
+    4.2 Dynamic mode				|sql-completion-dynamic|
     4.3 Tutorial				|sql-completion-tutorial|
-        4.3.1 Complete Tables			|sql-completion-tables|
-        4.3.2 Complete Columns			|sql-completion-columns|
-        4.3.3 Complete Procedures		|sql-completion-procedures|
-        4.3.4 Complete Views			|sql-completion-views|
+	4.3.1 Complete Tables			|sql-completion-tables|
+	4.3.2 Complete Columns			|sql-completion-columns|
+	4.3.3 Complete Procedures		|sql-completion-procedures|
+	4.3.4 Complete Views			|sql-completion-views|
     4.4 Completion Customization		|sql-completion-customization|
-    4.5 SQL Maps	        		|sql-completion-maps|
+    4.5 SQL Maps				|sql-completion-maps|
     4.6 Using with other filetypes		|sql-completion-filetypes|
 
 ==============================================================================
-1. Navigation	        			*sql-navigation*
+1. Navigation					*sql-navigation*
 
 The SQL ftplugin provides a number of options to assist with file
 navigation.
 
 
-1.1 Matchit		        		*sql-matchit*
+1.1 Matchit					*sql-matchit*
 -----------
 The matchit plugin (http://www.vim.org/scripts/script.php?script_id=39)
 provides many additional features and can be customized for different
-languages.  The matchit plugin is configured by defining a local 
-buffer variable, b:match_words.  Pressing the % key while on various 
+languages.  The matchit plugin is configured by defining a local
+buffer variable, b:match_words.  Pressing the % key while on various
 keywords will move the cursor to its match.  For example, if the cursor
 is on an "if", pressing % will cycle between the "else", "elseif" and
 "end if" keywords.
@@ -51,40 +51,40 @@ The following keywords are supported: >
     elseif | elsif
     else [if]
     end if
-    
+
     [while condition] loop
-        leave
-        break
-        continue
-        exit
+	leave
+	break
+	continue
+	exit
     end loop
-    
+
     for
-        leave
-        break
-        continue
-        exit
+	leave
+	break
+	continue
+	exit
     end loop
-    
+
     do
-        statements
+	statements
     doend
-    
+
     case
-    when 
+    when
     when
     default
     end case
-    
+
     merge
     when not matched
     when matched
 
     create[ or replace] procedure|function|event
     returns
- 
+
 
-1.2 Text Object Motions		        	*sql-object-motions*
+1.2 Text Object Motions				*sql-object-motions*
 -----------------------
 Vim has a number of predefined keys for working with text |object-motions|.
 This filetype plugin attempts to translate these keys to maps which make sense
@@ -92,13 +92,13 @@ for the SQL language.
 
 The following |Normal| mode and |Visual| mode maps exist (when you edit a SQL
 file): >
-    ]]              move forward to the next 'begin'
-    [[              move backwards to the previous 'begin'
-    ][              move forward to the next 'end'
-    []              move backwards to the previous 'end'
- 
+    ]]		    move forward to the next 'begin'
+    [[		    move backwards to the previous 'begin'
+    ][		    move forward to the next 'end'
+    []		    move backwards to the previous 'end'
 
-1.3 Predefined Object Motions                   *sql-predefined-objects*
+
+1.3 Predefined Object Motions			*sql-predefined-objects*
 -----------------------------
 Most relational databases support various standard features, tables, indices,
 triggers and stored procedures.  Each vendor also has a variety of proprietary
@@ -109,44 +109,44 @@ standard objects, plus many additional o
 flexible as possible, you can override the list of objects from within your
 |vimrc| with the following: >
     let g:ftplugin_sql_objects = 'function,procedure,event,table,trigger' .
-                \ ',schema,service,publication,database,datatype,domain' .
-                \ ',index,subscription,synchronization,view,variable'
-                 
+		\ ',schema,service,publication,database,datatype,domain' .
+		\ ',index,subscription,synchronization,view,variable'
+
 The following |Normal| mode and |Visual| mode maps have been created which use
 the above list: >
-    ]}              move forward to the next 'create <object name>'
-    [{              move backward to the previous 'create <object name>'
+    ]}		    move forward to the next 'create <object name>'
+    [{		    move backward to the previous 'create <object name>'
 
 Repeatedly pressing ]} will cycle through each of these create statements: >
     create table t1 (
-        ...
+	...
     );
 
     create procedure p1
     begin
-        ...
+	...
     end;
 
     create index i1 on t1 (c1);
- 
+
 The default setting for g:ftplugin_sql_objects is: >
     let g:ftplugin_sql_objects = 'function,procedure,event,' .
-                \ '\\(existing\\\\|global\\s\\+temporary\\s\\+\\)\\\{,1}' .
-                \ 'table,trigger' .
-                \ ',schema,service,publication,database,datatype,domain' .
-                \ ',index,subscription,synchronization,view,variable'
- 
+		\ '\\(existing\\\\|global\\s\\+temporary\\s\\+\\)\\\{,1}' .
+		\ 'table,trigger' .
+		\ ',schema,service,publication,database,datatype,domain' .
+		\ ',index,subscription,synchronization,view,variable'
+
 The above will also handle these cases: >
     create table t1 (
-        ...
+	...
     );
     create existing table t2 (
-        ...
+	...
     );
     create global temporary table t3 (
-        ...
+	...
     );
- 
+
 By default, the ftplugin only searches for CREATE statements.  You can also
 override this via your |vimrc| with the following: >
     let g:ftplugin_sql_statements = 'create,alter'
@@ -155,43 +155,43 @@ The filetype plugin defines three types 
     1.  --
     2.  //
     3.  /*
-         *
-         */
-          
+	 *
+	 */
+
 The following |Normal| mode and |Visual| mode maps have been created to work
 with comments: >
-    ]"              move forward to the beginning of a comment
-    ["              move forward to the end of a comment
+    ]"		    move forward to the beginning of a comment
+    ["		    move forward to the end of a comment
 
 
 
-1.4 Macros                                         *sql-macros*
+1.4 Macros					   *sql-macros*
 ----------
 Vim's feature to find macro definitions, |'define'|, is supported using this
 regular expression: >
     \c\<\(VARIABLE\|DECLARE\|IN\|OUT\|INOUT\)\>
- 
+
 This addresses the following code: >
     CREATE VARIABLE myVar1 INTEGER;
 
     CREATE PROCEDURE sp_test(
-        IN myVar2 INTEGER,
-        OUT myVar3 CHAR(30),
-        INOUT myVar4 NUMERIC(20,0)
+	IN myVar2 INTEGER,
+	OUT myVar3 CHAR(30),
+	INOUT myVar4 NUMERIC(20,0)
     )
     BEGIN
-        DECLARE myVar5 INTEGER;
+	DECLARE myVar5 INTEGER;
 
-        SELECT c1, c2, c3
-          INTO myVar2, myVar3, myVar4
-          FROM T1
-         WHERE c4 = myVar1;
+	SELECT c1, c2, c3
+	  INTO myVar2, myVar3, myVar4
+	  FROM T1
+	 WHERE c4 = myVar1;
     END;
- 
+
 Place your cursor on "myVar1" on this line: >
-         WHERE c4 = myVar1;
-                     ^
- 
+	 WHERE c4 = myVar1;
+		     ^
+
 Press any of the following keys: >
     [d
     [D
@@ -199,17 +199,17 @@ Press any of the following keys: >
 
 
 ==============================================================================
-2. SQL Dialects	        			*sql-dialects* *sql-types*
-                                                *sybase* *TSQL* *Transact-SQL*
-                                                *sqlanywhere* 
-                                                *oracle* *plsql* *sqlj*
-                                                *sqlserver*
-                                                *mysql* *postgress* *psql*
-                                                *informix*
+2. SQL Dialects					*sql-dialects* *sql-types*
+						*sybase* *TSQL* *Transact-SQL*
+						*sqlanywhere*
+						*oracle* *plsql* *sqlj*
+						*sqlserver*
+						*mysql* *postgress* *psql*
+						*informix*
 
 All relational databases support SQL.  There is a portion of SQL that is
 portable across vendors (ex. CREATE TABLE, CREATE INDEX), but there is a
-great deal of vendor specific extensions to SQL.  Oracle supports the 
+great deal of vendor specific extensions to SQL.  Oracle supports the
 "CREATE OR REPLACE" syntax, column defaults specified in the CREATE TABLE
 statement and the procedural language (for stored procedures and triggers).
 
@@ -229,13 +229,13 @@ The majority of people work with only on
 be nice to specify a default in your |vimrc|.
 
 
-2.1 SQLSetType		        		*sqlsettype* *SQLSetType*
+2.1 SQLSetType					*sqlsettype* *SQLSetType*
 --------------
 For the people that work with many different databases, it would be nice to be
 able to flip between the various vendors rules (indent, syntax) on a per
 buffer basis, at any time.  The ftplugin/sql.vim file defines this function: >
     SQLSetType
- 
+
 Executing this function without any parameters will set the indent and syntax
 scripts back to their defaults, see |sql-type-default|.  If you have turned
 off Vi's compatibility mode, |'compatible'|, you can use the <Tab> key to
@@ -247,19 +247,19 @@ source.  Using the |cmdline-completion| 
 search the |'runtimepath'| for all Vim scripts with a name containing 'sql'.
 This takes the guess work out of the spelling of the names.  The following are
 examples: >
-    :SQLSetType 
+    :SQLSetType
     :SQLSetType sqloracle
     :SQLSetType sqlanywhere
     :SQLSetType sqlinformix
     :SQLSetType mysql
- 
+
 The easiest approach is to the use <Tab> character which will first complete
 the command name (SQLSetType), after a space and another <Tab>, display a list
 of available Vim script names: >
     :SQL<Tab><space><Tab>
- 
+
 
-2.2 SQL Dialect Default		        	*sql-type-default*
+2.2 SQL Dialect Default				*sql-type-default*
 -----------------------
 As mentioned earlier, the default syntax rules for Vim is based on Oracle
 (PL/SQL).  You can override this default by placing one of the following in
@@ -267,11 +267,11 @@ your |vimrc|: >
     let g:sql_type_default = 'sqlanywhere'
     let g:sql_type_default = 'sqlinformix'
     let g:sql_type_default = 'mysql'
- 
+
 If you added the following to your |vimrc|: >
     let g:sql_type_default = 'sqlinformix'
- 
-The next time edit a SQL file the following scripts will be automatically 
+
+The next time edit a SQL file the following scripts will be automatically
 loaded by Vim: >
     ftplugin/sql.vim
     syntax/sqlinformix.vim
@@ -283,7 +283,7 @@ exist.
 
 
 ==============================================================================
-3. Adding new SQL Dialects		        *sql-adding-dialects*
+3. Adding new SQL Dialects			*sql-adding-dialects*
 
 If you begin working with a SQL dialect which does not have any customizations
 available with the default Vim distribution you can check http://www.vim.org
@@ -294,22 +294,22 @@ To help identify these scripts, try to c
 If you decide you wish to create customizations for the SQLite database, you
 can create any of the following: >
     Unix
-        ~/.vim/syntax/sqlite.vim
-        ~/.vim/indent/sqlite.vim
+	~/.vim/syntax/sqlite.vim
+	~/.vim/indent/sqlite.vim
     Windows
-        $VIM/vimfiles/syntax/sqlite.vim
-        $VIM/vimfiles/indent/sqlite.vim
- 
+	$VIM/vimfiles/syntax/sqlite.vim
+	$VIM/vimfiles/indent/sqlite.vim
+
 No changes are necessary to the SQLSetType function.  It will automatically
-pickup the new SQL files and load them when you issue the SQLSetType command. 
+pickup the new SQL files and load them when you issue the SQLSetType command.
 
 
 ==============================================================================
-4. OMNI SQL Completion  		        *sql-completion* 
-                                                *omni-sql-completion*
+4. OMNI SQL Completion				*sql-completion*
+						*omni-sql-completion*
 
 Vim 7 includes a code completion interface and functions which allows plugin
-developers to build in code completion for any language.  Vim 7 includes 
+developers to build in code completion for any language.  Vim 7 includes
 code completion for the SQL language.
 
 There are two modes to the SQL completion plugin, static and dynamic.  The
@@ -318,7 +318,7 @@ highlight rules.  The dynamic mode popul
 directly from a database.  This includes, table lists, column lists,
 procedures names and more.
 
-4.1 Static Mode  		                *sql-completion-static*
+4.1 Static Mode					*sql-completion-static*
 ---------------
 The static popups created contain items defined by the active syntax rules
 while editing a file with a filetype of SQL.  The plugin defines (by default)
@@ -330,39 +330,39 @@ The defaults static maps are: >
     imap <buffer> <C-C>o <C-\><C-O>:call sqlcomplete#Map('sqlOption')<CR><C-X><C-O>
     imap <buffer> <C-C>T <C-\><C-O>:call sqlcomplete#Map('sqlType')<CR><C-X><C-O>
     imap <buffer> <C-C>s <C-\><C-O>:call sqlcomplete#Map('sqlStatement')<CR><C-X><C-O>
-  
+
 The static maps (which are based on the syntax highlight groups) follow this
 format: >
     imap <buffer> <C-C>k <C-\><C-O>:call sqlcomplete#Map('sqlKeyword')<CR><C-X><C-O>
- 
+
 This command breaks down as: >
-    imap                   - Create an insert map
-    <buffer>               - Only for this buffer
-    <C-C>k                 - Your choice of key map
-    <C-\><C-O>             - Execute one command, return to Insert mode
+    imap		   - Create an insert map
+    <buffer>		   - Only for this buffer
+    <C-C>k		   - Your choice of key map
+    <C-\><C-O>		   - Execute one command, return to Insert mode
     :call sqlcomplete#Map( - Allows the SQL completion plugin to perform some
-                             housekeeping functions to allow it to be used in
-                             conjunction with other completion plugins.
-                             Indicate which item you want the SQL completion
-                             plugin to complete.
-                             In this case we are asking the plugin to display
-                             items from the syntax highlight group
-                             'sqlKeyword'.
-                             You can view a list of highlight group names to
-                             choose from by executing the
-                                 :syntax list
-                             command while editing a SQL file.
-    'sqlKeyword'           - Display the items for the sqlKeyword highlight
-                             group
-    )<CR>                  - Execute the :let command
-    <C-X><C-O>             - Trigger the standard omni completion key stroke.
-                             Passing in 'sqlKeyword' instructs the SQL
-                             completion plugin to populate the popup with
-                             items from the sqlKeyword highlight group.  The
-                             plugin will also cache this result until Vim is
-                             restarted.  The syntax list is retrieved using
-                             the syntaxcomplete plugin.
- 
+			     housekeeping functions to allow it to be used in
+			     conjunction with other completion plugins.
+			     Indicate which item you want the SQL completion
+			     plugin to complete.
+			     In this case we are asking the plugin to display
+			     items from the syntax highlight group
+			     'sqlKeyword'.
+			     You can view a list of highlight group names to
+			     choose from by executing the
+				 :syntax list
+			     command while editing a SQL file.
+    'sqlKeyword'	   - Display the items for the sqlKeyword highlight
+			     group
+    )<CR>		   - Execute the :let command
+    <C-X><C-O>		   - Trigger the standard omni completion key stroke.
+			     Passing in 'sqlKeyword' instructs the SQL
+			     completion plugin to populate the popup with
+			     items from the sqlKeyword highlight group.  The
+			     plugin will also cache this result until Vim is
+			     restarted.  The syntax list is retrieved using
+			     the syntaxcomplete plugin.
+
 Using the 'syntax' keyword is a special case.  This instructs the
 syntaxcomplete plugin to retrieve all syntax items.  So this will effectively
 work for any of Vim's SQL syntax files.  At the time of writing this includes
@@ -371,77 +371,77 @@ above, |sql-dialects|).
 
 Here are some examples of the entries which are pulled from the syntax files: >
      All
-         - Contains the contents of all syntax highlight groups
+	 - Contains the contents of all syntax highlight groups
      Statements
-         - Select, Insert, Update, Delete, Create, Alter, ...
+	 - Select, Insert, Update, Delete, Create, Alter, ...
      Functions
-         - Min, Max, Trim, Round, Date, ...
+	 - Min, Max, Trim, Round, Date, ...
      Keywords
-         - Index, Database, Having, Group, With
+	 - Index, Database, Having, Group, With
      Options
-         - Isolation_level, On_error, Qualify_owners, Fire_triggers, ...
+	 - Isolation_level, On_error, Qualify_owners, Fire_triggers, ...
      Types
-         - Integer, Char, Varchar, Date, DateTime, Timestamp, ...
- 
- 
-4.2 Dynamic Mode  		                *sql-completion-dynamic*
+	 - Integer, Char, Varchar, Date, DateTime, Timestamp, ...
+
+
+4.2 Dynamic Mode				*sql-completion-dynamic*
 ----------------
 Dynamic mode populates the popups with data directly from a database.  In
 order for the dynamic feature to be enabled you must have the dbext.vim
 plugin installed, (http://vim.sourceforge.net/script.php?script_id=356).
 
-Dynamic mode is used by several features of the SQL completion plugin.  
+Dynamic mode is used by several features of the SQL completion plugin.
 After installing the dbext plugin see the dbext-tutorial for additional
 configuration and usage.  The dbext plugin allows the SQL completion plugin
 to display a list of tables, procedures, views and columns. >
      Table List
-         - All tables for all schema owners
+	 - All tables for all schema owners
      Procedure List
-         - All stored procedures for all schema owners
+	 - All stored procedures for all schema owners
      View List
-         - All stored procedures for all schema owners
+	 - All stored procedures for all schema owners
      Column List
-         - For the selected table, the columns that are part of the table
- 
+	 - For the selected table, the columns that are part of the table
+
 To enable the popup, while in INSERT mode, use the following key combinations
-for each group (where <C-C> means hold the CTRL key down while pressing 
+for each group (where <C-C> means hold the CTRL key down while pressing
 the space bar):
-     Table List             - <C-C>t
-                            - <C-X><C-O> (the default map assumes tables)
+     Table List		    - <C-C>t
+			    - <C-X><C-O> (the default map assumes tables)
      Stored Procedure List  - <C-C>p
-     View List              - <C-C>v
-     Column List            - <C-C>c
+     View List		    - <C-C>v
+     Column List	    - <C-C>c
 
      Windows platform only  - When viewing a popup window displaying the list
-                              of tables, you can press <C-Right>, this will
-                              replace the table currently highlighted with
-                              the column list for that table.
-                            - When viewing a popup window displaying the list
-                              of columns, you can press <C-Left>, this will
-                              replace the column list with the list of tables.
-                            - This allows you to quickly drill down into a
-                              table to view it's columns and back again.
- 
+			      of tables, you can press <C-Right>, this will
+			      replace the table currently highlighted with
+			      the column list for that table.
+			    - When viewing a popup window displaying the list
+			      of columns, you can press <C-Left>, this will
+			      replace the column list with the list of tables.
+			    - This allows you to quickly drill down into a
+			      table to view it's columns and back again.
+
 The SQL completion plugin caches various lists that are displayed in
 the popup window.  This makes the re-displaying of these lists very
-fast.  If new tables or columns are added to the database it may become 
+fast.  If new tables or columns are added to the database it may become
 necessary to clear the plugins cache.  The default map for this is: >
     imap <buffer> <C-C>R <C-\><C-O>:call sqlcomplete#Map('ResetCache')<CR><C-X><C-O>
- 
- 
+
+
 4.3 SQL Tutorial				*sql-completion-tutorial*
 ----------------
- 
+
 This tutorial is designed to take you through the common features of the SQL
 completion plugin so that: >
      a) You gain familiarity with the plugin
      b) You are introduced to some of the more common features
      c) Show how to customize it to your preferences
      d) Demonstrate "Best of Use" of the plugin (easiest way to configure).
- 
+
 First, create a new buffer: >
      :e tutorial.sql
- 
+
 
 Static features
 ---------------
@@ -450,8 +450,8 @@ To take you through the various lists, s
 At this point, you can page down through the list until you find "select".
 If you are familiar with the item you are looking for, for example you know
 the statement begins with the letter "s".  You can type ahead (without the
-quotes) "se" then press: 
-    <C-Spact>t 
+quotes) "se" then press:
+    <C-Space>t
 Assuming "select" is highlighted in the popup list press <Enter> to choose
 the entry.  Now type:
     * fr<C-C>a (show all syntax items)
@@ -462,12 +462,12 @@ a list of all the database supported typ
 depending on the syntax file you are using.  The SQL Anywhere syntax file
 (sqlanywhere.vim) has support for this: >
      BEGIN
-        DECLARE customer_id <C-C>T <-- Choose a type from the list
-  
+	DECLARE customer_id <C-C>T <-- Choose a type from the list
+
 
 Dynamic features
 ----------------
-To take advantage of the dynamic features you must first install the 
+To take advantage of the dynamic features you must first install the
 dbext.vim plugin (http://vim.sourceforge.net/script.php?script_id=356).  It
 also comes with a tutorial.  From the SQL completion plugin's perspective,
 the main feature dbext provides is a connection to a database.  dbext
@@ -477,24 +477,24 @@ uses the features of dbext in the backgr
 
 What follows assumes dbext.vim has been correctly configured, a simple test
 is to run the command, :DBListTable.  If a list of tables is shown, you know
-dbext.vim is working as expected.  If not, please consult the dbext.txt 
+dbext.vim is working as expected.  If not, please consult the dbext.txt
 documentation.
 
 Assuming you have followed the dbext-tutorial you can press <C-C>t to
 display a list of tables.  There is a delay while dbext is creating the table
-list.  After the list is displayed press <C-W>.  This will remove both the 
+list.  After the list is displayed press <C-W>.  This will remove both the
 popup window and the table name already chosen when the list became active. >
- 
+
  4.3.1 Table Completion:			*sql-completion-tables*
- 
+
 Press <C-C>t to display a list of tables from within the database you
-have connected via the dbext plugin.  
+have connected via the dbext plugin.
 NOTE: All of the SQL completion popups support typing a prefix before pressing
 the key map.  This will limit the contents of the popup window to just items
 beginning with those characters.  >
- 
+
  4.3.2 Column Completion:			*sql-completion-columns*
- 
+
 The SQL completion plugin can also display a list of columns for particular
 tables.  The column completion is trigger via <C-C>c.
 
@@ -506,64 +506,64 @@ a key and create one of these mappings (
 details on where to create this imap): >
     imap <buffer> <your_keystroke> <C-R>=sqlcomplete#DrillIntoTable()<CR>
     imap <buffer> <your_keystroke> <C-Y><C-\><C-O>:call sqlcomplete#Map('column')<CR><C-X><C-O>
- 
+
 Example of using column completion:
-     - Press <C-C>t again to display the list of tables.  
+     - Press <C-C>t again to display the list of tables.
      - When the list is displayed in the completion window, press <C-Right>,
        this will replace the list of tables, with a list of columns for the
-       table highlighted (after the same short delay).  
+       table highlighted (after the same short delay).
      - If you press <C-Left>, this will again replace the column list with the
        list of tables.  This allows you to drill into tables and column lists
-       very quickly.  
+       very quickly.
      - Press <C-Right> again while the same table is highlighted.  You will
        notice there is no delay since the column list has been cached.  If you
        change the schema of a cached table you can press <C-C>R, which
-       clears the SQL completion cache.  
+       clears the SQL completion cache.
      - NOTE: <C-Right> and <C-Left> have been designed to work while the
-       completion window is active.  If the completion popup window is 
+       completion window is active.  If the completion popup window is
        not active, a normal <C-Right> or <C-Left> will be executed.
- 
+
 Lets look how we can build a SQL statement dynamically.  A select statement
 requires a list of columns.  There are two ways to build a column list using
 the SQL completion plugin. >
     One column at a time:
 <       1. After typing SELECT press <C-C>t to display a list of tables.
-        2. Choose a table from the list.
-        3. Press <C-Right> to display a list of columns.
-        4. Choose the column from the list and press enter.
-        5. Enter a "," and press <C-C>c.  Generating a column list
-           generally requires having the cursor on a table name.  The plugin
-           uses this name to determine what table to retrieve the column list.  
-           In this step, since we are pressing <C-C>c without the cursor 
-           on a table name the column list displayed will be for the previous 
-           table.  Choose a different column and move on. 
-        6. Repeat step 5 as often as necessary. >
-    All columns for a table: 
-<       1. After typing SELECT press <C-C>t to display a list of tables.
-        2. Highlight the table you need the column list for.
-        3. Press <Enter> to choose the table from the list.
-        4. Press <C-C>l to request a comma separated list of all columns
-           for this table.
-        5. Based on the table name chosen in step 3, the plugin attempts to
-           decide on a reasonable table alias.  You are then prompted to
-           either accept of change the alias.  Press OK.
-        6. The table name is replaced with the column list of the table is
-           replaced with the comma separate list of columns with the alias
-           prepended to each of the columns.
-        7. Step 3 and 4 can be replaced by pressing <C-C>L, which has
-           a <C-Y> embedded in the map to choose the currently highlighted 
-           table in the list.
+	2. Choose a table from the list.
+	3. Press <C-Right> to display a list of columns.
+	4. Choose the column from the list and press enter.
+	5. Enter a "," and press <C-C>c.  Generating a column list
+	   generally requires having the cursor on a table name.  The plugin
+	   uses this name to determine what table to retrieve the column list.
+	   In this step, since we are pressing <C-C>c without the cursor
+	   on a table name the column list displayed will be for the previous
+	   table.  Choose a different column and move on.
+	6. Repeat step 5 as often as necessary. >
+    All columns for a table:
+<	1. After typing SELECT press <C-C>t to display a list of tables.
+	2. Highlight the table you need the column list for.
+	3. Press <Enter> to choose the table from the list.
+	4. Press <C-C>l to request a comma separated list of all columns
+	   for this table.
+	5. Based on the table name chosen in step 3, the plugin attempts to
+	   decide on a reasonable table alias.	You are then prompted to
+	   either accept of change the alias.  Press OK.
+	6. The table name is replaced with the column list of the table is
+	   replaced with the comma separate list of columns with the alias
+	   prepended to each of the columns.
+	7. Step 3 and 4 can be replaced by pressing <C-C>L, which has
+	   a <C-Y> embedded in the map to choose the currently highlighted
+	   table in the list.
 
 There is a special provision when writing select statements.  Consider the
 following statement: >
-     select * 
+     select *
        from customer c,
-            contact cn,
-            department as dp,
-            employee e,
-            site_options so
+	    contact cn,
+	    department as dp,
+	    employee e,
+	    site_options so
       where c.
- 
+
 In INSERT mode after typing the final "c." which is an alias for the
 "customer" table, you can press either <C-C>c or <C-X><C-O>.  This will
 popup a list of columns for the customer table.  It does this by looking back
@@ -571,19 +571,19 @@ to the beginning of the select statement
 specified in the FROM clause.  In this case it notes that in the string
 "customer c", "c" is an alias for the customer table.  The optional "AS"
 keyword is also supported, "customer AS c". >
- 
- 
+
+
  4.3.3 Procedure Completion:			*sql-completion-procedures*
- 
+
 Similar to the table list, <C-C>p, will display a list of stored
 procedures stored within the database. >
- 
+
  4.3.4 View Completion:				*sql-completion-views*
- 
+
 Similar to the table list, <C-C>v, will display a list of views in the
 database.
 
- 
+
 4.4 Completion Customization			*sql-completion-customization*
 ----------------------------
 
@@ -591,60 +591,60 @@ The SQL completion plugin can be customi
 your |vimrc|: >
     omni_sql_no_default_maps
 <       - Default: This variable is not defined
-        - If this variable is defined, no maps are created for OMNI
-          completion.  See |sql-completion-maps| for further discussion.
+	- If this variable is defined, no maps are created for OMNI
+	  completion.  See |sql-completion-maps| for further discussion.
 >
     omni_sql_use_tbl_alias
-<       - Default: a
-        - This setting is only used when generating a comma separated
-          column list.  By default the map is <C-C>l.  When generating
-          a column list, an alias can be prepended to the beginning of each
-          column, for example:  e.emp_id, e.emp_name.  This option has three 
-          settings: >
-                n - do not use an alias
-                d - use the default (calculated) alias
-                a - ask to confirm the alias name
+<	- Default: a
+	- This setting is only used when generating a comma separated
+	  column list.	By default the map is <C-C>l.  When generating
+	  a column list, an alias can be prepended to the beginning of each
+	  column, for example:	e.emp_id, e.emp_name.  This option has three
+	  settings: >
+		n - do not use an alias
+		d - use the default (calculated) alias
+		a - ask to confirm the alias name
 <
-          An alias is determined following a few rules:
-               1.  If the table name has an '_', then use it as a separator: >
-                   MY_TABLE_NAME --> MTN
-                   my_table_name --> mtn
-                   My_table_NAME --> MtN
-<              2.  If the table name does NOT contain an '_', but DOES use
-                   mixed case then the case is used as a separator: >
-                   MyTableName --> MTN
-<              3.  If the table name does NOT contain an '_', and does NOT 
-                   use mixed case then the first letter of the table is used: >
-                   mytablename --> m
-                   MYTABLENAME --> M
- 
+	  An alias is determined following a few rules:
+	       1.  If the table name has an '_', then use it as a separator: >
+		   MY_TABLE_NAME --> MTN
+		   my_table_name --> mtn
+		   My_table_NAME --> MtN
+<	       2.  If the table name does NOT contain an '_', but DOES use
+		   mixed case then the case is used as a separator: >
+		   MyTableName --> MTN
+<	       3.  If the table name does NOT contain an '_', and does NOT
+		   use mixed case then the first letter of the table is used: >
+		   mytablename --> m
+		   MYTABLENAME --> M
+
     omni_sql_ignorecase
-<       - Default: Current setting for|ignorecase|
-        - Valid settings are 0 or 1.  
-        - When entering a few letters before initiating completion, the list
-          will be filtered to display only the entries which begin with the
-          list of characters.  When this option is set to 0, the list will be
-          filtered using case sensitivity. >
- 
+<	- Default: Current setting for|ignorecase|
+	- Valid settings are 0 or 1.
+	- When entering a few letters before initiating completion, the list
+	  will be filtered to display only the entries which begin with the
+	  list of characters.  When this option is set to 0, the list will be
+	  filtered using case sensitivity. >
+
     omni_sql_include_owner
-<       - Default: 0, unless dbext.vim 3.00 has been installed
-        - Valid settings are 0 or 1.  
-        - When completing tables, procedure or views and using dbext.vim 3.00 
-          or higher the list of objects will also include the owner name.
-          When completing these objects and omni_sql_include_owner is enabled
-          the owner name will be be replaced. >
- 
+<	- Default: 0, unless dbext.vim 3.00 has been installed
+	- Valid settings are 0 or 1.
+	- When completing tables, procedure or views and using dbext.vim 3.00
+	  or higher the list of objects will also include the owner name.
+	  When completing these objects and omni_sql_include_owner is enabled
+	  the owner name will be be replaced. >
+
     omni_sql_precache_syntax_groups
-<       - Default: 
-          ['syntax','sqlKeyword','sqlFunction','sqlOption','sqlType','sqlStatement']
-        - sqlcomplete can be used in conjunction with other completion
-          plugins.  This is outlined at |sql-completion-filetypes|.  When the 
-          filetype is changed temporarily to SQL, the sqlcompletion plugin
-          will cache the syntax groups listed in the List specified in this
-          option.
+<	- Default:
+	  ['syntax','sqlKeyword','sqlFunction','sqlOption','sqlType','sqlStatement']
+	- sqlcomplete can be used in conjunction with other completion
+	  plugins.  This is outlined at |sql-completion-filetypes|.  When the
+	  filetype is changed temporarily to SQL, the sqlcompletion plugin
+	  will cache the syntax groups listed in the List specified in this
+	  option.
 >
- 
-4.5 SQL Maps	        			*sql-completion-maps*
+
+4.5 SQL Maps					*sql-completion-maps*
 ------------
 
 The default SQL maps have been described in other sections of this document in
@@ -656,9 +656,9 @@ These are maps which use populate the co
 highlighting rules. >
     <C-C>a
 <       - Displays all SQL syntax items. >
-    <C-C>k 
+    <C-C>k
 <       - Displays all SQL syntax items defined as 'sqlKeyword'. >
-    <C-C>f 
+    <C-C>f
 <       - Displays all SQL syntax items defined as 'sqlFunction. >
     <C-C>o
 <       - Displays all SQL syntax items defined as 'sqlOption'. >
@@ -671,7 +671,7 @@ Dynamic Maps
 ------------
 These are maps which use populate the completion list using the dbext.vim
 plugin. >
-    <C-C>t  
+    <C-C>t
 <       - Displays a list of tables. >
     <C-C>p
 <       - Displays a list of procedures. >
@@ -683,33 +683,33 @@ plugin. >
 <       - Displays a comma separated list of columns for a specific table. >
     <C-C>L
 <       - Displays a comma separated list of columns for a specific table.
-          This should only be used when the completion window is active. >
+	  This should only be used when the completion window is active. >
     <C-Right>
-<       - Displays a list of columns for the table currently highlighted in
-          the completion window.  <C-Right> is not recognized on most Unix
-          systems, so this maps is only created on the Windows platform.
-          If you would like the same feature on Unix, choose a different key
-          and make the same map in your vimrc. >
+<	- Displays a list of columns for the table currently highlighted in
+	  the completion window.  <C-Right> is not recognized on most Unix
+	  systems, so this maps is only created on the Windows platform.
+	  If you would like the same feature on Unix, choose a different key
+	  and make the same map in your vimrc. >
     <C-Left>
-<       - Displays the list of tables.
-          <C-Left> is not recognized on most Unix systems, so this maps is
-          only created on the Windows platform.  If you would like the same
-          feature on Unix, choose a different key and make the same map in
-          your vimrc. >
+<	- Displays the list of tables.
+	  <C-Left> is not recognized on most Unix systems, so this maps is
+	  only created on the Windows platform.  If you would like the same
+	  feature on Unix, choose a different key and make the same map in
+	  your vimrc. >
     <C-C>R
-<       - This maps removes all cached items and forces the SQL completion 
-          to regenerate the list of items.
+<	- This maps removes all cached items and forces the SQL completion
+	  to regenerate the list of items.
 
 Customizing Maps
 ----------------
 You can create as many additional key maps as you like.  Generally, the maps
-will be specifying different syntax highlight groups.  
+will be specifying different syntax highlight groups.
 
 If you do not wish the default maps created or the key choices do not work on
 your platform (often a case on *nix) you define the following variable in
 your |vimrc|: >
     let g:omni_sql_no_default_maps = 1
-  
+
 Do no edit ftplugin/sql.vim directly!  If you change this file your changes
 will be over written on future updates.  Vim has a special directory structure
 which allows you to make customizations without changing the files that are
@@ -718,9 +718,9 @@ create an after/ftplugin/sql.vim (see |a
 maps from the ftplugin/sql.vim in it using your own key strokes.  <C-C> was
 chosen since it will work on both Windows and *nix platforms.  On the windows
 platform you can also use <C-Space> or ALT keys.
- 
+
 
-4.6 Using with other filetypes		        *sql-completion-filetypes*
+4.6 Using with other filetypes			*sql-completion-filetypes*
 ------------------------------
 
 Many times SQL can be used with different filetypes.  For example Perl, Java,
@@ -758,6 +758,6 @@ Step 3
 ------
 Setting the filetype back to Perl sets all the usual "perl" related items back
 as they were.
-     
+
 
 vim:tw=78:ts=8:ft=help:norl:
--- a/runtime/doc/starting.txt
+++ b/runtime/doc/starting.txt
@@ -1,4 +1,4 @@
-*starting.txt*  For Vim version 7.0f.  Last change: 2006 Apr 25
+*starting.txt*  For Vim version 7.0g.  Last change: 2006 Apr 25
 
 
 		  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.0f.  Last change: 2006 Apr 27
+*syntax.txt*	For Vim version 7.0g.  Last change: 2006 Apr 30
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -610,7 +610,7 @@ For Visual Basic use: >
 	:let g:filetype_asp = "aspvbs"
 
 
-BAAN 						    *baan.vim* *baan-syntax*
+BAAN						    *baan.vim* *baan-syntax*
 
 The baan.vim gives syntax support for BaanC of release BaanIV upto SSA ERP LN
 for both 3 GL and 4 GL programming. Large number of standard defines/constants
@@ -633,10 +633,10 @@ indentation preceding the begin/end keyw
 considered equal to a tab). >
 	let baan_fold_block=1
 Folding can be enabled for embedded SQL blocks as SELECT, SELECTDO,
-SELECTEMPTY, ... The indentation preceding the begin/end keywords has to 
+SELECTEMPTY, ... The indentation preceding the begin/end keywords has to
 match (spaces are not considered equal to a tab). >
 	let baan_fold_sql=1
-Note: Block folding can result in many small folds. It is suggested to |:set| 
+Note: Block folding can result in many small folds. It is suggested to |:set|
 the options 'foldminlines' and 'foldnestmax' in |.vimrc| or use |:setlocal| in
 .../after/syntax/baan.vim (see |after-directory|). Eg: >
 	set foldminlines=5
@@ -927,7 +927,7 @@ doxygen_javadoc_autobrief	1	Set to 0 to 
 					colour highlighting.
 
 doxygen_end_punctuation		'[.]'	Set to regexp match for the ending
-					punctuation of brief 
+					punctuation of brief
 
 There are also some hilight groups worth mentioning as they can be useful in
 configuration.
@@ -2002,8 +2002,8 @@ If you want to fold blocks in if stateme
 To avoid folding packages or subs when perl_fold is let, let the appropriate
 variable(s): >
 
- 	:unlet perl_nofold_packages
- 	:unlet perl_nofold_subs
+	:unlet perl_nofold_packages
+	:unlet perl_nofold_subs
 
 
 
@@ -2064,7 +2064,7 @@ PLAINTEX				*plaintex.vim* *ft-plaintex-
 
 TeX is a typesetting language, and plaintex is the file type for the "plain"
 variant of TeX.  If you never want your *.tex files recognized as plain TeX,
-see |ft-tex-plugin|.  
+see |ft-tex-plugin|.
 
 This syntax file has the option >
 
@@ -2328,7 +2328,7 @@ By default only R5RS keywords are highli
 
 MzScheme-specific stuff will be used if b:is_mzscheme or g:is_mzscheme
 variables are defined.
- 
+
 Also scheme.vim supports keywords of the Chicken Scheme->C compiler.  Define
 b:is_chicken or g:is_chicken, if you need them.
 
@@ -3745,7 +3745,7 @@ faster.]
 	Without a "groupthere" argument.  Define a region or match that is
 	skipped while searching for a sync point.
 
-    						*syn-sync-linecont*
+						*syn-sync-linecont*
     :syntax sync linecont {pattern}
 
 	When {pattern} matches in a line, it is considered to continue in
@@ -3851,12 +3851,12 @@ specified field is used, and settings ar
 result is like this single command has been used: >
    :hi Comment	term=bold ctermfg=Cyan guifg=#80a0ff gui=bold
 <
-						    	*:highlight-verbose*
+							*:highlight-verbose*
 When listing a highlight group and 'verbose' is non-zero, the listing will
 also tell where it was last set.  Example: >
 	:verbose hi Comment
 <	Comment        xxx term=bold ctermfg=4 guifg=Blue ~
-           Last set from /home/mool/vim/vim7/runtime/syntax/syncolor.vim ~
+	   Last set from /home/mool/vim/vim7/runtime/syntax/syncolor.vim ~
 
 When ":hi clear" is used then the script where this command is used will be
 mentioned for the default values. See |:verbose-cmd| for more information.
--- a/runtime/doc/tabpage.txt
+++ b/runtime/doc/tabpage.txt
@@ -1,4 +1,4 @@
-*tabpage.txt*   For Vim version 7.0f.  Last change: 2006 Apr 26
+*tabpage.txt*   For Vim version 7.0g.  Last change: 2006 Apr 26
 
 
 		  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.0f.  Last change: 2006 Apr 24
+*tagsrch.txt*   For Vim version 7.0g.  Last change: 2006 Apr 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.0f.  Last change: 2006 Apr 29
+*term.txt*      For Vim version 7.0g.  Last change: 2006 Apr 30
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -289,8 +289,8 @@ Added by Vim (there are no standard code
 	t_IE	set icon text end				*t_IE* *'t_IE'*
 	t_WP	set window position (Y, X) in pixels		*t_WP* *'t_WP'*
 	t_WS	set window size (height, width) in characters	*t_WS* *'t_WS'*
-	t_SI    start insert mode (bar cursor shape)            *t_SI* *'t_SI'*
-	t_EI    end insert mode (block cursor shape)            *t_EI* *'t_EI'*
+	t_SI	start insert mode (bar cursor shape)		*t_SI* *'t_SI'*
+	t_EI	end insert mode (block cursor shape)		*t_EI* *'t_EI'*
 		|termcap-cursor-shape|
 	t_RV	request terminal version string (for xterm)	*t_RV* *'t_RV'*
 		|xterm-8bit| |v:termresponse| |'ttymouse'| |xterm-codes|
--- a/runtime/doc/tips.txt
+++ b/runtime/doc/tips.txt
@@ -1,4 +1,4 @@
-*tips.txt*      For Vim version 7.0f.  Last change: 2006 Apr 24
+*tips.txt*      For Vim version 7.0g.  Last change: 2006 Apr 30
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -489,8 +489,8 @@ A slightly more advanced version is used
 	    let c2 = '\]'
 	  endif
 	  let s_skip ='synIDattr(synID(line("."), col("."), 0), "name") ' .
- 	  	\ '=~?  "string\\|comment"'
- 	  execute 'if' s_skip '| let s_skip = 0 | endif'
+		\ '=~?	"string\\|comment"'
+	  execute 'if' s_skip '| let s_skip = 0 | endif'
 
 	  let [m_lnum, m_col] = searchpairpos(c, '', c2, s_flags, s_skip)
 
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 7.0f.  Last change: 2006 Apr 29
+*todo.txt*      For Vim version 7.0g.  Last change: 2006 Apr 30
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -30,10 +30,6 @@ be worked on, but only if you sponsor Vi
 							*known-bugs*
 -------------------- Known bugs and current work -----------------------
 
-Darren Hiebert is including the patch for omni completion in ctags.  A new
-version still isn't available for download.
-
-
 Awaiting updated patches:
 9   Mac unicode patch (Da Woon Jung, Eckehard Berns):
     8   Add patch from Muraoka Taro (Mar 16) to support input method on Mac?
@@ -48,8 +44,7 @@ 9   HTML indenting can be slow.  Caused 
     be used instead?
 8   Win32: Add minidump generation. (George Reilly, 2006 Apr 24)
 8   Add ":n" to fnamemodify(): normalize path, remove "../" when possible.
-    Aric Blumer has a patch for this.
-    He will update the patch for 6.3.
+    Aric Blumer has a patch for this.  He will update the patch for 6.3.
 7   Completion of network shares, patch by Yasuhiro Matsumoto.
     Update 2004 Sep 6.
     How does this work?  Missing comments.
@@ -697,6 +692,8 @@ 7   The message in bt_dontwrite_msg() co
 8   The script ID that is stored with an option and displayed with ":verbose
     set" isn't reset when the option is set internally.  For example when
     'foldlevel' is set from 'foldlevelstart'.
+8   Also store the line number with the script ID and use it for ":verbose",
+    so that "set nocompatible" is found when it changes other option values.
 8   In the fileformat dialog, "Cancel" isn't translated.  Add a global
     variable for this. (Eduardo Fernandez)
 9   When editing a file with 'readonly' set, there is no check for an existing
@@ -2794,7 +2791,7 @@ 8   When using ":mksession", also store 
 7   With ":mksession" also store the tag stack and jump history. (Michal
     Malecki)
 7   Persistent variables: "p:var"; stored in viminfo file and sessions files.
- 
+
 
 Options:
 7   ":with option=value | command": temporarily set an option value and
new file mode 100644
--- /dev/null
+++ b/runtime/doc/uganda.nsis.txt
@@ -0,0 +1,292 @@
+    For Vim version 7.0g.  Last change: 2006 Apr 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.0f.  Last change: 2006 Apr 24
+*uganda.txt*    For Vim version 7.0g.  Last change: 2006 Apr 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.0f.  Last change: 2006 Apr 24
+*undo.txt*      For Vim version 7.0g.  Last change: 2006 Apr 30
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -119,8 +119,8 @@ This is explained in the user manual: |u
 							*:undol* *:undolist*
 :undol[ist]		List the leafs in the tree of changes.  Example:
 				number changes   time ~
-				4      10        10:34:11
-				18     4         11:01:46
+				4      10	 10:34:11
+				18     4	 11:01:46
 
 			The "number" column is the change number.  This number
 			continuously increases and can be used to identify a
--- a/runtime/doc/usr_01.txt
+++ b/runtime/doc/usr_01.txt
@@ -1,4 +1,4 @@
-*usr_01.txt*	For Vim version 7.0f.  Last change: 2006 Apr 24
+*usr_01.txt*	For Vim version 7.0g.  Last change: 2006 Apr 24
 
 		     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.0f.  Last change: 2006 Apr 24
+*usr_02.txt*	For Vim version 7.0g.  Last change: 2006 Apr 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.0f.  Last change: 2006 Apr 24
+*usr_03.txt*	For Vim version 7.0g.  Last change: 2006 Apr 24
 
 		     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.0f.  Last change: 2006 Apr 24
+*usr_04.txt*	For Vim version 7.0g.  Last change: 2006 Apr 24
 
 		     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.0f.  Last change: 2006 Apr 24
+*usr_05.txt*	For Vim version 7.0g.  Last change: 2006 Apr 24
 
 		     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.0f.  Last change: 2006 Apr 24
+*usr_06.txt*	For Vim version 7.0g.  Last change: 2006 Apr 24
 
 		     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.0f.  Last change: 2006 Apr 24
+*usr_07.txt*	For Vim version 7.0g.  Last change: 2006 Apr 24
 
 		     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.0f.  Last change: 2006 Apr 24
+*usr_08.txt*	For Vim version 7.0g.  Last change: 2006 Apr 30
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
@@ -521,12 +521,12 @@ window.  And you will notice a bar at th
 
 	+----------------------------------+
 	| thisfile | /thatfile/ __________X|    (thatfile is bold)
-	|/* thatfile */  		   |
+	|/* thatfile */			   |
 	|that				   |
 	|that				   |
-	|~                                 |
-	|~                                 |
-	|~                                 |
+	|~				   |
+	|~				   |
+	|~				   |
 	|				   |
 	+----------------------------------+
 
@@ -538,12 +538,12 @@ Now use the mouse to click on "thisfile"
 
 	+----------------------------------+
 	| /thisfile/ | thatfile __________X|    (thisfile is bold)
-	|/* thisfile */  		   |
+	|/* thisfile */			   |
 	|this				   |
 	|this				   |
-	|~                                 |
-	|~                                 |
-	|~                                 |
+	|~				   |
+	|~				   |
+	|~				   |
 	|				   |
 	+----------------------------------+
 
@@ -560,12 +560,12 @@ the window we were in:
 
 	+-------------------------------------+
 	| thisfile | /thisfile/ | thatfile __X|   (thisfile is bold)
-	|/* thisfile */  		      |
+	|/* thisfile */			      |
 	|this				      |
 	|this				      |
-	|~                                    |
-	|~                                    |
-	|~                                    |
+	|~				      |
+	|~				      |
+	|~				      |
 	|				      |
 	+-------------------------------------+
 
@@ -579,17 +579,17 @@ Will show the help text for "gt" in a ne
 A few more things you can do with tab pages:
 
 - click with the mouse in the space after the last label
-  	The next tab page will be selected, like with "gt".
+	The next tab page will be selected, like with "gt".
 
 - click with the mouse on the "X" in the top right corner
-  	The current tab page will be closed.  Unless there are unsaved
+	The current tab page will be closed.  Unless there are unsaved
 	changes in the current tab page.
 
 - double click with the mouse in the top line
-  	A new tab page will be created.
+	A new tab page will be created.
 
 - the "tabonly" command
-  	Closes all tab pages except the current one.  Unless there are unsaved
+	Closes all tab pages except the current one.  Unless there are unsaved
 	changes in other tab pages.
 
 For more information about tab pages see |tab-page|.
--- a/runtime/doc/usr_09.txt
+++ b/runtime/doc/usr_09.txt
@@ -1,4 +1,4 @@
-*usr_09.txt*	For Vim version 7.0f.  Last change: 2006 Apr 24
+*usr_09.txt*	For Vim version 7.0g.  Last change: 2006 Apr 24
 
 		     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.0f.  Last change: 2006 Apr 24
+*usr_10.txt*	For Vim version 7.0g.  Last change: 2006 Apr 24
 
 		     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.0f.  Last change: 2006 Apr 24
+*usr_11.txt*	For Vim version 7.0g.  Last change: 2006 Apr 24
 
 		     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.0f.  Last change: 2006 Apr 24
+*usr_12.txt*	For Vim version 7.0g.  Last change: 2006 Apr 24
 
 		     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.0f.  Last change: 2006 Apr 24
+*usr_20.txt*	For Vim version 7.0g.  Last change: 2006 Apr 24
 
 		     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.0f.  Last change: 2006 Apr 25
+*usr_21.txt*	For Vim version 7.0g.  Last change: 2006 Apr 25
 
 		     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.0f.  Last change: 2006 Apr 24
+*usr_22.txt*	For Vim version 7.0g.  Last change: 2006 Apr 24
 
 		     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.0f.  Last change: 2006 Apr 24
+*usr_23.txt*	For Vim version 7.0g.  Last change: 2006 Apr 24
 
 		     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.0f.  Last change: 2006 Apr 24
+*usr_24.txt*	For Vim version 7.0g.  Last change: 2006 Apr 24
 
 		     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.0f.  Last change: 2006 Apr 24
+*usr_25.txt*	For Vim version 7.0g.  Last change: 2006 Apr 24
 
 		     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.0f.  Last change: 2006 Apr 24
+*usr_26.txt*	For Vim version 7.0g.  Last change: 2006 Apr 24
 
 		     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.0f.  Last change: 2006 Apr 24
+*usr_27.txt*	For Vim version 7.0g.  Last change: 2006 Apr 24
 
 		     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.0f.  Last change: 2006 Apr 24
+*usr_28.txt*	For Vim version 7.0g.  Last change: 2006 Apr 24
 
 		     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.0f.  Last change: 2006 Apr 24
+*usr_29.txt*	For Vim version 7.0g.  Last change: 2006 Apr 24
 
 		     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.0f.  Last change: 2006 Apr 24
+*usr_30.txt*	For Vim version 7.0g.  Last change: 2006 Apr 24
 
 		     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.0f.  Last change: 2006 Apr 24
+*usr_31.txt*	For Vim version 7.0g.  Last change: 2006 Apr 24
 
 		     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.0f.  Last change: 2006 Apr 24
+*usr_32.txt*	For Vim version 7.0g.  Last change: 2006 Apr 30
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
@@ -31,11 +31,11 @@ two changes, numbered 1 and 2, and three
 		one ~
 		 |
 	      change 1
-	         |
+		 |
 	      one too ~
-	         |
+		 |
 	      change 2
-	         |
+		 |
 	      one two ~
 
 If we now undo one change, back to "one too", and change "one" to "me" we
@@ -44,12 +44,12 @@ create a branch in the undo tree:
 		one ~
 		 |
 	      change 1
-	         |
+		 |
 	      one too ~
 	      /     \
-         change 2  change 3
-            |         |
-         one two    me too ~
+	 change 2  change 3
+	    |	      |
+	 one two    me too ~
 
 You can now use the |u| command to undo.  If you do this twice you get to
 "one".  Use |CTRL-R| to redo, and you will go to "one too".  One more |CTRL-R|
@@ -80,12 +80,12 @@ Now make another change: change "one" to
 		one ~
 		 |
 	      change 1
-	         |
+		 |
 	      one too ~
 	      /     \
-         change 2  change 3
-            |         |
-         one two    me too ~
+	 change 2  change 3
+	    |	      |
+	 one two    me too ~
 	    |
 	 change 4
 	    |
--- a/runtime/doc/usr_40.txt
+++ b/runtime/doc/usr_40.txt
@@ -1,4 +1,4 @@
-*usr_40.txt*	For Vim version 7.0f.  Last change: 2006 Apr 24
+*usr_40.txt*	For Vim version 7.0g.  Last change: 2006 Apr 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.0f.  Last change: 2006 Apr 24
+*usr_41.txt*	For Vim version 7.0g.  Last change: 2006 Apr 30
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
@@ -209,7 +209,7 @@ exists() checks.  That's not what you wa
 becomes false.  When it was false, it becomes true.  You can read it as "not".
 Thus "if !exists()" can be read as "if not exists()".
    What Vim calls true is anything that is not zero.  Zero is false.
-   	Note:
+	Note:
 	Vim automatically converts a string to a number when it is looking for
 	a number.  When using a string that doesn't start with a digit the
 	resulting number is zero.  Thus look out for this: >
@@ -1076,16 +1076,16 @@ A List is an ordered sequence of things.
 thus you can make a List of numbers, a List of Lists and even a List of mixed
 items.  To create a List with three strings: >
 
-   	:let alist = ['aap', 'mies', 'noot']
+	:let alist = ['aap', 'mies', 'noot']
 
 The List items are enclosed in square brackets and separated by commas.  To
 create an empty List: >
 
-   	:let alist = []
+	:let alist = []
 
 You can add items to a List with the add() function: >
 
-   	:let alist = []
+	:let alist = []
 	:call add(alist, 'foo')
 	:call add(alist, 'bar')
 	:echo alist
@@ -1098,14 +1098,14 @@ List concatenation is done with +: >
 
 Or, if you want to extend a List directly: >
 
-   	:let alist = ['one']
+	:let alist = ['one']
 	:call extend(alist, ['two', 'three'])
 	:echo alist
 <	['one', 'two', 'three'] ~
 
 Notice that using add() will have a different effect: >
 
-   	:let alist = ['one']
+	:let alist = ['one']
 	:call add(alist, ['two', 'three'])
 	:echo alist
 <	['one', ['two', 'three']] ~
@@ -1155,11 +1155,11 @@ last item is one less than the length of
 
 A more useful example, looping over lines in the buffer: >
 
-        :for line in getline(1, 20)
-        :  if line =~ "Date: "
-        :    echo matchstr(line, 'Date: \zs.*')
-        :  endif
-        :endfor
+	:for line in getline(1, 20)
+	:  if line =~ "Date: "
+	:    echo matchstr(line, 'Date: \zs.*')
+	:  endif
+	:endfor
 
 This looks into lines 1 to 20 (inclusive) and echoes any date found in there.
 
@@ -1168,7 +1168,7 @@ DICTIONARIES
 
 A Dictionary stores key-value pairs.  You can quickly lookup a value if you
 know the key.  A Dictionary is created with curly braces: >
-   	
+
 	:let uk2nl = {'one': 'een', 'two': 'twee', 'three': 'drie'}
 
 Now you can lookup words by putting the key in square brackets: >
@@ -2274,7 +2274,7 @@ 1. The "BNRead" command is defined and t
 
 2. The user types the BNRead command or presses the <F19> key.  The
    BufNetRead() or BufNetWrite() function will be called.
-   
+
 3. Vim can't find the function and triggers the |FuncUndefined| autocommand
    event.  Since the pattern "BufNet*" matches the invoked function, the
    command "source fname" will be executed.  "fname" will be equal to the name
--- a/runtime/doc/usr_42.txt
+++ b/runtime/doc/usr_42.txt
@@ -1,4 +1,4 @@
-*usr_42.txt*	For Vim version 7.0f.  Last change: 2006 Apr 24
+*usr_42.txt*	For Vim version 7.0g.  Last change: 2006 Apr 24
 
 		     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.0f.  Last change: 2006 Apr 24
+*usr_43.txt*	For Vim version 7.0g.  Last change: 2006 Apr 24
 
 		     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.0f.  Last change: 2006 Apr 24
+*usr_44.txt*	For Vim version 7.0g.  Last change: 2006 Apr 24
 
 		     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.0f.  Last change: 2006 Apr 24
+*usr_45.txt*	For Vim version 7.0g.  Last change: 2006 Apr 24
 
 		     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.0f.  Last change: 2006 Apr 24
+*usr_90.txt*	For Vim version 7.0g.  Last change: 2006 Apr 24
 
 		     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.0f.  Last change: 2006 Apr 24
+*usr_toc.txt*	For Vim version 7.0g.  Last change: 2006 Apr 24
 
 		     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.0f.  Last change: 2006 Apr 25
+*various.txt*   For Vim version 7.0g.  Last change: 2006 Apr 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.0f.  Last change: 2006 Apr 24
+*version4.txt*  For Vim version 7.0g.  Last change: 2006 Apr 24
 
 
 		  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.0f.  Last change: 2006 Apr 24
+*version5.txt*  For Vim version 7.0g.  Last change: 2006 Apr 24
 
 
 		  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.0f.  Last change: 2006 Apr 24
+*version6.txt*  For Vim version 7.0g.  Last change: 2006 Apr 30
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -14135,7 +14135,7 @@ Solution:   Check that the mapping has e
 Files:	    src/normal.c
 
 Patch 6.3.034
-Problem:    VMS: crash when using ":help". 
+Problem:    VMS: crash when using ":help".
 Solution:   Avoid using "tags-??", some Open VMS systems can't handle the "?"
 	    wildcard.  (Zoltan Arpadffy)
 Files:	    src/tag.c
--- a/runtime/doc/version7.txt
+++ b/runtime/doc/version7.txt
@@ -1,4 +1,4 @@
-*version7.txt*  For Vim version 7.0f.  Last change: 2006 Apr 29
+*version7.txt*  For Vim version 7.0g.  Last change: 2006 Apr 30
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -64,9 +64,9 @@ In an argument list double quotes could 
 name.  This caused a difference between ":edit" and ":next" for escaping
 double quotes and it is incompatible with some versions of Vi.
 	Command			Vim 6.x	file name	Vim 7.x file name ~
-	:edit foo\"888          foo"888         	foo"888
-	:next foo\"888          foo888          	foo"888
-	:next a\"b c\"d         ab cd           	a"b  and  c"d
+	:edit foo\"888		foo"888			foo"888
+	:next foo\"888		foo888			foo"888
+	:next a\"b c\"d		ab cd			a"b  and  c"d
 
 In a |literal-string| a single quote can be doubled to get one.
 ":echo 'a''b'" would result in "a b", but now that two quotes stand for one it
@@ -106,7 +106,7 @@ The "2html.vim" script now converts clos
 looks like its displayed, with the same folds open and closed.  Use "zR", or
 "let html_ignore_folding=1", if no folds should appear in the HTML. (partly by
 Carl Osterwisch)
-Diff mode now is also converted to HTML as it is displayed.
+Diff mode is now also converted to HTML as it is displayed.
 
 Win32: The effect of the <F10> key depended on 'winaltkeys'.  Now it depends
 on whether <F10> has been mapped or not.  This allows mapping <F10> without
@@ -216,7 +216,7 @@ The 'spellsuggest' option specifies the 
 
 The |[s| and |]s| commands can be used to move to the next or previous error
 The |zg| and |zw| commands can be used to add good and wrong words
-The |z=|          command can be used to list suggestions and correct the word
+The |z=|	  command can be used to list suggestions and correct the word
 The |:mkspell|    command is used to generate a Vim spell file from word lists
 
 The "undercurl" highlighting attribute was added to nicely point out spelling
@@ -324,7 +324,7 @@ into 'undolevels', when undo information
 
 To be able to navigate the undo branches each change is numbered sequentially.
 The commands |g-| and |:earlier| go back in time, to older changes.  The
-commands |g+| and |:later| go forward in time, to newer changes.  
+commands |g+| and |:later| go forward in time, to newer changes.
 
 The changes are also timestamped.  Use ":earlier 10m" to go to the text as it
 was about ten minutes earlier.
@@ -748,7 +748,7 @@ Win32: The ":winpos" command now also wo
 |:spellundo|		Remove a word from list of good and bad words.
 
 |:mzscheme|		Execute MzScheme commands.
-|:mzfile|   		Execute an MzScheme script file.
+|:mzfile|		Execute an MzScheme script file.
 
 |:nbkey|		Pass a key to NetBeans for processing.
 
@@ -816,7 +816,7 @@ New and extended functions: ~
 |argv()|		without an argument return the whole argument list
 |browsedir()|		dialog to select a directory
 |bufnr()|		takes an extra argument: create buffer
-|byteidx()| 		index of a character (Ilya Sher)
+|byteidx()|		index of a character (Ilya Sher)
 |call()|		call a function with List as arguments
 |changenr()|		number of current change
 |complete()|		set matches for Insert mode completion
@@ -837,7 +837,7 @@ New and extended functions: ~
 |filter()|		remove selected items from a List or Dictionary
 |finddir()|		find a directory in 'path'
 |findfile()|		find a file in 'path' (Johannes Zellner)
-|foldtextresult()|  	the text displayed for a closed fold at line "lnum"
+|foldtextresult()|	the text displayed for a closed fold at line "lnum"
 |function()|		make a Funcref out of a function name
 |garbagecollect()|	cleanup unused |Lists| and |Dictionaries| with circular
 			references
@@ -846,7 +846,7 @@ New and extended functions: ~
 			(Yegappan Lakshmanan)
 |getcmdtype()|		return the current command-line type
 			(Yegappan Lakshmanan)
-|getfontname()| 	get actual font name being used
+|getfontname()|		get actual font name being used
 |getfperm()|		get file permission string (Nikolai Weibull)
 |getftype()|		get type of file (Nikolai Weibull)
 |getline()|		with second argument: get List with buffer lines
@@ -885,13 +885,13 @@ New and extended functions: ~
 |reltime()|		get time value, possibly relative
 |reltimestr()|		turn a time value into a string
 |remove()|		remove one or more items from a List or Dictionary
-|repeat()| 		repeat "expr" "count" times (Christophe Poucet)
+|repeat()|		repeat "expr" "count" times (Christophe Poucet)
 |reverse()|		reverse the order of a List
 |search()|		extra argument:
 |searchdecl()|		search for declaration of variable
 |searchpair()|		extra argument: line to stop searching
 |searchpairpos()|	return a List with the position of the match
-|searchpos()|	        return a List with the position of the match
+|searchpos()|		return a List with the position of the match
 |setloclist()|		modify a location list (Yegappan Lakshmanan)
 |setpos()|		set cursor or mark to a position
 |setqflist()|		modify a quickfix list (Yegappan Lakshmanan)
@@ -928,8 +928,8 @@ New Vim variables: ~
 |v:val|			item value in a |map()| or |filter()| function
 |v:key|			item key in a |map()| or |filter()| function
 |v:profiling|		non-zero after a ":profile start" command
-|v:fcs_reason| 		the reason why |FileChangedShell| was triggered
-|v:fcs_choice| 		what should happen after |FileChangedShell|
+|v:fcs_reason|		the reason why |FileChangedShell| was triggered
+|v:fcs_choice|		what should happen after |FileChangedShell|
 |v:beval_bufnr|		buffer number for 'balloonexpr'
 |v:beval_winnr|		window number for 'balloonexpr'
 |v:beval_lnum|		line number for 'balloonexpr'
@@ -2822,5 +2822,13 @@ When 'virtualedit' contains "onemore" CT
 cursor left when it was after the end of the line, even though it's allowed to
 be there.
 
+Added test for using tab pages.
+
+towupper() and towlower() were not used, because of checking for
+__STDC__ISO_10646__ instead of __STDC_ISO_10646__. (sertacyildiz)
+
+For ":map <expr>" forbid changing the text, jumping to another buffer and
+using ":normal" to avoid nasty side effects.
+
 
  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.0f.  Last change: 2006 Apr 24
+*vi_diff.txt*   For Vim version 7.0g.  Last change: 2006 Apr 24
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
--- a/runtime/doc/vim-fr.1
+++ b/runtime/doc/vim-fr.1
@@ -44,7 +44,7 @@ Il comporte de nombreuses améliorations par rapport à Vi : annulation sur
 plusieurs niveaux, fenêtres et tampons multiples, coloration syntaxique,
 édition en ligne de commande, complètement des noms de fichiers, aide en
 ligne, sélection visuelle, etc.
-Voir ":help vi_diff.txt" pour un résumé des différences entre 
+Voir ":help vi_diff.txt" pour un résumé des différences entre
 .B Vim
 et Vi.
 .PP
@@ -96,7 +96,7 @@ Voir ":help tag\-commands".
 \-q [fichiererreurs]
 Démarre en mode Mise-au-point (QuickFix).
 Le fichier [fichiererreurs] est lu et la première erreur est affichée.
-Si [fichiererreurs] est omis, le nom du fichier est lu dans 
+Si [fichiererreurs] est omis, le nom du fichier est lu dans
 l'option 'errorfile' ("AztecC.Err" par défaut sur Amiga, "errors.err" sur les
 autres systèmes).
 La commande ":cn" permet de sauter aux erreurs suivantes.
@@ -259,7 +259,7 @@ quitte.
 .TP
 \-h
 Donne une aide succinte sur les arguments et les options de la ligne de
-commande. Après cela, 
+commande. Après cela,
 .B Vim
 quitte.
 .TP
--- a/runtime/doc/vim-fr.UTF-8.1
+++ b/runtime/doc/vim-fr.UTF-8.1
@@ -44,7 +44,7 @@ Il comporte de nombreuses améliorations par rapport à Vi : annulation sur
 plusieurs niveaux, fenêtres et tampons multiples, coloration syntaxique,
 édition en ligne de commande, complètement des noms de fichiers, aide en
 ligne, sélection visuelle, etc.
-Voir ":help vi_diff.txt" pour un résumé des différences entre 
+Voir ":help vi_diff.txt" pour un résumé des différences entre
 .B Vim
 et Vi.
 .PP
@@ -96,7 +96,7 @@ Voir ":help tag\-commands".
 \-q [fichiererreurs]
 Démarre en mode Mise-au-point (QuickFix).
 Le fichier [fichiererreurs] est lu et la première erreur est affichée.
-Si [fichiererreurs] est omis, le nom du fichier est lu dans 
+Si [fichiererreurs] est omis, le nom du fichier est lu dans
 l'option 'errorfile' ("AztecC.Err" par défaut sur Amiga, "errors.err" sur les
 autres systèmes).
 La commande ":cn" permet de sauter aux erreurs suivantes.
@@ -259,7 +259,7 @@ quitte.
 .TP
 \-h
 Donne une aide succinte sur les arguments et les options de la ligne de
-commande. Après cela, 
+commande. Après cela,
 .B Vim
 quitte.
 .TP
--- a/runtime/doc/vim-it.1
+++ b/runtime/doc/vim-it.1
@@ -363,14 +363,14 @@ Dovrebbe essere un terminale noto a
 Usa i comandi nel file {vimrc} per inizializzazioni.
 Tutte le altre inizializzazioni non sono eseguite.
 Usate questa opzione per editare qualche file di tipo speciale.
-Può anche essere usato per non fare alcuna inizializzazione dando 
+Può anche essere usato per non fare alcuna inizializzazione dando
 come nome "NONE".
 Vedere ":help initialization" da vim per ulteriori dettagli.
 .TP
 \-U {gvimrc}
 Usa i comandi nel file {gvimrc} per inizializzazioni GUI.
 Tutte le altre inizializzazioni GUI non sono eseguite.
-Può anche essere usata per non fare alcuna inizializzazione GUI dando 
+Può anche essere usata per non fare alcuna inizializzazione GUI dando
 come nome "NONE".
 Vedere ":help gui-init" da vim per ulteriori dettagli.
 .TP
--- a/runtime/doc/vim-it.UTF-8.1
+++ b/runtime/doc/vim-it.UTF-8.1
@@ -363,14 +363,14 @@ Dovrebbe essere un terminale noto a
 Usa i comandi nel file {vimrc} per inizializzazioni.
 Tutte le altre inizializzazioni non sono eseguite.
 Usate questa opzione per editare qualche file di tipo speciale.
-Può anche essere usato per non fare alcuna inizializzazione dando 
+Può anche essere usato per non fare alcuna inizializzazione dando
 come nome "NONE".
 Vedere ":help initialization" da vim per ulteriori dettagli.
 .TP
 \-U {gvimrc}
 Usa i comandi nel file {gvimrc} per inizializzazioni GUI.
 Tutte le altre inizializzazioni GUI non sono eseguite.
-Può anche essere usata per non fare alcuna inizializzazione GUI dando 
+Può anche essere usata per non fare alcuna inizializzazione GUI dando
 come nome "NONE".
 Vedere ":help gui-init" da vim per ulteriori dettagli.
 .TP
--- a/runtime/doc/vimtutor-fr.1
+++ b/runtime/doc/vimtutor-fr.1
@@ -28,12 +28,12 @@ est toujours lancé en mode Compatible Vi.
 .SH FICHIERS
 .TP 15
 /usr/local/lib/vim/tutor/tutor[.langue]
-Les fichiers textes de 
+Les fichiers textes de
 .B Vimtutor
 \.
 .TP 15
 /usr/local/lib/vim/tutor/tutor.vim
-Le script Vim utilisé pour copier les fichiers texte de 
+Le script Vim utilisé pour copier les fichiers texte de
 .B Vimtutor
 \.
 .SH AUTEUR
--- a/runtime/doc/vimtutor-fr.UTF-8.1
+++ b/runtime/doc/vimtutor-fr.UTF-8.1
@@ -28,12 +28,12 @@ est toujours lancé en mode Compatible Vi.
 .SH FICHIERS
 .TP 15
 /usr/local/lib/vim/tutor/tutor[.langue]
-Les fichiers textes de 
+Les fichiers textes de
 .B Vimtutor
 \.
 .TP 15
 /usr/local/lib/vim/tutor/tutor.vim
-Le script Vim utilisé pour copier les fichiers texte de 
+Le script Vim utilisé pour copier les fichiers texte de
 .B Vimtutor
 \.
 .SH AUTEUR
--- a/runtime/doc/visual.txt
+++ b/runtime/doc/visual.txt
@@ -1,4 +1,4 @@
-*visual.txt*    For Vim version 7.0f.  Last change: 2006 Apr 24
+*visual.txt*    For Vim version 7.0g.  Last change: 2006 Apr 24
 
 
 		  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.0f.  Last change: 2006 Apr 24
+*windows.txt*   For Vim version 7.0g.  Last change: 2006 Apr 24
 
 
 		  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.0f.  Last change: 2006 Apr 24
+*workshop.txt*  For Vim version 7.0g.  Last change: 2006 Apr 24
 
 
 		  VIM REFERENCE MANUAL    by Gordon Prieur
--- a/runtime/doc/xxd-fr.1
+++ b/runtime/doc/xxd-fr.1
@@ -118,7 +118,7 @@ hexdumd style).
 Opération inverse : convertit un fichier hexadécimal en un fichier binaire (ou
 applique une rustine à un fichier binaire).
 Si l'écriture n'a pas lieu sur la sortie standard, xxd écrit dans le fichier
-qu'il produit sans le tronquer. Utilisez la combinaison 
+qu'il produit sans le tronquer. Utilisez la combinaison
 .I \-r \-p
 pour lire de l'hexadécimal brut sans information sur le numéro des lignes et
 sans format de colonnes particulier. Des espaces blancs et coupures de lignes
@@ -180,7 +180,7 @@ et
 \fI% xxd \-i < fichier\fR
 .PP
 .I xxd \-s \+seek
-peut différer de 
+peut différer de
 .IR "xxd \-s seek" ,
 car lseek(2) est utilisé pour « revenir en arrière ». Le '+' fait une
 différence quand la source des données est l'entrée standard et si la position
--- a/runtime/doc/xxd-fr.UTF-8.1
+++ b/runtime/doc/xxd-fr.UTF-8.1
@@ -118,7 +118,7 @@ hexdumd style).
 Opération inverse : convertit un fichier hexadécimal en un fichier binaire (ou
 applique une rustine à un fichier binaire).
 Si l'écriture n'a pas lieu sur la sortie standard, xxd écrit dans le fichier
-qu'il produit sans le tronquer. Utilisez la combinaison 
+qu'il produit sans le tronquer. Utilisez la combinaison
 .I \-r \-p
 pour lire de l'hexadécimal brut sans information sur le numéro des lignes et
 sans format de colonnes particulier. Des espaces blancs et coupures de lignes
@@ -180,7 +180,7 @@ et
 \fI% xxd \-i < fichier\fR
 .PP
 .I xxd \-s \+seek
-peut différer de 
+peut différer de
 .IR "xxd \-s seek" ,
 car lseek(2) est utilisé pour « revenir en arrière ». Le '+' fait une
 différence quand la source des données est l'entrée standard et si la position
--- a/runtime/doc/xxd-it.UTF-8.1
+++ b/runtime/doc/xxd-it.UTF-8.1
@@ -169,7 +169,7 @@ salta il resto della linea, dopo aver le
 dati esadecimali (vedere opzione \-c). Ciò implica pure che le modifiche alle
 colonne di caratteri stampabili ascii (o ebcdic) sono sempre ignorate.
 La ricostruzione da un file immagine esadecimale in stile semplice
-(postscript) con xxd \-r \-p non dipende dal numero corrretto di colonne. 
+(postscript) con xxd \-r \-p non dipende dal numero corrretto di colonne.
 IN questo caso, qualsiasi cosa assomigli a una coppia di cifre esadecimali
 è interpretata [e utilizzata].
 .PP
--- a/runtime/filetype.vim
+++ b/runtime/filetype.vim
@@ -1,7 +1,7 @@
 " Vim support file to detect file types
 "
 " Maintainer:	Bram Moolenaar <Bram@vim.org>
-" Last Change:	2006 Apr 28
+" Last Change:	2006 Apr 30
 
 " Listen very carefully, I will say this only once
 if exists("did_load_filetypes")
@@ -2049,7 +2049,7 @@ au StdinReadPost * if !did_filetype() | 
 " like are used.
 
 " Asterisk config file
-au BufNewFile,BufRead *asterisk/*.conf*         call s:StarSetf('asterisk')
+au BufNewFile,BufRead *asterisk/*.conf*		call s:StarSetf('asterisk')
 au BufNewFile,BufRead *asterisk*/*voicemail.conf* call s:StarSetf('asteriskvm')
 
 " BIND zone
--- a/runtime/ftplugin.vim
+++ b/runtime/ftplugin.vim
@@ -1,7 +1,7 @@
 " Vim support file to switch on loading plugins for file types
 "
 " Maintainer:	Bram Moolenaar <Bram@vim.org>
-" Last change:	2006 Mar 18
+" Last change:	2006 Apr 30
 
 if exists("did_load_ftplugin")
   finish
@@ -10,13 +10,13 @@ let did_load_ftplugin = 1
 
 augroup filetypeplugin
   au FileType * call s:LoadFTPlugin()
- 
+
   func! s:LoadFTPlugin()
     if exists("b:undo_ftplugin")
       exe b:undo_ftplugin
       unlet! b:undo_ftplugin b:did_ftplugin
     endif
-   
+
     let s = expand("<amatch>")
     if s != ""
       if &cpo =~# "S" && exists("b:did_ftplugin")
--- a/runtime/ftplugin/flexwiki.vim
+++ b/runtime/ftplugin/flexwiki.vim
@@ -55,5 +55,5 @@ if exists("g:flexwiki_maps")
   if v:version >= 700
       imap <buffer> <Down>   <C-o>gj
       imap <buffer> <Up>     <C-o>gk
-  endif 
+  endif
 endif
--- a/runtime/ftplugin/matlab.vim
+++ b/runtime/ftplugin/matlab.vim
@@ -3,8 +3,8 @@
 " Maintainer:	Jake Wasserman <jwasserman at gmail dot com>
 " Last Changed: 2006 Jan 12
 
-if exists("b:did_ftplugin") 
-	finish 
+if exists("b:did_ftplugin")
+	finish
 endif
 let b:did_ftplugin = 1
 
@@ -13,7 +13,7 @@ set cpo-=C
 
 if exists("loaded_matchit")
 	let s:conditionalEnd = '\(([^()]*\)\@!\<end\>\([^()]*)\)\@!'
-	let b:match_words = '\<if\>\|\<while\>\|\<for\>\|\<switch\>:' . 
+	let b:match_words = '\<if\>\|\<while\>\|\<for\>\|\<switch\>:' .
 		\ s:conditionalEnd . ',\<if\>:\<elseif\>:\<else\>:' .
 		\ s:conditionalEnd
 endif
--- a/runtime/ftplugin/scheme.vim
+++ b/runtime/ftplugin/scheme.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin
 " Language:      Scheme
 " Maintainer:    Sergey Khorev <sergey.khorev@gmail.com>
-" URL:		 http://iamphet.nm.ru/vim 
+" URL:		 http://iamphet.nm.ru/vim
 " Original author:    Dorai Sitaram <ds26@gte.com>
 " Original URL:		 http://www.ccs.neu.edu/~dorai/vimplugins/vimplugins.html
 " Last Change:   Nov 22, 2004
--- a/runtime/indent/GenericIndent.vim
+++ b/runtime/indent/GenericIndent.vim
@@ -319,4 +319,4 @@ endfunction
 "
 " BUGS:  You tell me!  Probably.  I just haven't found one yet or haven't been
 "        told about one.
-"        
+"
--- a/runtime/indent/ada.vim
+++ b/runtime/indent/ada.vim
@@ -1,7 +1,7 @@
 " Vim indent file
 " Language:	Ada
 " Maintainer:	Neil Bird <neil@fnxweb.com>
-" Last Change:	2004 Nov 23
+" Last Change:	2006 Apr 30
 " Version:	$Id$
 " Look for the latest version at http://vim.sourceforge.net/
 "
@@ -44,25 +44,25 @@ function s:MainBlockIndent( prev_indent,
    let line = substitute( getline(lnum), s:AdaComment, '', '' )
    while lnum > 1
       if a:stop_at != ''  &&  line =~ '^\s*' . a:stop_at  &&  indent(lnum) < a:prev_indent
-         return a:prev_indent
+	 return a:prev_indent
       elseif line =~ '^\s*' . a:blockstart
-         let ind = indent(lnum)
-         if ind < a:prev_indent
-            return ind
-         endif
+	 let ind = indent(lnum)
+	 if ind < a:prev_indent
+	    return ind
+	 endif
       endif
 
       let lnum = prevnonblank(lnum - 1)
       " Get previous non-blank/non-comment-only line
       while 1
-         let line = substitute( getline(lnum), s:AdaComment, '', '' )
-         if line !~ '^\s*$' && line !~ '^\s*#'
-            break
-         endif
-         let lnum = prevnonblank(lnum - 1)
-         if lnum <= 0
-            return a:prev_indent
-         endif
+	 let line = substitute( getline(lnum), s:AdaComment, '', '' )
+	 if line !~ '^\s*$' && line !~ '^\s*#'
+	    break
+	 endif
+	 let lnum = prevnonblank(lnum - 1)
+	 if lnum <= 0
+	    return a:prev_indent
+	 endif
       endwhile
    endwhile
    " Fallback - just move back one
@@ -82,15 +82,15 @@ function s:EndBlockIndent( prev_indent, 
    while lnum > 1
       if getline(lnum) =~ '^\s*' . a:blockstart
 	 let ind = indent(lnum)
-         if ends <= 0
-            if ind < a:prev_indent
+	 if ends <= 0
+	    if ind < a:prev_indent
 	       return ind
-            endif
-         else
-            let ends = ends - 1
+	    endif
+	 else
+	    let ends = ends - 1
 	 endif
       elseif getline(lnum) =~ '^\s*' . a:blockend
-         let ends = ends + 1
+	 let ends = ends + 1
       endif
 
       let lnum = prevnonblank(lnum - 1)
@@ -122,25 +122,25 @@ function s:StatementIndent( current_inde
       let lnum = prevnonblank(lnum - 1)
       " Get previous non-blank/non-comment-only line
       while 1
-         let line = substitute( getline(lnum), s:AdaComment, '', '' )
-         if line !~ '^\s*$' && line !~ '^\s*#'
-            break
-         endif
-         let lnum = prevnonblank(lnum - 1)
-         if lnum <= 0
-            return a:current_indent
-         endif
+	 let line = substitute( getline(lnum), s:AdaComment, '', '' )
+	 if line !~ '^\s*$' && line !~ '^\s*#'
+	    break
+	 endif
+	 let lnum = prevnonblank(lnum - 1)
+	 if lnum <= 0
+	    return a:current_indent
+	 endif
       endwhile
       " Leave indent alone if our ';' line is part of a ';'-delineated
       " aggregate (e.g., procedure args.) or first line after a block start.
       if line =~ s:AdaBlockStart || line =~ '(\s*$'
-         return a:current_indent
+	 return a:current_indent
       endif
       if line !~ '[.=(]\s*$'
-         let ind = indent(prev_lnum)
-         if ind < a:current_indent
-            return ind
-         endif
+	 let ind = indent(prev_lnum)
+	 if ind < a:current_indent
+	    return ind
+	 endif
       endif
    endwhile
    " Fallback - just use current one
@@ -159,11 +159,11 @@ function GetAdaIndent()
    while 1
       let line = substitute( getline(lnum), s:AdaComment, '', '' )
       if line !~ '^\s*$' && line !~ '^\s*#'
-         break
+	 break
       endif
       let lnum = prevnonblank(lnum - 1)
       if lnum <= 0
-         return ind
+	 return ind
       endif
    endwhile
 
@@ -176,15 +176,15 @@ function GetAdaIndent()
       " Check for false matches to AdaBlockStart
       let false_match = 0
       if line =~ '^\s*\(procedure\|function\|package\)\>.*\<is\s*new\>'
-         " Generic instantiation
-         let false_match = 1
+	 " Generic instantiation
+	 let false_match = 1
       elseif line =~ ')\s*;\s*$'  ||  line =~ '^\([^(]*([^)]*)\)*[^(]*;\s*$'
-         " forward declaration
-         let false_match = 1
+	 " forward declaration
+	 let false_match = 1
       endif
       " Move indent in
       if ! false_match
-         let ind = ind + &sw
+	 let ind = ind + &sw
       endif
    elseif line =~ '^\s*\(case\|exception\)\>'
       " Move indent in twice (next 'when' will move back)
@@ -198,10 +198,10 @@ function GetAdaIndent()
       exe lnum
       exe 'normal! $F)%'
       if getline('.') =~ '^\s*('
-         " Dire layout - use previous indent (could check for AdaComment here)
-         let ind = indent( prevnonblank( line('.')-1 ) )
+	 " Dire layout - use previous indent (could check for AdaComment here)
+	 let ind = indent( prevnonblank( line('.')-1 ) )
       else
-         let ind = indent('.')
+	 let ind = indent('.')
       endif
       exe v:lnum
    elseif line =~ '[.=(]\s*$'
@@ -227,7 +227,7 @@ function GetAdaIndent()
    elseif continuation && line =~ '^\s*('
       " Don't do this if we've already indented due to the previous line
       if ind == initind
-         let ind = ind + &sw
+	 let ind = ind + &sw
       endif
    elseif line =~ '^\s*\(begin\|is\)\>'
       let ind = s:MainBlockIndent( ind, lnum, '\(procedure\|function\|declare\|package\|task\)\>', 'begin\>' )
--- a/runtime/indent/automake.vim
+++ b/runtime/indent/automake.vim
@@ -1,5 +1,5 @@
 " Vim indent file
-" Language:         automake
+" Language:	    automake
 " Maintainer:       Nikolai Weibull <now@bitwi.se>
 " Latest Revision:  2006-04-19
 
--- a/runtime/indent/ch.vim
+++ b/runtime/indent/ch.vim
@@ -1,9 +1,9 @@
 " Vim indent file
 " Language:	Ch
-" Maintainer:   SoftIntegration, Inc. <info@softintegration.com>
-" URL:          http://www.softintegration.com/download/vim/indent/ch.vim
-" Last change:  2003 Aug 05
-"               Created based on cpp.vim
+" Maintainer:	SoftIntegration, Inc. <info@softintegration.com>
+" URL:		http://www.softintegration.com/download/vim/indent/ch.vim
+" Last change:	2006 Apr 30
+"		Created based on cpp.vim
 "
 " Ch is a C/C++ interpreter with many high level extensions
 
--- a/runtime/indent/cmake.vim
+++ b/runtime/indent/cmake.vim
@@ -1,11 +1,11 @@
 " =============================================================================
-" 
+"
 "   Program:   CMake - Cross-Platform Makefile Generator
 "   Module:    $RCSfile$
 "   Language:  VIM
 "   Date:      $Date$
 "   Version:   $Revision$
-" 
+"
 " =============================================================================
 
 " Vim indent file
--- a/runtime/indent/config.vim
+++ b/runtime/indent/config.vim
@@ -1,16 +1,16 @@
 " Vim indent file
-" Language:         Autoconf configure.{ac,in} file
-" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Language:	    Autoconf configure.{ac,in} file
+" Maintainer:	    Nikolai Weibull <now@bitwi.se>
 " Latest Revision:  2006-04-19
-" TODO:             how about nested [()]'s in one line
-"                   what's wrong with '\\\@!'?
+" TODO:		    how about nested [()]'s in one line
+"		    what's wrong with '\\\@!'?
 
 " Only load this indent file when no other was loaded.
 if exists("b:did_indent")
   finish
 endif
 
-runtime! indent/sh.vim          " will set b:did_indent
+runtime! indent/sh.vim		" will set b:did_indent
 
 setlocal indentexpr=GetConfigIndent()
 setlocal indentkeys=!^F,o,O,=then,=do,=else,=elif,=esac,=fi,=fin,=fil,=done
--- a/runtime/indent/css.vim
+++ b/runtime/indent/css.vim
@@ -22,12 +22,12 @@ function s:prevnonblanknoncomment(lnum)
     let line = getline(lnum)
     if line =~ '\*/'
       while lnum > 1 && line !~ '/\*'
-        let lnum -= 1
+	let lnum -= 1
       endwhile
       if line =~ '^\s*/\*'
-        let lnum -= 1
+	let lnum -= 1
       else
-        break
+	break
       endif
     else
       break
@@ -45,13 +45,13 @@ function s:count_braces(lnum, count_open
   while i != -1
     if synIDattr(synID(a:lnum, i + 1, 0), 'name') !~ 'css\%(Comment\|StringQ\{1,2}\)'
       if line[i] == '{'
-        let n_open += 1
+	let n_open += 1
       elseif line[i] == '}'
-        if n_open > 0
-          let n_open -= 1
-        else
-          let n_close += 1
-        endif
+	if n_open > 0
+	  let n_open -= 1
+	else
+	  let n_close += 1
+	endif
       endif
     endif
     let i = match(line, pattern, i + 1)
--- a/runtime/indent/docbk.vim
+++ b/runtime/indent/docbk.vim
@@ -1,5 +1,5 @@
 " Vim indent file
-" Language:         DocBook Documentation Format
+" Language:	    DocBook Documentation Format
 " Maintainer:       Nikolai Weibull <now@bitwi.se>
 " Latest Revision:  2006-04-19
 
--- a/runtime/indent/eterm.vim
+++ b/runtime/indent/eterm.vim
@@ -1,5 +1,5 @@
 " Vim indent file
-" Language:         Eterm configuration file
+" Language:	    Eterm configuration file
 " Maintainer:       Nikolai Weibull <now@bitwi.se>
 " Latest Revision:  2006-04-19
 
--- a/runtime/indent/html.vim
+++ b/runtime/indent/html.vim
@@ -1,7 +1,7 @@
 " Description:	html indenter
 " Author:	Johannes Zellner <johannes@zellner.org>
 " Last Change:	Tue, 27 Apr 2004 10:28:39 CEST
-" Globals:	g:html_indent_tags         -- indenting tags
+" Globals:	g:html_indent_tags	   -- indenting tags
 "		g:html_indent_strict       -- inhibit 'O O' elements
 "		g:html_indent_strict_table -- inhibit 'O -' elements
 
--- a/runtime/indent/make.vim
+++ b/runtime/indent/make.vim
@@ -1,6 +1,6 @@
 " Vim indent file
-" Language:         Makefile
-" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Language:	    Makefile
+" Maintainer:	    Nikolai Weibull <now@bitwi.se>
 " Latest Revision:  2006-04-26
 
 if exists("b:did_indent")
@@ -22,7 +22,7 @@ let s:assignment_rx = '^\s*\h\w*\s*+\==\
 
 " TODO: Deal with comments, string, and all kinds of other crap, e.g., defines.
 " TODO: Unwrap the whole logic of this function into something that requires a
-" lot less “returnâ€s.
+" lot less 'return's.
 function GetMakeIndent()
   let lnum = v:lnum - 1
   if lnum == 0
@@ -30,92 +30,92 @@ function GetMakeIndent()
   endif
 
   " Figure out if the previous line is part of a rule or not.  If it is, then
-  " we more or less just indent by a ‘tabstop’, the previous’ lines indent, or
+  " we more or less just indent by a 'tabstop', the previous' lines indent, or
   " remove all indent if the current line is itself a rule.  Also, if the line
   " in question is part of a continuation-line set constituting the rule line
-  " itself, we indent by either a ‘shiftwidth’, if the line is the first in the
+  " itself, we indent by either a 'shiftwidth', if the line is the first in the
   " continuation, or use the indent of the previous line, if not.
   while lnum > 0
     let line = getline(lnum)
     if line[0] != "\t"
-      " We found a non-shell-command line, i.e., one that doesn’t have a
+      " We found a non-shell-command line, i.e., one that doesn't have a
       " leading tab.
       if line =~ s:rule_rx
-        " The line looks like a rule line, so we must therefore either be inside a
-        " rule or we are a continuation line to that rule line.
-        if line =~ s:continuation_rx
-          " Ah, the rule line was continued, so look up the last continuation
-          " line that’s above the current line.
-          while line =~ s:continuation_rx && lnum < v:lnum
-            let lnum += 1
-            let line = getline(lnum)
-          endwhile
-          let lnum -= 1
-          let line = getline(lnum)
-        endif
+	" The line looks like a rule line, so we must therefore either be inside a
+	" rule or we are a continuation line to that rule line.
+	if line =~ s:continuation_rx
+	  " Ah, the rule line was continued, so look up the last continuation
+	  " line that's above the current line.
+	  while line =~ s:continuation_rx && lnum < v:lnum
+	    let lnum += 1
+	    let line = getline(lnum)
+	  endwhile
+	  let lnum -= 1
+	  let line = getline(lnum)
+	endif
 
-        " If the line that we’ve found is right above the current line, deal
-        " with it specifically.
-        if lnum == v:lnum - 1
-          " If it was continued, indent the current line by a shiftwidth, as it
-          " is the first to follow it.  Otherwise, depending on if the current
-          " line is a rule line, i.e, a rule line following another rule line,
-          " then indent to the left margin.  Otherwise, the current line is the
-          " first shell-command line in the rule, so indent by a ‘tabstop’
-          if line =~ s:continuation_rx
-            return &sw
-          else
-            return getline(v:lnum) =~ s:rule_rx ? 0 : &ts
-          endif
-        else
-          " If the previous line was a continuation line, then unless it was
-          " itself a part of a continuation line, add a ‘shiftwidth’’s worth of
-          " indent.  Otherwise, just use the indent of the previous line.
-          " Otherwise, if the previous line wasn’t a continuation line, check
-          " if the one above it was.  If it was then indent to whatever level
-          " the “owning†line had.  Otherwise, indent to the previous line’s
-          " level.
-          let lnum = v:lnum - 1
-          let line = getline(lnum)
-          if line =~ s:continuation_rx
-            let pnum = v:lnum - 2
-            let pine = getline(pnum)
-            if pine =~ s:continuation_rx
-              return indent(lnum)
-            else
-              return indent(lnum) + &sw
-            endif
-          else
-            let lnum = v:lnum - 2
-            let line = getline(lnum)
-            if line =~ s:continuation_rx
-              while lnum > 0
-                if line !~ s:continuation_rx
-                  let lnum += 1
-                  let line = getline(lnum)
-                  break
-                endif
-                let lnum -= 1
-                let line = getline(lnum)
-              endwhile
-              " We’ve found the owning line.  Indent to it’s level.
-              return indent(lnum)
-            else
-              return indent(v:lnum - 1)
-            endif
-          endif
-        endif
+	" If the line that we've found is right above the current line, deal
+	" with it specifically.
+	if lnum == v:lnum - 1
+	  " If it was continued, indent the current line by a shiftwidth, as it
+	  " is the first to follow it.  Otherwise, depending on if the current
+	  " line is a rule line, i.e, a rule line following another rule line,
+	  " then indent to the left margin.  Otherwise, the current line is the
+	  " first shell-command line in the rule, so indent by a 'tabstop'
+	  if line =~ s:continuation_rx
+	    return &sw
+	  else
+	    return getline(v:lnum) =~ s:rule_rx ? 0 : &ts
+	  endif
+	else
+	  " If the previous line was a continuation line, then unless it was
+	  " itself a part of a continuation line, add a 'shiftwidth''s worth of
+	  " indent.  Otherwise, just use the indent of the previous line.
+	  " Otherwise, if the previous line wasn't a continuation line, check
+	  " if the one above it was.  If it was then indent to whatever level
+	  " the 'owning' line had.  Otherwise, indent to the previous line's
+	  " level.
+	  let lnum = v:lnum - 1
+	  let line = getline(lnum)
+	  if line =~ s:continuation_rx
+	    let pnum = v:lnum - 2
+	    let pine = getline(pnum)
+	    if pine =~ s:continuation_rx
+	      return indent(lnum)
+	    else
+	      return indent(lnum) + &sw
+	    endif
+	  else
+	    let lnum = v:lnum - 2
+	    let line = getline(lnum)
+	    if line =~ s:continuation_rx
+	      while lnum > 0
+		if line !~ s:continuation_rx
+		  let lnum += 1
+		  let line = getline(lnum)
+		  break
+		endif
+		let lnum -= 1
+		let line = getline(lnum)
+	      endwhile
+	      " We've found the owning line.  Indent to it's level.
+	      return indent(lnum)
+	    else
+	      return indent(v:lnum - 1)
+	    endif
+	  endif
+	endif
       endif
 
-      " The line wasn’t a rule line, so the current line is part of a series
-      " of tab-indented lines that don’t belong to any rule.
+      " The line wasn't a rule line, so the current line is part of a series
+      " of tab-indented lines that don't belong to any rule.
       break
     endif
     let lnum -= 1
   endwhile
 
   " If the line before the one we are currently indenting ended with a
-  " continuation, then try to figure out what “owns†that line and indent
+  " continuation, then try to figure out what 'owns' that line and indent
   " appropriately.
   let lnum = v:lnum - 1
   let line = getline(lnum)
@@ -124,34 +124,34 @@ function GetMakeIndent()
     if line =~ s:assignment_rx
       " The previous line is a continuation line that begins a variable-
       " assignment expression, so set the indent to just beyond the whitespace
-      " following the assignment operator (‘=’).
+      " following the assignment operator ('=').
       call cursor(lnum, 1)
       if search(s:assignment_rx, 'W') != 0
-        let indent = virtcol('.') - 1
+	let indent = virtcol('.') - 1
       endif
     endif
-    
-    " The previous line didn’t constitute an assignment, so just indent to
+
+    " The previous line didn't constitute an assignment, so just indent to
     " whatever level it had.
     return indent
   endif
 
   " If the line above the line above the current line ended was continued,
   " then the line above the current line was part of a continued line.  Find
-  " the “owning†line and indent to its level.
+  " the 'owning' line and indent to its level.
   let lnum = v:lnum - 2
   let line = getline(lnum)
   if line =~ s:continuation_rx
     while lnum > 0
       if line !~ s:continuation_rx
-        let lnum += 1
-        let line = getline(lnum)
-        break
+	let lnum += 1
+	let line = getline(lnum)
+	break
       endif
       let lnum -= 1
       let line = getline(lnum)
     endwhile
-    " We’ve found the owning line.  Indent to it’s level.
+    " We've found the owning line.  Indent to it's level.
     return indent(lnum)
   endif
 
--- a/runtime/indent/mma.vim
+++ b/runtime/indent/mma.vim
@@ -12,7 +12,7 @@
 "       let filetype_m="mma"
 "
 " Credits:
-" o steve hacked this out of a random indent file in the Vim 6.1 
+" o steve hacked this out of a random indent file in the Vim 6.1
 "   distribution that he no longer remembers...sh.vim?  Thanks!
 
 " Only load this indent file when no other was loaded.
@@ -30,7 +30,7 @@ if exists("*GetMmaIndent")
 endif
 
 function GetMmaIndent()
-   
+
     " Hit the start of the file, use zero indent.
     if v:lnum == 0
         return 0
@@ -38,21 +38,21 @@ function GetMmaIndent()
 
      " Find a non-blank line above the current line.
     let lnum = prevnonblank(v:lnum - 1)
-   
-    " use indenting as a base 
+
+    " use indenting as a base
     let ind = indent(v:lnum)
     let lnum = v:lnum
-    
+
     " if previous line has an unmatched bracket, or ( indent.
     " doesn't do multiple parens/blocks/etc...
-    
+
     " also, indent only if this line if this line isn't starting a new
     " block... TODO - fix this with indentkeys?
     if getline(v:lnum-1) =~ '\\\@<!\%(\[[^\]]*\|([^)]*\|{[^}]*\)$' && getline(v:lnum) !~ '\s\+[\[({]'
         let ind = ind+&sw
     endif
 
-    " if this line had unmatched closing block, 
+    " if this line had unmatched closing block,
     " indent to the matching opening block
     if getline(v:lnum) =~ '[^[]*]\s*$'
         " move to the closing bracket
--- a/runtime/indent/mupad.vim
+++ b/runtime/indent/mupad.vim
@@ -32,4 +32,4 @@ call GenericAllStmts()
 "
 " BUGS:  You tell me!  Probably.  I just haven't found one yet or haven't been
 "        told about one.
-"        
+"
--- a/runtime/indent/ocaml.vim
+++ b/runtime/indent/ocaml.vim
@@ -1,12 +1,12 @@
 " Vim indent file
 " Language:     OCaml
-" Maintainers:  Jean-Francois Yuen   <jfyuen@happycoders.org>
-"               Mike Leary           <leary@nwlink.com>
-"               Markus Mottl         <markus.mottl@gmail.com>
-" URL:          http://www.ocaml.info/vim/indent/ocaml.vim
-" Last Change:  2005 Jun 25 - Fixed multiple bugs due to 'else\nreturn ind' working
-"               2005 May 09 - Added an option to not indent OCaml-indents specially (MM)
-"               2005 Apr 11 - Fixed an indentation bug concerning "let" (MM)
+" Maintainers:	Jean-Francois Yuen   <jfyuen@happycoders.org>
+"		Mike Leary	     <leary@nwlink.com>
+"		Markus Mottl	     <markus.mottl@gmail.com>
+" URL:		http://www.ocaml.info/vim/indent/ocaml.vim
+" Last Change:	2006 Apr 30
+"		2005 May 09 - Added an option to not indent OCaml-indents specially (MM)
+"		2005 Apr 11 - Fixed an indentation bug concerning "let" (MM)
 
 " Only load this indent file when no other was loaded.
 if exists("b:did_indent")
--- a/runtime/indent/php.vim
+++ b/runtime/indent/php.vim
@@ -2,7 +2,7 @@
 " Language:	PHP
 " Author:	John Wellesz <John.wellesz (AT) teaser (DOT) fr>
 " URL:		http://www.2072productions.com/vim/indent/php.vim
-" Last Change:  2006 January 15th
+" Last Change:  2006 Apr 30
 " Newsletter:   http://www.2072productions.com/?to=php-indent-for-vim-newsletter.php
 " Version:	1.23
 "
@@ -10,7 +10,7 @@
 "
 "  For a complete change log and fully commented code, download the script on
 "  2072productions.com at the URI provided above.
-" 
+"
 "  If you find a bug, please e-mail me at John.wellesz (AT) teaser (DOT) fr
 "  with an example of code that breaks the algorithm.
 "
@@ -23,9 +23,9 @@
 "
 "
 "	In the case you have syntax errors in your script such as end of HereDoc
-"	tags not at col 1 you'll have to indent your file 2 times (This script 
+"	tags not at col 1 you'll have to indent your file 2 times (This script
 "	will automatically put HereDoc end tags at col 1).
-" 
+"
 "
 " NOTE: If you are editing file in Unix file format and that (by accident)
 " there are '\r' before new lines, this script won't be able to proceed
@@ -41,7 +41,7 @@
 
 " Options: PHP_autoformatcomment = 0 to not enable autoformating of comment by
 "		    default, if set to 0, this script will let the 'formatoptions' setting intact.
-" 
+"
 " Options: PHP_default_indenting = # of sw (default is 0), # of sw will be
 "		   added to the indent of each line of PHP code.
 "
@@ -116,7 +116,7 @@ let b:UserIsTypingComment = 0
 let b:optionsset = 0
 
 setlocal nosmartindent
-setlocal noautoindent 
+setlocal noautoindent
 setlocal nocindent
 setlocal nolisp
 
@@ -141,13 +141,13 @@ let s:PHP_startindenttag = '<?\%(.*?>\)\
 
 
 function! GetLastRealCodeLNum(startline) " {{{
-    
+
     let lnum = a:startline
-    
+
     if b:GetLastRealCodeLNum_ADD && b:GetLastRealCodeLNum_ADD == lnum + 1
 	let lnum = b:GetLastRealCodeLNum_ADD
     endif
-    
+
     let old_lnum = lnum
 
     while lnum > 1
@@ -194,7 +194,7 @@ function! GetLastRealCodeLNum(startline)
 		let lnum = lnum - 1
 	    endwhile
 	else
-	    break 
+	    break
 	endif
     endwhile
 
@@ -312,7 +312,7 @@ function! ResetOptions()
 	if b:PHP_autoformatcomment
 
 	    setlocal comments=s1:/*,mb:*,ex:*/,://,:#
-	    
+
 	    setlocal formatoptions-=t
 	    setlocal formatoptions+=q
 	    setlocal formatoptions+=r
@@ -341,7 +341,7 @@ function! GetPhpIndent()
 
     let cline = getline(v:lnum)
 
-    if !b:PHP_indentinghuge && b:PHP_lastindented > b:PHP_indentbeforelast 
+    if !b:PHP_indentinghuge && b:PHP_lastindented > b:PHP_indentbeforelast
 	if b:PHP_indentbeforelast
 	    let b:PHP_indentinghuge = 1
 	    echom 'Large indenting detected, speed optimizations engaged'
@@ -456,7 +456,7 @@ function! GetPhpIndent()
 		let b:InPHPcode_and_script = 1
 	    endif
 
-	elseif last_line =~? '<<<\a\w*$' 
+	elseif last_line =~? '<<<\a\w*$'
 	    let b:InPHPcode = 0
 	    let b:InPHPcode_tofind = substitute( last_line, '^.*<<<\(\a\w*\)\c', '^\\s*\1;$', '')
 
@@ -470,7 +470,7 @@ function! GetPhpIndent()
 	endif
     endif " }}}
 
-    
+
     if !b:InPHPcode && !b:InPHPcode_and_script
 	return -1
     endif
@@ -512,7 +512,7 @@ function! GetPhpIndent()
 	return 0
     endif
 
-    if  cline =~ '^\s*?>' && cline !~# '<?'  
+    if  cline =~ '^\s*?>' && cline !~# '<?'
 	return 0
     endif
 
@@ -561,7 +561,7 @@ function! GetPhpIndent()
 
     let defaultORcase = '^\s*\%(default\|case\).*:'
 
-    if last_line =~ '[;}]'.endline && last_line !~# defaultORcase 
+    if last_line =~ '[;}]'.endline && last_line !~# defaultORcase
 	if ind==b:PHP_default_indenting
 	    return b:PHP_default_indenting
 	elseif b:PHP_indentinghuge && ind==b:PHP_CurrentIndentLevel && cline !~# '^\s*\%(else\|\%(case\|default\).*:\|[})];\=\)' && last_line !~# '^\s*\%(\%(}\s*\)\=else\)' && getline(GetLastRealCodeLNum(lnum - 1))=~';'.endline
@@ -592,7 +592,7 @@ function! GetPhpIndent()
 		    let ind = ind + &sw
 		endif
 
-		return ind 
+		return ind
 	    endif
 
 	    let last_line_num = last_line_num - 1
@@ -644,7 +644,7 @@ function! GetPhpIndent()
 		    break
 		endif
 
-		if one_ahead_indent == two_ahead_indent || last_line_num < 1 
+		if one_ahead_indent == two_ahead_indent || last_line_num < 1
 		    if previous_line =~# '[;}]'.endline || last_line_num < 1
 			break
 		    endif
--- a/runtime/indent/python.vim
+++ b/runtime/indent/python.vim
@@ -2,7 +2,7 @@
 " Language:		Python
 " Maintainer:		Bram Moolenaar <Bram@vim.org>
 " Original Author:	David Bustos <bustos@caltech.edu>
-" Last Change:		2006 Apr 22
+" Last Change:		2006 Apr 30
 
 " Only load this indent file when no other was loaded.
 if exists("b:did_indent")
@@ -27,7 +27,7 @@ endif
 let s:maxoff = 50	" maximum number of lines to look backwards for ()
 
 function GetPythonIndent(lnum)
- 
+
   " If this line is explicitly joined: If the previous line was also joined,
   " line it up with that one, otherwise add two 'shiftwidth'
   if getline(a:lnum - 1) =~ '\\$'
--- a/runtime/indent/readline.vim
+++ b/runtime/indent/readline.vim
@@ -1,5 +1,5 @@
 " Vim indent file
-" Language:         readline configuration file
+" Language:	    readline configuration file
 " Maintainer:       Nikolai Weibull <now@bitwi.se>
 " Latest Revision:  2006-04-19
 
--- a/runtime/indent/rst.vim
+++ b/runtime/indent/rst.vim
@@ -1,5 +1,5 @@
 " Vim indent file
-" Language:         reStructuredText Documentation Format
+" Language:	    reStructuredText Documentation Format
 " Maintainer:       Nikolai Weibull <now@bitwi.se>
 " Latest Revision:  2006-04-19
 
@@ -40,7 +40,7 @@ function GetRSTIndent()
       let ind = ind - 2
     elseif line =~ '^\s*\d\+\.\s'
       let ind = ind - matchend(substitute(line, '^\s*', '', ''),
-            \ '\d\+\.\s\+')
+	    \ '\d\+\.\s\+')
     elseif line =~ '^\s*\.\.'
       let ind = ind - 3
     else
--- a/runtime/indent/sh.vim
+++ b/runtime/indent/sh.vim
@@ -1,5 +1,5 @@
 " Vim indent file
-" Language:         Shell Script
+" Language:	    Shell Script
 " Maintainer:       Nikolai Weibull <now@bitwi.se>
 " Latest Revision:  2006-04-19
 
@@ -30,8 +30,8 @@ function GetShIndent()
   let ind = indent(lnum)
   let line = getline(lnum)
   if line =~ '^\s*\(if\|then\|do\|else\|elif\|case\|while\|until\|for\)\>'
-        \ || line =~ '^\s*\<\k\+\>\s*()\s*{'
-        \ || line =~ '^\s*{'
+	\ || line =~ '^\s*\<\k\+\>\s*()\s*{'
+	\ || line =~ '^\s*{'
     if line !~ '\(esac\|fi\|done\)\>\s*$' && line !~ '}\s*$'
       let ind = ind + &sw
     endif
@@ -41,7 +41,7 @@ function GetShIndent()
   " Retain the indentation level if line matches fin (for find)
   let line = getline(v:lnum)
   if (line =~ '^\s*\(then\|do\|else\|elif\|esac\|fi\|done\)\>' || line =~ '^\s*}')
-        \ && line !~ '^\s*fi[ln]\>'
+	\ && line !~ '^\s*fi[ln]\>'
     let ind = ind - &sw
   endif
 
--- a/runtime/indent/sql.vim
+++ b/runtime/indent/sql.vim
@@ -1,13 +1,13 @@
 " Vim indent file loader
-" Language:    SQL 
+" Language:    SQL
 " Maintainer:  David Fishburn <fishburn at ianywhere dot com>
 " Last Change: Thu Sep 15 2005 10:27:51 AM
 " Version:     1.0
 " Download:    http://vim.sourceforge.net/script.php?script_id=495
 
 " Description: Checks for a:
-"                  buffer local variable, 
-"                  global variable, 
+"                  buffer local variable,
+"                  global variable,
 "              If the above exist, it will source the type specified.
 "              If none exist, it will source the default sqlanywhere.vim file.
 
--- a/runtime/indent/sqlanywhere.vim
+++ b/runtime/indent/sqlanywhere.vim
@@ -1,5 +1,5 @@
 " Vim indent file
-" Language:    SQL 
+" Language:    SQL
 " Maintainer:  David Fishburn <fishburn at ianywhere dot com>
 " Last Change: Wed Sep 14 2005 10:21:15 PM
 " Version:     1.4
@@ -10,7 +10,7 @@
 "    Anywhere (ASA).  Test indenting was done with ASA stored procedures and
 "    fuctions and Oracle packages which contain stored procedures and
 "    functions.
-"    This has not been tested against Microsoft SQL Server or 
+"    This has not been tested against Microsoft SQL Server or
 "    Sybase Adaptive Server Enterprise (ASE) which use the Transact-SQL
 "    syntax.  That syntax does not have end tags for IF's, which makes
 "    indenting more difficult.
@@ -32,7 +32,7 @@ setlocal indentkeys-=:
 setlocal indentkeys-=0#
 setlocal indentkeys-=e
 
-" This indicates formatting should take place when one of these 
+" This indicates formatting should take place when one of these
 " expressions is used.  These expressions would normally be something
 " you would type at the BEGINNING of a line
 " SQL is generally case insensitive, so this files assumes that
@@ -40,7 +40,7 @@ setlocal indentkeys-=e
 " an indent right, since the SQLBlockStart is used for those keywords
 setlocal indentkeys+==~end,=~else,=~elseif,=~elsif,0=~when,0=)
 
-" GetSQLIndent is executed whenever one of the expressions 
+" GetSQLIndent is executed whenever one of the expressions
 " in the indentkeys is typed
 setlocal indentexpr=GetSQLIndent()
 
@@ -51,7 +51,7 @@ endif
 
 " List of all the statements that start a new block.
 " These are typically words that start a line.
-" IS is excluded, since it is difficult to determine when the 
+" IS is excluded, since it is difficult to determine when the
 " ending block is (especially for procedures/functions).
 let s:SQLBlockStart = '^\s*\%('.
             \ 'if\|else\|elseif\|elsif\|'.
@@ -114,7 +114,7 @@ function s:CheckToIgnoreRightParan( prev
             break
         endif
 
-        if matching_paran == lnum 
+        if matching_paran == lnum
             " This was not an unmatched parantenses, start the search again
             " again after this column
             " echom 'CTIRP - same line match, ignoring'
@@ -173,9 +173,9 @@ function s:GetStmtStarterIndent( keyword
     elseif a:keyword =~? 'when'
         exec 'normal! ^'
         let matching_lnum = searchpair(
-                    \ '\%(\<end\s\+\)\@<!\<case\>\|\<exception\>\|\<merge\>', 
-                    \ '', 
-                    \ '\%(\%(\<when\s\+others\>\)\|\%(\<end\s\+case\>\)\)', 
+                    \ '\%(\<end\s\+\)\@<!\<case\>\|\<exception\>\|\<merge\>',
+                    \ '',
+                    \ '\%(\%(\<when\s\+others\>\)\|\%(\<end\s\+case\>\)\)',
                     \ 'bW',
                     \ 'IsColComment(line("."), col(".")) == 1')
         exec 'normal! $'
@@ -193,10 +193,10 @@ endfunction
 " Check if the line is a comment
 function IsLineComment(lnum)
     let rc = synIDattr(
-                \ synID(a:lnum, 
+                \ synID(a:lnum,
                 \     match(getline(a:lnum), '\S')+1, 0)
-                \ , "name") 
-                \ =~? "comment" 
+                \ , "name")
+                \ =~? "comment"
 
     return rc
 endfunction
@@ -204,8 +204,8 @@ endfunction
 
 " Check if the column is a comment
 function IsColComment(lnum, cnum)
-    let rc = synIDattr(synID(a:lnum, a:cnum, 0), "name") 
-                \           =~? "comment" 
+    let rc = synIDattr(synID(a:lnum, a:cnum, 0), "name")
+                \           =~? "comment"
 
     return rc
 endfunction
@@ -214,7 +214,7 @@ endfunction
 " Check if the column is a comment
 function ModuloIndent(ind)
     let ind = a:ind
-    
+
     if ind > 0
         let modulo = ind % &shiftwidth
 
@@ -229,7 +229,7 @@ endfunction
 
 " Find correct indent of a new line based upon the previous line
 function GetSQLIndent()
-    let lnum = v:lnum 
+    let lnum = v:lnum
     let ind = indent(lnum)
 
     " If the current line is a comment, leave the indent as is
@@ -246,7 +246,7 @@ function GetSQLIndent()
             return ind
         endif
 
-        if IsLineComment(prevlnum) == 1 
+        if IsLineComment(prevlnum) == 1
             if getline(v:lnum) =~ '^\s*\*'
                 let ind = ModuloIndent(indent(prevlnum))
                 return ind + 1
@@ -269,13 +269,13 @@ function GetSQLIndent()
     "     endif
     " endwhile
 
-    " echom 'PREVIOUS INDENT: ' . indent(prevlnum) . '  LINE: ' . getline(prevlnum) 
+    " echom 'PREVIOUS INDENT: ' . indent(prevlnum) . '  LINE: ' . getline(prevlnum)
 
     " This is the line you just hit return on, it is not the current line
     " which is new and empty
     " Based on this line, we can determine how much to indent the new
     " line
-    
+
     " Get default indent (from prev. line)
     let ind      = indent(prevlnum)
     let prevline = getline(prevlnum)
@@ -300,7 +300,7 @@ function GetSQLIndent()
             " let num_unmatched_right  = s:CountUnbalancedParan( prevline, ')' )
         endif
         if num_unmatched_left > 0
-            " There is a open left paranethesis 
+            " There is a open left paranethesis
             " increase indent
             let ind = ind + ( &sw * num_unmatched_left )
         elseif num_unmatched_right > 0
@@ -331,7 +331,7 @@ function GetSQLIndent()
     let line = getline(v:lnum)
 
     if line =~? '^\s*els'
-        " Any line when you type else will automatically back up one 
+        " Any line when you type else will automatically back up one
         " ident level  (ie else, elseif, elsif)
         let ind = ind - &sw
         " echom 'curr - else - indent ' . ind
@@ -356,11 +356,11 @@ function GetSQLIndent()
         " If the line ends in a ), then reduce the indent
         " This catches items like:
         " CREATE TABLE T1(
-        "    c1 int, 
+        "    c1 int,
         "    c2 int
         "    );
         " But we do not want to unindent a line like:
-        " IF ( c1 = 1 
+        " IF ( c1 = 1
         " AND  c2 = 3 ) THEN
         " let num_unmatched_right  = s:CountUnbalancedParan( line, ')' )
         " if num_unmatched_right > 0
--- a/runtime/indent/tcl.vim
+++ b/runtime/indent/tcl.vim
@@ -36,13 +36,13 @@ function s:count_braces(lnum, count_open
   while i != -1
     if synIDattr(synID(a:lnum, i + 1, 0), 'name') !~ 'tcl\%(Comment\|String\)'
       if line[i] == '{'
-        let n_open += 1
+	let n_open += 1
       elseif line[i] == '}'
-        if n_open > 0
-          let n_open -= 1
-        else
-          let n_close += 1
-        endif
+	if n_open > 0
+	  let n_open -= 1
+	else
+	  let n_close += 1
+	endif
       endif
     endif
     let i = match(line, pattern, i + 1)
--- a/runtime/indent/xf86conf.vim
+++ b/runtime/indent/xf86conf.vim
@@ -1,5 +1,5 @@
 " Vim indent file
-" Language:         XFree86 Configuration File
+" Language:	    XFree86 Configuration File
 " Maintainer:       Nikolai Weibull <now@bitwi.se>
 " Latest Revision:  2006-04-19
 
--- a/runtime/indent/yacc.vim
+++ b/runtime/indent/yacc.vim
@@ -1,5 +1,5 @@
 " Vim indent file
-" Language:         YACC input file
+" Language:	    YACC input file
 " Maintainer:       Nikolai Weibull <now@bitwi.se>
 " Latest Revision:  2006-04-19
 
--- a/runtime/indent/zsh.vim
+++ b/runtime/indent/zsh.vim
@@ -1,5 +1,5 @@
 " Vim indent file
-" Language:         Zsh Shell Script
+" Language:	    Zsh Shell Script
 " Maintainer:       Nikolai Weibull <now@bitwi.se>
 " Latest Revision:  2006-04-19
 
--- a/runtime/keymap/greek_cp737.vim
+++ b/runtime/keymap/greek_cp737.vim
@@ -5,7 +5,7 @@
 " This keyboard layout allows all Greek symbols to be typed,
 " including accented capitals and diaeresis. It does not
 " include diaeresis and accent on the same vowel, nor
-" the greek quotes, as these were not included in the codepage. 
+" the greek quotes, as these were not included in the codepage.
 " It includes the Greek semicolon sign.
 
 "
--- a/runtime/keymap/greek_utf-8.vim
+++ b/runtime/keymap/greek_utf-8.vim
@@ -2,7 +2,7 @@
 " Maintainer: Panagiotis Louridas <louridas@acm.org>
 " Last Updated: Thu Mar 23 23:45:02 EET 2006
 
-" This file was corrected for Vim after the version adapted for Vim 6 from 
+" This file was corrected for Vim after the version adapted for Vim 6 from
 " the yudit distribution by Robert Goulding <goulding@princeton.edu>
 "
 " The monotonic part of this kmap was made by Constantine Stathopoulos
--- a/runtime/keymap/kana.vim
+++ b/runtime/keymap/kana.vim
@@ -3,10 +3,10 @@
 "
 " Maintainer: Rory McCann <ebelular at gmail dot com>
 " Modified by: Edward L. Fox <edyfox at gmail dot com>
-" Last Change: 2006-04-29 11:14:32
+" Last Change: 2006 Apr 30
 "
-" 
-"  
+"
+"
 "  Kana.kmap (Japanese Phonograms)
 "
 "  Converted from Gaspar Sinai's yudit 2.7.6
@@ -27,15 +27,15 @@
 "	Summary:
 "
 "	(1) To transliterate Japanese language, Table 1 should be used
-"          primarily.
+"	   primarily.
 "	(2) Table 2 may be used only when existing conventions such as
-"          international relationship should be respected.
+"	   international relationship should be respected.
 "	(3) Other transliteration is acceptable only when neither Table 1
 "	    nor Table 2 gives any specification of the sound in question
 "
 "	For details, refer to
 "
-"	    http://xembho.tripod.com/siryo/naikaku_kokuzi.html	    
+"	    http://xembho.tripod.com/siryo/naikaku_kokuzi.html
 "
 "  2.	The specification instructed by the Cabinet Notification is rather
 "	inadequate even for daily use.  At the present time there are thus
--- a/runtime/keymap/polish-slash.vim
+++ b/runtime/keymap/polish-slash.vim
@@ -2,7 +2,7 @@
 " Maintainer:   HS6_06 <hs6_06@o2.pl>
 " Last changed: 2005 Jan 12
 " Current version: 1.0.2
-" History: 
+" History:
 "  2005.01.12 1.0.2 keymap_name shortened, added Current version, History
 "  2005.01.10 1.0.1 un*x line ends for all files
 "  2005.01.09 1.0.0 Initial release
--- a/runtime/keymap/polish-slash_cp1250.vim
+++ b/runtime/keymap/polish-slash_cp1250.vim
@@ -4,7 +4,7 @@
 " Current version: 1.0.2
 " History: see polish-slash.vim
 
-" This keymap adds the special Polish letters 
+" This keymap adds the special Polish letters
 " to an existing Latin keyboard.
 " All chars as usual except:
 " Polish:
--- a/runtime/keymap/polish-slash_cp852.vim
+++ b/runtime/keymap/polish-slash_cp852.vim
@@ -4,7 +4,7 @@
 " Current version: 1.0.2
 " History: see polish-slash.vim
 
-" This keymap adds the special Polish letters 
+" This keymap adds the special Polish letters
 " to an existing Latin keyboard.
 " All chars as usual except:
 " Polish:
--- a/runtime/keymap/polish-slash_iso-8859-2.vim
+++ b/runtime/keymap/polish-slash_iso-8859-2.vim
@@ -4,7 +4,7 @@
 " Current version: 1.0.2
 " History: polish-slash.vim
 
-" This keymap adds the special Polish letters 
+" This keymap adds the special Polish letters
 " to an existing Latin keyboard.
 " All chars as usual except:
 " Polish:
--- a/runtime/keymap/polish-slash_utf-8.vim
+++ b/runtime/keymap/polish-slash_utf-8.vim
@@ -4,7 +4,7 @@
 " Current version: 1.0.2
 " History: see polish-slash.vim
 
-" This keymap adds the special Polish letters 
+" This keymap adds the special Polish letters
 " to an existing Latin keyboard.
 " All chars as usual except:
 " Polish:
--- a/runtime/keymap/tamil_tscii.vim
+++ b/runtime/keymap/tamil_tscii.vim
@@ -9,7 +9,7 @@
 "
 " Visit http://www.tscii.org for more information about the TSCII
 " encoding.
-" 
+"
 let b:keymap_name = "tamil_tscii"
 
 loadkeymap
--- a/runtime/lang/menu_de_de.latin1.vim
+++ b/runtime/lang/menu_de_de.latin1.vim
@@ -55,7 +55,7 @@ menutrans Find\ and\ Rep&lace\.\.\.	Such
 " XXX &E would conflict with 'Suchen\ und\ &Ersetzen', see above
 menutrans Settings\ &Window				E&instellungen\.\.\.
 menutrans &Global\ Settings				&Globale\ Einstellungen
-menutrans Startup\ &Settings                            &Starteinstellungen
+menutrans Startup\ &Settings				&Starteinstellungen
 
 menutrans Toggle\ Pattern\ &Highlight<Tab>:set\ hls!	&Hervorhebungen\ ein-\ und\ ausschalten<Tab>:set\ hls!
 menutrans Toggle\ &Ignore-case<Tab>:set\ ic!		Großschreibung\ &ignorieren\ oder\ benutzen<Tab>:set\ ic!
@@ -247,8 +247,8 @@ menutrans &Paste			&Einfügen
 menutrans &Delete			&Löschen
 menutrans Select\ Blockwise		Auswahl\ blockartig
 menutrans Select\ &Word			Auswahl\ des\ &Wortes
-menutrans Select\ &Sentence             Auswahl\ des\ Sa&tzes
-menutrans Select\ Pa&ragraph            Auswahl\ des\ Absatzes
+menutrans Select\ &Sentence		Auswahl\ des\ Sa&tzes
+menutrans Select\ Pa&ragraph		Auswahl\ des\ Absatzes
 menutrans Select\ &Line			Auswahl\ der\ &Zeile
 menutrans Select\ &Block		Auswahl\ des\ &Blocks
 menutrans Select\ &All			&Alles\ Auswählen
--- a/runtime/lang/menu_fr_fr.latin1.vim
+++ b/runtime/lang/menu_fr_fr.latin1.vim
@@ -2,7 +2,7 @@
 " Maintainer:		Adrien Beau <version.francaise@free.fr>
 " First Version:	Francois Thunus <thunus@systran.fr>
 " Last Modification:    David Blanchet <david.blanchet@free.fr>
-" Last Change:		2006 Apr 11
+" Last Change:		2006 Apr 30
 
 " Quit when menu translations have already been done.
 if exists("did_menu_trans")
@@ -152,7 +152,7 @@ menutrans Set\ language\ to\ "en_gb"		An
 menutrans Set\ language\ to\ "en_nz"		Anglais\ (en_nz)
 menutrans Set\ language\ to\ "en_us"		Anglais\ (en_us)
 
-menutrans &Find\ More\ Languages		&Trouver\ d'autres\ langues 
+menutrans &Find\ More\ Languages		&Trouver\ d'autres\ langues
 
 
 
--- a/runtime/lang/menu_pl_pl.utf-8.vim
+++ b/runtime/lang/menu_pl_pl.utf-8.vim
@@ -75,7 +75,7 @@ menutrans hebrew			hebrajski
 menutrans hebrewp			hebrajski\ p
 menutrans russian-jcuken		rosyjski-jcuken
 menutrans russian-jcukenwin		rosyjski-jcukenwin
-menutrans russian-yawerty  		rosyjski-yawerty
+menutrans russian-yawerty		rosyjski-yawerty
 
 menutrans Toggle\ Pattern\ &Highlight<Tab>:set\ hls!	Podkre¶lanie\ &wzorców<Tab>:set\ hls!
 
--- a/runtime/macmap.vim
+++ b/runtime/macmap.vim
@@ -1,5 +1,5 @@
 " System gvimrc file for Mac OS X
-" Author:  	Benji Fisher <benji@member.AMS.org>
+" Author:	Benji Fisher <benji@member.AMS.org>
 " Last Change: Thu Mar 09 09:00 AM 2006 EST
 "
 " Define Mac-standard keyboard shortcuts.
--- a/runtime/macros/editexisting.vim
+++ b/runtime/macros/editexisting.vim
@@ -1,6 +1,6 @@
-" Vim Plugin: 	Edit the file with an existing Vim if possible
+" Vim Plugin:	Edit the file with an existing Vim if possible
 " Maintainer:	Bram Moolenaar
-" Last Change:	2005 Dec 15
+" Last Change:	2006 Apr 30
 
 " This is a plugin, drop it in your (Unix) ~/.vim/plugin or (Win32)
 " $VIM/vimfiles/plugin directory.  Or make a symbolic link, so that you
@@ -35,7 +35,7 @@ func s:EditElsewhere(filename)
     if servername ==? v:servername
       continue
     endif
-   
+
     " Check if this server is editing our file.
     if remote_expr(servername, "bufloaded('" . fname_esc . "')")
       " Yes, bring it to the foreground.
--- a/runtime/syntax/2html.vim
+++ b/runtime/syntax/2html.vim
@@ -1,6 +1,6 @@
 " Vim syntax support file
 " Maintainer: Bram Moolenaar <Bram@vim.org>
-" Last Change: 2006 Apr 19
+" Last Change: 2006 Apr 30
 "	       (modified by David Ne\v{c}as (Yeti) <yeti@physics.muni.cz>)
 "	       (XHTML support by Panagiotis Issaris <takis@lumumba.luc.ac.be>)
 
@@ -111,9 +111,9 @@ function! s:HtmlFormat(text, style_name)
 
   " Replace the reserved html characters
   let formatted = substitute(substitute(substitute(substitute(substitute(formatted, '&', '\&amp;', 'g'), '<', '\&lt;', 'g'), '>', '\&gt;', 'g'), '"', '\&quot;', 'g'), "\x0c", '<hr class="PAGE-BREAK">', 'g')
-  
+
   " Replace double spaces and leading spaces
-  if ' ' != s:HtmlSpace 
+  if ' ' != s:HtmlSpace
     let formatted = substitute(formatted, '  ', s:HtmlSpace . s:HtmlSpace, 'g')
     let formatted = substitute(formatted, '^ ', s:HtmlSpace, 'g')
   endif
@@ -306,10 +306,10 @@ while s:lnum <= s:end
     let s:n = s:filler
     while s:n > 0
       if s:numblines
-        " Indent if line numbering is on
-        let s:new = repeat(s:LeadingSpace, strlen(s:end) + 1) . repeat(s:difffillchar, 3)
+	" Indent if line numbering is on
+	let s:new = repeat(s:LeadingSpace, strlen(s:end) + 1) . repeat(s:difffillchar, 3)
       else
-        let s:new = repeat(s:difffillchar, 3)
+	let s:new = repeat(s:difffillchar, 3)
       endif
 
       if s:n > 2 && s:n < s:filler && !exists("html_whole_filler")
@@ -318,8 +318,8 @@ while s:lnum <= s:end
       endif
 
       if !exists("html_no_pre")
-        " HTML line wrapping is off--go ahead and fill to the margin
-        let s:new = s:new . repeat(s:difffillchar, &columns - strlen(s:new))
+	" HTML line wrapping is off--go ahead and fill to the margin
+	let s:new = s:new . repeat(s:difffillchar, &columns - strlen(s:new))
       endif
 
       let s:new = s:HtmlFormat(s:new, "DiffDelete")
@@ -349,10 +349,10 @@ while s:lnum <= s:end
       " HTML line wrapping is off--go ahead and fill to the margin
       let s:new = s:new . repeat(s:foldfillchar, &columns - strlen(s:new))
     endif
-    
+
     let s:new = s:HtmlFormat(s:new, "Folded")
 
-    " Skip to the end of the fold  
+    " Skip to the end of the fold
     let s:lnum = foldclosedend(s:lnum)
 
   else
@@ -380,11 +380,11 @@ while s:lnum <= s:end
 	" Speed loop (it's small - that's the trick)
 	" Go along till we find a change in hlID
 	while s:col <= s:len && s:id == diff_hlID(s:lnum, s:col) | let s:col = s:col + 1 | endwhile
-        if s:len < &columns && !exists("html_no_pre")
+	if s:len < &columns && !exists("html_no_pre")
 	  " Add spaces at the end to mark the changed line.
-          let s:line = s:line . repeat(' ', &columns - s:len)
-          let s:len = &columns
-        endif
+	  let s:line = s:line . repeat(' ', &columns - s:len)
+	  let s:len = &columns
+	endif
       else
 	let s:id = synID(s:lnum, s:col, 1)
 	let s:col = s:col + 1
@@ -397,9 +397,9 @@ while s:lnum <= s:end
       let s:expandedtab = strpart(s:line, s:startcol - 1, s:col - s:startcol)
       let idx = stridx(s:expandedtab, "\t")
       while idx >= 0
-        let i = &ts - ((idx + s:startcol - 1) % &ts)
-        let s:expandedtab = substitute(s:expandedtab, '\t', repeat(' ', i), '')
-        let idx = stridx(s:expandedtab, "\t")
+	let i = &ts - ((idx + s:startcol - 1) % &ts)
+	let s:expandedtab = substitute(s:expandedtab, '\t', repeat(' ', i), '')
+	let idx = stridx(s:expandedtab, "\t")
       endwhile
 
       " Output the text with the same synID, with class set to {s:id_name}
@@ -512,7 +512,7 @@ if exists("html_use_css")
   endif
 endif
 
-if exists("use_xhtml") 
+if exists("use_xhtml")
   exe "normal! gg/<html/e\na xmlns=\"http://www.w3.org/1999/xhtml\"\e"
 endif
 
--- a/runtime/syntax/chordpro.vim
+++ b/runtime/syntax/chordpro.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:     ChordPro (v. 3.6.2)
 " Maintainer:   Niels Bo Andersen <niels@niboan.dk>
-" Last Change:	2006 Apr 20 
+" Last Change:	2006 Apr 30
 " Remark:       Requires VIM version 6.00 or greater
 
 " Quit when a syntax file was already loaded
--- a/runtime/syntax/d.vim
+++ b/runtime/syntax/d.vim
@@ -1,10 +1,10 @@
 " Vim syntax file for the D programming language (version 0.149).
 "
 " Language:	D
-" Maintainer:	Jason Mills<jmills@cs.mun.ca> 
+" Maintainer:	Jason Mills<jmills@cs.mun.ca>
 "   When emailing me, please put the word vim somewhere in the subject
 "   to ensure the email does not get marked as spam.
-" Last Change:	2006 Mar 12
+" Last Change:	2006 Apr 30
 " Version:	0.15
 "
 " Options:
--- a/runtime/syntax/eviews.vim
+++ b/runtime/syntax/eviews.vim
@@ -1,9 +1,9 @@
 " Vim syntax file
 " Language:	Eviews (http://www.eviews.com)
 " Maintainer:	Vaidotas Zemlys <zemlys@gmail.com>
-" Last Change:  2006 Jan 11
+" Last Change:  2006 Apr 30
 " Filenames:	*.prg
-" URL:	http://uosis.mif.vu.lt/~zemlys/vim-syntax/eviews.vim	
+" URL:	http://uosis.mif.vu.lt/~zemlys/vim-syntax/eviews.vim
 " For version 5.x: Clear all syntax items
 " For version 6.x: Quit when a syntax file was already loaded
 if version < 600
--- a/runtime/syntax/gretl.vim
+++ b/runtime/syntax/gretl.vim
@@ -1,9 +1,9 @@
 " Vim syntax file
-" Language:	gretl (http://gretl.sf.net) 
+" Language:	gretl (http://gretl.sf.net)
 " Maintainer:	Vaidotas Zemlys <zemlys@gmail.com>
-" Last Change:  2006 Jan 6
+" Last Change:  2006 Apr 30
 " Filenames:	*.inp *.gretl
-" URL:	http://uosis.mif.vu.lt/~zemlys/vim-syntax/gretl.vim	
+" URL:	http://uosis.mif.vu.lt/~zemlys/vim-syntax/gretl.vim
 " For version 5.x: Clear all syntax items
 " For version 6.x: Quit when a syntax file was already loaded
 
--- a/runtime/syntax/java.vim
+++ b/runtime/syntax/java.vim
@@ -2,7 +2,7 @@
 " Language:     Java
 " Maintainer:   Claudio Fleiner <claudio@fleiner.com>
 " URL:		http://www.fleiner.com/vim/syntax/java.vim
-" Last Change:  2006 Jan 15
+" Last Change:  2006 Apr 30
 
 " Please check :help java.vim for comments on some of the options available.
 
@@ -37,7 +37,7 @@ JavaHiLink javaError2 javaError
 
 " keyword definitions
 syn keyword javaExternal	native package
-syn match javaExternal          "\<import\>\(\s\+static\>\)\?"
+syn match javaExternal		"\<import\>\(\s\+static\>\)\?"
 syn keyword javaError		goto const
 syn keyword javaConditional	if else switch
 syn keyword javaRepeat		while for do
@@ -62,13 +62,13 @@ syn match   javaAnnotation      "@[_$a-z
 syn match   javaClassDecl       "@interface\>"
 syn keyword javaBranch		break continue nextgroup=javaUserLabelRef skipwhite
 syn match   javaUserLabelRef	"\k\+" contained
-syn match   javaVarArg          "\.\.\."
+syn match   javaVarArg		"\.\.\."
 syn keyword javaScopeDecl	public protected private abstract
 
 if exists("java_highlight_java_lang_ids")
   let java_highlight_all=1
 endif
-if exists("java_highlight_all")  || exists("java_highlight_java")  || exists("java_highlight_java_lang") 
+if exists("java_highlight_all")  || exists("java_highlight_java")  || exists("java_highlight_java_lang")
   " java.lang.*
   syn match javaLangClass "\<System\>"
   syn keyword javaR_JavaLang NegativeArraySizeException ArrayStoreException IllegalStateException RuntimeException IndexOutOfBoundsException UnsupportedOperationException ArrayIndexOutOfBoundsException ArithmeticException ClassCastException EnumConstantNotPresentException StringIndexOutOfBoundsException IllegalArgumentException IllegalMonitorStateException IllegalThreadStateException NumberFormatException NullPointerException TypeNotPresentException SecurityException
--- a/runtime/syntax/mush.vim
+++ b/runtime/syntax/mush.vim
@@ -1,5 +1,5 @@
 " MUSHcode syntax file
-" Maintainer: Rick Bird <nveid@nveid.com>	
+" Maintainer: Rick Bird <nveid@nveid.com>
 " Based on vim Syntax file by: Bek Oberin <gossamer@tertius.net.au>
 " Last Updated: Fri Nov 04 20:28:15 2005
 "
--- a/runtime/syntax/r.vim
+++ b/runtime/syntax/r.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:	R (GNU S)
 " Maintainer:	Vaidotas Zemlys <zemlys@gmail.com>
-" Last Change:  2006 January 12 
+" Last Change:  2006 Apr 30
 " Filenames:	*.R *.Rout *.r *.Rhistory *.Rt *.Rout.save *.Rout.fail
 " URL:		http://uosis.mif.vu.lt/~zemlys/vim-syntax/r.vim
 
--- a/runtime/syntax/sql.vim
+++ b/runtime/syntax/sql.vim
@@ -5,8 +5,8 @@
 " Version:     1.0
 
 " Description: Checks for a:
-"                  buffer local variable, 
-"                  global variable, 
+"                  buffer local variable,
+"                  global variable,
 "              If the above exist, it will source the type specified.
 "              If none exist, it will source the default sql.vim file.
 "
--- a/runtime/syntax/synload.vim
+++ b/runtime/syntax/synload.vim
@@ -1,6 +1,6 @@
 " Vim syntax support file
 " Maintainer:	Bram Moolenaar <Bram@vim.org>
-" Last Change:	2006 Mar 18
+" Last Change:	2006 Apr 30
 
 " This file sets up for syntax highlighting.
 " It is loaded from "syntax.vim" and "manual.vim".
@@ -59,10 +59,10 @@ endfun
 
 
 " Handle adding doxygen to other languages (C, C++, IDL)
-au Syntax cpp,c,idl 
+au Syntax cpp,c,idl
 	\ if (exists('b:load_doxygen_syntax') && b:load_doxygen_syntax)
 	\	|| (exists('g:load_doxygen_syntax') && g:load_doxygen_syntax)
-	\   | runtime! syntax/doxygen.vim 
+	\   | runtime! syntax/doxygen.vim
 	\ | endif
 
 
--- a/runtime/syntax/wsml.vim
+++ b/runtime/syntax/wsml.vim
@@ -2,7 +2,7 @@
 " Language:     WSML
 " Maintainer:   Thomas Haselwanter <thomas.haselwanter@deri.org>
 " URL:		none
-" Last Change:  2006 Mar 13
+" Last Change:  2006 Apr 30
 
 " Quit when a syntax file was already loaded
 if version < 600
@@ -13,9 +13,9 @@ endif
 
 " WSML
 syn keyword wsmlHeader		wsmlVariant
-syn keyword wsmlNamespace	namespace 
-syn keyword wsmlTopLevel	concept instance relationInstance ofType usesMediator usesService relation sharedVariables importsOntology 
-syn keyword wsmlOntology	hasValue memberOf ofType impliesType subConceptOf 
+syn keyword wsmlNamespace	namespace
+syn keyword wsmlTopLevel	concept instance relationInstance ofType usesMediator usesService relation sharedVariables importsOntology
+syn keyword wsmlOntology	hasValue memberOf ofType impliesType subConceptOf
 syn keyword wsmlAxiom		axiom definedBy
 syn keyword wsmlService		assumption effect postcondition precondition capability interface
 syn keyword wsmlTopLevel	ooMediator wwMediator wgMediator ggMediator
--- a/runtime/tutor/tutor.pl
+++ b/runtime/tutor/tutor.pl
@@ -8,8 +8,8 @@
      u¿ywaæ Vima jako edytora ogólnego przeznaczenia.
 
      Czas potrzebny na ukoñczenie tutoriala to 25 do 30 minut i zale¿y
-     od tego jak wiele czasu spêdzisz na eksperymentowaniu.  
-	 
+     od tego jak wiele czasu spêdzisz na eksperymentowaniu.
+
 	 UWAGA:
 	 Polecenia wykonywane w czasie lekcji zmodyfikuj± tekst. Zrób
 	 wcze¶niej kopiê tego pliku do æwiczeñ (je¶li zacz±³e¶ komend±
@@ -199,7 +199,7 @@ Teraz mo¿emy kontynuowaæ i przej¶æ do Lekcji 2.
 
   4. Wpisz   dw   by usun±æ wyraz.
 
-  UWAGA: Litera  d  pojawi siê na dole ekranu. Vim czeka na wpisanie  w . 
+  UWAGA: Litera  d  pojawi siê na dole ekranu. Vim czeka na wpisanie  w .
 	 Je¶li zobaczysz inny znak oznacza to, ¿e wpisa³e¶ co¶ ¼le, wci¶nij
 	 <ESC> i zacznij od pocz±tku.
 
@@ -359,7 +359,7 @@ UWAGA:  Mno¿nik pomiêdzy operatorem  d  i ruchem dzia³a podobnie do ruchu bez
   gdzie:
    operator  - to co trzeba zrobiæ (np.  d  dla usuwania)
    [liczba]  - opcjonalne, ile razy powtórzyæ ruch
-   ruch      - przenosi nad tekstem do operowania, takim jak  w (wyraz), 
+   ruch      - przenosi nad tekstem do operowania, takim jak  w (wyraz),
 	       $  (do koñca linii), etc.
 
   6. By przej¶æ do pocz±tku linii u¿yj zera:  0
@@ -492,7 +492,7 @@ UWAGA:  Mo¿esz u¿ywaæ <BS> aby poprawiaæ b³êdy w czasie pisania.
 
   UWAGA: Przeczytaj ca³± lekcjê zanim wykonasz jakie¶ polecenia!!!
 
-  1. Przytrzymaj klawisz CTRL i wci¶nij  g . U¿ywamy notacji CTRL-G. 
+  1. Przytrzymaj klawisz CTRL i wci¶nij  g . U¿ywamy notacji CTRL-G.
      Na dole strony pojawi siê pasek statusu z nazw± pliku i pozycj± w pliku.
      Zapamiêtaj numer linii dla potrzeb kroku 3.
 
--- a/runtime/tutor/tutor.pl.cp1250
+++ b/runtime/tutor/tutor.pl.cp1250
@@ -8,8 +8,8 @@
      u¿ywaæ Vima jako edytora ogólnego przeznaczenia.
 
      Czas potrzebny na ukoñczenie tutoriala to 25 do 30 minut i zale¿y
-     od tego jak wiele czasu spêdzisz na eksperymentowaniu.  
-	 
+     od tego jak wiele czasu spêdzisz na eksperymentowaniu.
+
 	 UWAGA:
 	 Polecenia wykonywane w czasie lekcji zmodyfikuj¹ tekst. Zrób
 	 wczeœniej kopiê tego pliku do æwiczeñ (jeœli zacz¹³eœ komend¹
@@ -199,7 +199,7 @@ Teraz mo¿emy kontynuowaæ i przejœæ do Lekcji 2.
 
   4. Wpisz   dw   by usun¹æ wyraz.
 
-  UWAGA: Litera  d  pojawi siê na dole ekranu. Vim czeka na wpisanie  w . 
+  UWAGA: Litera  d  pojawi siê na dole ekranu. Vim czeka na wpisanie  w .
 	 Jeœli zobaczysz inny znak oznacza to, ¿e wpisa³eœ coœ Ÿle, wciœnij
 	 <ESC> i zacznij od pocz¹tku.
 
@@ -359,7 +359,7 @@ UWAGA:  Mno¿nik pomiêdzy operatorem  d  i ruchem dzia³a podobnie do ruchu bez
   gdzie:
    operator  - to co trzeba zrobiæ (np.  d  dla usuwania)
    [liczba]  - opcjonalne, ile razy powtórzyæ ruch
-   ruch      - przenosi nad tekstem do operowania, takim jak  w (wyraz), 
+   ruch      - przenosi nad tekstem do operowania, takim jak  w (wyraz),
 	       $  (do koñca linii), etc.
 
   6. By przejœæ do pocz¹tku linii u¿yj zera:  0
@@ -492,7 +492,7 @@ UWAGA:  Mo¿esz u¿ywaæ <BS> aby poprawiaæ b³êdy w czasie pisania.
 
   UWAGA: Przeczytaj ca³¹ lekcjê zanim wykonasz jakieœ polecenia!!!
 
-  1. Przytrzymaj klawisz CTRL i wciœnij  g . U¿ywamy notacji CTRL-G. 
+  1. Przytrzymaj klawisz CTRL i wciœnij  g . U¿ywamy notacji CTRL-G.
      Na dole strony pojawi siê pasek statusu z nazw¹ pliku i pozycj¹ w pliku.
      Zapamiêtaj numer linii dla potrzeb kroku 3.
 
--- a/runtime/tutor/tutor.pl.utf-8
+++ b/runtime/tutor/tutor.pl.utf-8
@@ -8,8 +8,8 @@
      używać Vima jako edytora ogólnego przeznaczenia.
 
      Czas potrzebny na ukończenie tutoriala to 25 do 30 minut i zależy
-     od tego jak wiele czasu spędzisz na eksperymentowaniu.  
-	 
+     od tego jak wiele czasu spędzisz na eksperymentowaniu.
+
 	 UWAGA:
 	 Polecenia wykonywane w czasie lekcji zmodyfikują tekst. Zrób
 	 wcześniej kopię tego pliku do ćwiczeń (jeśli zacząłeś komendą
@@ -199,7 +199,7 @@ Teraz możemy kontynuować i przejść do Lekcji 2.
 
   4. Wpisz   dw   by usunąć wyraz.
 
-  UWAGA: Litera  d  pojawi siÄ™ na dole ekranu. Vim czeka na wpisanie  w . 
+  UWAGA: Litera  d  pojawi siÄ™ na dole ekranu. Vim czeka na wpisanie  w .
 	 Jeśli zobaczysz inny znak oznacza to, że wpisałeś coś źle, wciśnij
 	 <ESC> i zacznij od poczÄ…tku.
 
@@ -359,7 +359,7 @@ UWAGA:  Mnożnik pomiędzy operatorem  d  i ruchem działa podobnie do ruchu bez
   gdzie:
    operator  - to co trzeba zrobić (np.  d  dla usuwania)
    [liczba]  - opcjonalne, ile razy powtórzyć ruch
-   ruch      - przenosi nad tekstem do operowania, takim jak  w (wyraz), 
+   ruch      - przenosi nad tekstem do operowania, takim jak  w (wyraz),
 	       $  (do końca linii), etc.
 
   6. By przejść do początku linii użyj zera:  0
@@ -492,7 +492,7 @@ UWAGA:  Możesz używać <BS> aby poprawiać błędy w czasie pisania.
 
   UWAGA: Przeczytaj całą lekcję zanim wykonasz jakieś polecenia!!!
 
-  1. Przytrzymaj klawisz CTRL i wciśnij  g . Używamy notacji CTRL-G. 
+  1. Przytrzymaj klawisz CTRL i wciśnij  g . Używamy notacji CTRL-G.
      Na dole strony pojawi siÄ™ pasek statusu z nazwÄ… pliku i pozycjÄ… w pliku.
      Zapamiętaj numer linii dla potrzeb kroku 3.
 
--- a/runtime/tutor/tutor.sk
+++ b/runtime/tutor/tutor.sk
@@ -60,7 +60,7 @@ Poznámka: Kurzorové klávesy sú tie¾ funkèné. Ale pou¾ívaním hjkl sa bude¹
      spe» do tejto výuky. To mô¾e by»:	vimtutor <ENTER>
 
   4. Ak si si tieto kroky spoµahlivo zapamätal, vykonaj kroky 1 a¾ 3, pre
-     ukonèenie a znovu spustenie editora. 
+     ukonèenie a znovu spustenie editora.
 
 POZNÁMKA: :q! <ENTER> neulo¾í zmeny, ktoré si vykonal. O niekoµko lekcií
           sa nauèí¹ ako ulo¾i» zmeny do súboru
@@ -125,7 +125,7 @@ POZNÁMKA: Neskú¹aj si zapamäta» obsah tejto výuky, ale sa uè pou¾ívaním.
 
   3. Po pridaní textu stlaè klávesu <ESC> pre návrat do Normálneho módu.
 
-  4. Presuò kurozr na druhý riadok oznaèený ---> a zopakuj 
+  4. Presuò kurozr na druhý riadok oznaèený ---> a zopakuj
      kroky 2 a 3 kým nieje veta správna.
 
 ---> Tu je nejaký text chýbajúci o
@@ -147,14 +147,14 @@ POZNÁMKA: Neskú¹aj si zapamäta» obsah tejto výuky, ale sa uè pou¾ívaním.
 1. Opusti túto výuku, ako si to urobil v lekcii 1.2:  :q!
 
 2. Do príkazového riadku napí¹ príkaz:  vim tutor <ENTER>
-   'vim' je príkaz, ktorý spustí editor Vim, 'tutor' je meno súboru, 
+   'vim' je príkaz, ktorý spustí editor Vim, 'tutor' je meno súboru,
    ktorý chce¹ editova». Pou¾i taký súbor, ktorý mô¾e¹ meni».
 
 3. Vlo¾ a zma¾ text tak, ako si sa nauèil v predo¹lých lekciach.
 
 4. Ulo¾ súbor so zmenami a opusti Vim príkazom:  :wq  <ENTER>
 
-5. Re¹tartuj vimtutor a presuò sa dole na nasledujúce zhrnutie. 
+5. Re¹tartuj vimtutor a presuò sa dole na nasledujúce zhrnutie.
 
 6. Urob tak po preèítaní predo¹lých krokov a porozumeniu im.
 
@@ -198,8 +198,8 @@ 3. Presuò kurzor na zaèiatok slova, ktoré je potrebné zmaza».
 4. Napí¹  dw  aby slovo zmizlo.
 
 POZNÁMKA: Písmeno d sa zobrazí na poslednom riadku obrazovky keï ho
-	        napí¹e¹. Vim na teba poèká, aby si mohol napísa» 
-          písmeno w. Ak vidí¹ nieèo iné ako  d , tak si napísal 
+	        napí¹e¹. Vim na teba poèká, aby si mohol napísa»
+          písmeno w. Ak vidí¹ nieèo iné ako  d , tak si napísal
           nesprávny znak; stlaè  <ESC>  a zaèni znova.
 
 ---> Tu je niekoµko slov zábava, ktoré nie patria list do tejto vety.
@@ -231,7 +231,7 @@ 5. Prejdi na lekciu 2.3 pre pochopenie toho èo sa stalo.
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 		     Lekcia 2.3: OPERÁTORY A POHYBY
 
-  Veµa príkazov, ktoré menia text sú odvodené od operátorov a pohybov. 
+  Veµa príkazov, ktoré menia text sú odvodené od operátorov a pohybov.
   Formát pre príkaz mazania klávesou  d  je nasledovný:
 
     d   pohyb
@@ -242,13 +242,13 @@ 5. Prejdi na lekciu 2.3 pre pochopenie toho èo sa stalo.
 
   Krátky list pohybov:
     w - do zaèiatku ïal¹ieho slova, okrem jeho prvého písmena.
-    e - do konca teraj¹ieho slova, vrátane posledného znaku. 
+    e - do konca teraj¹ieho slova, vrátane posledného znaku.
     $ - do konca riadku, vrátane posledného znaku
 
   Tak¾e napísaním  de  sa zma¾e v¹etko od kurzora do konca slova.
 
-POZNÁMKA: Stlaèením iba pohybu v normálnom móde bez operátora 
-          sa presunie kurzor tak ako je to ¹pecivikované. 
+POZNÁMKA: Stlaèením iba pohybu v normálnom móde bez operátora
+          sa presunie kurzor tak ako je to ¹pecivikované.
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 		Lekcia 2.4: Pou¾itie viacnásobného pohybu
@@ -258,13 +258,13 @@ POZNÁMKA: Stlaèením iba pohybu v normálnom móde bez operátora
 
   1. Presuò kurozr ni¾¹ie na zaèiatok riadku oznaèeného --->.
 
-  2. Napí¹  2w  a kurozr sa presunie o dve slová vpred. 
+  2. Napí¹  2w  a kurozr sa presunie o dve slová vpred.
 
-  3. Napí¹  3e  a kurozr sa presunie vpred na koniec tretieho slova. 
+  3. Napí¹  3e  a kurozr sa presunie vpred na koniec tretieho slova.
 
   4. Napí¹  0  (nula) a kurozr sa presunie na zaèiatok riadku.
 
-  5. Zopakuj kroky 2 a 3 s rôznymi èíslami. 
+  5. Zopakuj kroky 2 a 3 s rôznymi èíslami.
 
 ---> Toto je riadok so slovami po kotrých sa mô¾ete pohybova».
 
@@ -277,11 +277,11 @@ POZNÁMKA: Stlaèením iba pohybu v normálnom móde bez operátora
 
     ** Napísanie èísla spolu s operátorom ho zopakuje zadaný poèet krát **
 
-  V kombinácii operátorov mazania a pohybu spomínaného vy¹¹ie vlo¾ poèet 
+  V kombinácii operátorov mazania a pohybu spomínaného vy¹¹ie vlo¾ poèet
   pred pohyb pre docielenie hromadného mazania:
     d   èíslo   pohyb
 
-  1. Presuò kurzor na prvé slovo písané VE¥KÝMI PÍSMENAMI 
+  1. Presuò kurzor na prvé slovo písané VE¥KÝMI PÍSMENAMI
      v riadku oznaèenom --->.
 
   2. Napí¹  2dw  a zma¾e¹ dve slová písané VE¥KÝMI PÍSMENAMI
@@ -289,9 +289,9 @@ POZNÁMKA: Stlaèením iba pohybu v normálnom móde bez operátora
   3. Zopakuj kroky 1 a 2 s pou¾itím rôzneho èísla tak aby si zmazal slová
      písané veµkými písmenami jedným príkazom.
 
----> Tento ABC DE riadok FGHI JK LMN OP so slovamI je Q RS TUV vycisteny. 
+---> Tento ABC DE riadok FGHI JK LMN OP so slovamI je Q RS TUV vycisteny.
 
-POZNÁMKA: Èíslo medzi operátorom  d  a pohybom funguje podobne ako pri 
+POZNÁMKA: Èíslo medzi operátorom  d  a pohybom funguje podobne ako pri
           pou¾ití s pohybom bez operátora.
 
 
@@ -359,7 +359,7 @@ 7. Teraz napí¹ CTRL-R (dr¾ klávesu CTRL stlaèenú kým stláèa¹ R) niekoµko
      kde:
        operátor - èo treba robi», napríklad  d  pre zmazanie
        [èíslo] - je voliteµný poèet pre opakovanie pohybu
-       pohyb - pohyb po texte vzhµadom na operátor, napríklad w (slovo), 
+       pohyb - pohyb po texte vzhµadom na operátor, napríklad w (slovo),
 		$ (do konca riadku), atï.
 
   6. Pre pohyb na zaèiatok riadku pou¾i nulu:  0
@@ -472,13 +472,13 @@ POZNÁMKA: Mô¾e¹ pou¾i» klávesu backspace na úpravu zmien poèas písania.
   2. Pre naradenie znaku na mieste kurzora, napí¹  r  a potom znak, ktorý
      nahradí pôvodný znak.
 
-  3. Príkaz na upravenie umo¾òuje zmeni» od kurzora a¾ po miesto, ktoré 
+  3. Príkaz na upravenie umo¾òuje zmeni» od kurzora a¾ po miesto, ktoré
      urèuje pohyb.  napr. Napí¹  ce  èím zmní¹ text od pozície
      kurzora do konca slova, c$  zmení text do konca riadku.
 
   4. Formát pre nahradenie je:
 
-	    c    [èíslo]    pohyb 
+	    c    [èíslo]    pohyb
 
 
 Teraz prejdi na nalsedujúcu lekciu.
@@ -494,8 +494,8 @@ Teraz prejdi na nalsedujúcu lekciu.
 
   Poznámka: Preèítaj si celú túto lekciu skôr ako zaène¹ vykonáva» kroky!!
 
-  1. Dr¾ stlaèenú klávesu Ctrl a stlaè  g . Toto nazývame CTRL-G. 
-     Na spodu obrazovky sa zobrazí správa s názvom súboru a pozíciou 
+  1. Dr¾ stlaèenú klávesu Ctrl a stlaè  g . Toto nazývame CTRL-G.
+     Na spodu obrazovky sa zobrazí správa s názvom súboru a pozíciou
      v súbore. Zapamätajsi si èíslo riadku pre pou¾itie v kroku 3.
 
   2. Stlaè  G  èím sa dostane¹ na spodok súboru.
@@ -526,8 +526,8 @@ Teraz prejdi na nalsedujúcu lekciu.
   4. Ak chce¹ vyhµada» re»azec v spätnom smere, pou¾í príkaz  ?  miesto
      príkazu /.
 
-  5. Pre návrat na miesto z ktorého si pri¹iel stlaè CTRL-O (dr¾ stlaèenú 
-     klávesu Ctrl poèas stlaèenia klávesy o). Zopakuj pre ïal¹í návrat 
+  5. Pre návrat na miesto z ktorého si pri¹iel stlaè CTRL-O (dr¾ stlaèenú
+     klávesu Ctrl poèas stlaèenia klávesy o). Zopakuj pre ïal¹í návrat
      spä». CTRL-I ide vpred.
 
 POZNÁMKA: "errroor" nieje spôsob hláskovania error; errroor je error.
@@ -590,7 +590,7 @@ Poznámka: Toto je veµmi výhodné pou¾í» pri ladení programu s chýbajúcimi
 
 
   1. CTRL-g    vypí¹e tvoju pozíciu v súbore a status súboru.
-            G  »a premiestni na koniec riadku. 
+            G  »a premiestni na koniec riadku.
      èíslo  G  »a premiestni na riadok s èíslom.
            gg  »a presunie na prvý riadok
 
@@ -668,15 +668,15 @@ Poznámka: ¾e ak ukonèí¹ prácu s editorom Vim a znovu ho spustí¹ príkazom
 
   3. Stlaè klávesu  : . V spodnej èasti okna sa objaví  :'<,'>.
 
-  4. Napí¹ w TEST  , kde TEST je meno súboru, ktorý zatial neexistuje. 
+  4. Napí¹ w TEST  , kde TEST je meno súboru, ktorý zatial neexistuje.
      Skontroluj, e vidí¹  :'<,'>w TEST  predtým ne¾ stlaèí¹ Enter.
 
   5. Vim zapí¹e oznaèené riadky do súboru TEST. Pou¾i :!dir  alebo  !ls
      pre overenie. Zatial ho e¹te nema¾! Pou¾ijeme ho v ïal¹ej lekcii.
 
-POZNÁMKA: Stlaèením klávesy  v  sa spustí vizuálne oznaèovanie. 
-          Mô¾e¹ pohybova» kurzorom pre upresnenie vyznaèeného textu. 
-          Potom mô¾e¹ pou¾i» operátor pre vykonanie nejakej akcie 
+POZNÁMKA: Stlaèením klávesy  v  sa spustí vizuálne oznaèovanie.
+          Mô¾e¹ pohybova» kurzorom pre upresnenie vyznaèeného textu.
+          Potom mô¾e¹ pou¾i» operátor pre vykonanie nejakej akcie
           s textom. Napríklad  d  zma¾e vyznaèený text.
 
 
@@ -686,7 +686,7 @@ POZNÁMKA: Stlaèením klávesy  v  sa spustí vizuálne oznaèovanie.
 
 	** Pre vlo¾enie obsahu súboru, napí¹   :r FILENAME **
 
-  1. Premiestni kurzor nad tento riadok. 
+  1. Premiestni kurzor nad tento riadok.
 
 POZNÁMKA: Po vykonaní kroku 2 uvidí¹ text z lekcie 5.3. Potom sa presuò
           dole, aby si videl túto lekciu.
@@ -710,8 +710,8 @@ POZNÁMKA: Mô¾e¹ tie¾ naèíta» výstup vonkaj¹ieho príkazu. Napríklad :r !ls
 	 :!del FILENAME    :!rm FILENAME    -  odstráni súbor FILENAME
 
   2.  :w FILENAME  ulo¾í aktuálny súbor na disk pod menom FILENAME.
- 
-  3.  v  pohyb  :w FILENAME  ulo¾í vizuálne oznaèené riadky do 
+
+  3.  v  pohyb  :w FILENAME  ulo¾í vizuálne oznaèené riadky do
       súboru FILENAME.
 
   4.  :r FILENAME  vyberie z disku súbor FILENAME a vlo¾í ho do aktuálneho
@@ -738,8 +738,8 @@ POZNÁMKA: Mô¾e¹ tie¾ naèíta» výstup vonkaj¹ieho príkazu. Napríklad :r !ls
 ---> Po napísaní  o  sa kurzor premiestní na vlo¾ený riadok do vkladacieho
      módu.
 
-  4. Pre otvorenie riadku nad kurzorom, jednotucho napí¹ veµké  O , 
-     namiesto malého  o. Vyskú¹aj si to na riadku dole. 
+  4. Pre otvorenie riadku nad kurzorom, jednotucho napí¹ veµké  O ,
+     namiesto malého  o. Vyskú¹aj si to na riadku dole.
 
 ---> Vlo¾ riadok nad týmto napísaním O, keï kurzor je na tomto riadku.
 
@@ -753,11 +753,11 @@ POZNÁMKA: Mô¾e¹ tie¾ naèíta» výstup vonkaj¹ieho príkazu. Napríklad :r !ls
 
   1. Presuò kurzor ni¾¹ie na koniec prvého riadku oznaèeného znaèkou --->
 
-  2. Stlaè klávesu  e  dokiaµ kurozr nieje na konci riadku.   
+  2. Stlaè klávesu  e  dokiaµ kurozr nieje na konci riadku.
 
   3. Napí¹  a  (malé písmeno) pre pridanie textu ZA kurzorom.
 
-  4. Dokonèí slovo tak ako je to v druhom riadku. Stla¹ <ESC> pre 
+  4. Dokonèí slovo tak ako je to v druhom riadku. Stla¹ <ESC> pre
      opustenie vkladacieho módu.
 
   5. Pou¾i  e  na presun na ïal¹ie nedokonèené slovo a zopakuj kroky 3 a 4.
@@ -765,8 +765,8 @@ POZNÁMKA: Mô¾e¹ tie¾ naèíta» výstup vonkaj¹ieho príkazu. Napríklad :r !ls
 ---> Tento ri ti dovoµuje nácv priávan testu na koniec riadku.
 ---> Tento riadok ti dovoµuje nácvik pridávania textu na koniec riadku.
 
-POZNÁMKA: a, i, A ¹tartujú rovnaký vkladací mód, jediný rozidel je, kde 
-          sa znaky vkladajú. 
+POZNÁMKA: a, i, A ¹tartujú rovnaký vkladací mód, jediný rozidel je, kde
+          sa znaky vkladajú.
 
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -778,19 +778,19 @@ POZNÁMKA: a, i, A ¹tartujú rovnaký vkladací mód, jediný rozidel je, kde
   1. Presuò kurzor ni¾¹ie na prvý riadok oznaèený znaèkou --->. Premiestni
      kurzor na zaèiatok prvého výskytu  xxx.
 
-  2. Teraz napí¹  R  a  napí¹  èíslo uvedené v druhom riadku, tak¾e 
+  2. Teraz napí¹  R  a  napí¹  èíslo uvedené v druhom riadku, tak¾e
      sa ním nahradí pôvodné xxx.
 
-  3. Stlaè <ESC> pre opustenie nahradzovacieho módu. Poznámka, ¾e zvy¹ok 
-     riadku zostane nezmenený. 
+  3. Stlaè <ESC> pre opustenie nahradzovacieho módu. Poznámka, ¾e zvy¹ok
+     riadku zostane nezmenený.
 
   4. Zopakuj tieto kroky pre nahradenie zvy¹ných xxx.
 
 ---> Pridaním 123 ku xxx dostane¹ xxx.
 ---> Pridaním 123 ku 456 dostane¹ 579.
 
-POZNÁMKA:  Nahradzovací mód je ako vkladací mód, ale ka¾dý napísaný znak 
-           zma¾e existujúci znak. 
+POZNÁMKA:  Nahradzovací mód je ako vkladací mód, ale ka¾dý napísaný znak
+           zma¾e existujúci znak.
 
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -809,14 +809,14 @@ POZNÁMKA:  Nahradzovací mód je ako vkladací mód, ale ka¾dý napísaný znak
 
   5. Napí¹  p  pre vlo¾nie (paste) textu. Potom napí¹:  a druha <ESC>.
 
-  6. Pou¾i vizuálny mód pre oznaèenie "polo¾ka.", vystrihni to 
-     pou¾itím  y, presuò sa na koniec nasledujúceho riadku pou¾itím  j$ 
+  6. Pou¾i vizuálny mód pre oznaèenie "polo¾ka.", vystrihni to
+     pou¾itím  y, presuò sa na koniec nasledujúceho riadku pou¾itím  j$
      a vlo¾ sem text pou¾itím  p.
 
 ---> a) toto je prvá polo¾ka
 ---> b)
 
-POZNÁMKA: Mô¾e¹ pou¾i» tie¾  y  ako operátor; yw  vystrihne jedno slovo. 
+POZNÁMKA: Mô¾e¹ pou¾i» tie¾  y  ako operátor; yw  vystrihne jedno slovo.
 
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -843,11 +843,11 @@ POZNÁMKA: Mô¾e¹ pou¾i» tie¾  y  ako operátor; yw  vystrihne jedno slovo.
   5. Teraz spusti vyhµadávací príkaz znovu, a pozri èo sa stalo:
      /ignore <ENTER>
 
-  6. Pre opetovné zapnutie rozly¹ovania veµkých a malých písmen 
+  6. Pre opetovné zapnutie rozly¹ovania veµkých a malých písmen
      napí¹:  :set noic
 
 POZNÁMKA: Na odstránenie zvýraznenia výrazov napí¹:  :nohlsearch
-POZNÁMKA: Ak chce¹ nerozly¹ova» veµkos» písmen len pre jedno 
+POZNÁMKA: Ak chce¹ nerozly¹ova» veµkos» písmen len pre jedno
           pou¾itie vyhµadávacieho príkazu, pou¾i \c:  /ignore\c <ENTER>
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -867,9 +867,9 @@ POZNÁMKA: Ak chce¹ nerozly¹ova» veµkos» písmen len pre jedno
   5. Napísanie veµkého  R  prepne do nahradzovacieho módu, kým nieje
      stlaèené <ESC>.
 
-  6. Napísanie ":set xxx" nastaví mo¾nos» "xxx". Niektoré nastavenia sú: 
-     'ic' 'ignorecase' ignoruje veµké a malé písmená poèas vyhµadávania. 
-     'is' 'incsearch' zobrazuje èiastoèné re»azce vyhµadávaného re»azca. 
+  6. Napísanie ":set xxx" nastaví mo¾nos» "xxx". Niektoré nastavenia sú:
+     'ic' 'ignorecase' ignoruje veµké a malé písmená poèas vyhµadávania.
+     'is' 'incsearch' zobrazuje èiastoèné re»azce vyhµadávaného re»azca.
      'hls' 'hlsearch' vyznaèí v¹etky vyhµadávané re»azce.
       Mô¾e¹ pou¾i» hociktorý z dlhých a krátkych názvov mo¾ností.
 
@@ -893,8 +893,8 @@ POZNÁMKA: Ak chce¹ nerozly¹ova» veµkos» písmen len pre jedno
 	- stlaè klávesu <F1> (ak nejakú má¹)
 	- napí¹  :help <ENTER>
 
-  Èítaj text v okne nápovedy pre získanie predstavy ako nápoveda funguje. 
-  Napí¹   CTRL-W CTRL-W  pre skok z jedného okna do druhého. 
+  Èítaj text v okne nápovedy pre získanie predstavy ako nápoveda funguje.
+  Napí¹   CTRL-W CTRL-W  pre skok z jedného okna do druhého.
   Napí¹    :q <ENTER>    èím zatvorí¹ okno nápovedy.
 
   Mô¾e¹ nájs» help ku hociakej téme pridaním argumentu ku príkazu ":help".
@@ -945,12 +945,12 @@ POZNÁMKA: Ak chce¹ nerozly¹ova» veµkos» písmen len pre jedno
 
   5. Stlaè <TAB> a Vim dokonèí meno príkazu na ":edit".
 
-  6. Teraz pridaj medzerník a zaèiatok mena existujúceho súboru: 
+  6. Teraz pridaj medzerník a zaèiatok mena existujúceho súboru:
      :edit FIL
 
   7. Stlaè <TAB>. Vim dokonèí meno (ak je jedineèné).
 
-POZNÁMKA: Dokonèovanie funguje pre veµa príkazov. Vyskú¹aj stlaèenie 
+POZNÁMKA: Dokonèovanie funguje pre veµa príkazov. Vyskú¹aj stlaèenie
           CTRL-D a <TAB>. ©peciálne je to u¾itoèné pre príkaz  :help.
 
 
@@ -960,16 +960,16 @@ POZNÁMKA: Dokonèovanie funguje pre veµa príkazov. Vyskú¹aj stlaèenie
 
   1. Napí¹  :help  alebo stlaè <F1> alebo <Help> pre otvorenie okna nápovedy.
 
-  2. Napí¹  :help príkaz  pre vyhµadanie nápovedy ku príkazu príkaz. 
+  2. Napí¹  :help príkaz  pre vyhµadanie nápovedy ku príkazu príkaz.
 
-  3. Napí¹  CTRL-W CTRL-W  na preskoèenie do iného okna. 
+  3. Napí¹  CTRL-W CTRL-W  na preskoèenie do iného okna.
 
   4. Napí¹  :q  pre zatvorenie okna nápovedy
 
-  5. Vytvor ¹tartovací skript vimrc pre udr¾anie uprednostòovaných nastavení. 
+  5. Vytvor ¹tartovací skript vimrc pre udr¾anie uprednostòovaných nastavení.
 
-  6. Poèas písania príkazu  :  stlaè CTRL-D pre zobrazenie dokonèení. 
-     Stlaè <TAB> pre pou¾itie jedného z dokonèení. 
+  6. Poèas písania príkazu  :  stlaè CTRL-D pre zobrazenie dokonèení.
+     Stlaè <TAB> pre pou¾itie jedného z dokonèení.
 
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
--- a/runtime/tutor/tutor.sk.cp1250
+++ b/runtime/tutor/tutor.sk.cp1250
@@ -60,7 +60,7 @@ Poznámka: Kurzorové klávesy sú tiež funkèné. Ale používaním hjkl sa budeš
      spe do tejto výuky. To môže by:	vimtutor <ENTER>
 
   4. Ak si si tieto kroky spo¾ahlivo zapamätal, vykonaj kroky 1 až 3, pre
-     ukonèenie a znovu spustenie editora. 
+     ukonèenie a znovu spustenie editora.
 
 POZNÁMKA: :q! <ENTER> neuloží zmeny, ktoré si vykonal. O nieko¾ko lekcií
           sa nauèíš ako uloži zmeny do súboru
@@ -125,7 +125,7 @@ POZNÁMKA: Neskúšaj si zapamäta obsah tejto výuky, ale sa uè používaním.
 
   3. Po pridaní textu stlaè klávesu <ESC> pre návrat do Normálneho módu.
 
-  4. Presuò kurozr na druhý riadok oznaèený ---> a zopakuj 
+  4. Presuò kurozr na druhý riadok oznaèený ---> a zopakuj
      kroky 2 a 3 kým nieje veta správna.
 
 ---> Tu je nejaký text chýbajúci o
@@ -147,14 +147,14 @@ POZNÁMKA: Neskúšaj si zapamäta obsah tejto výuky, ale sa uè používaním.
 1. Opusti túto výuku, ako si to urobil v lekcii 1.2:  :q!
 
 2. Do príkazového riadku napíš príkaz:  vim tutor <ENTER>
-   'vim' je príkaz, ktorý spustí editor Vim, 'tutor' je meno súboru, 
+   'vim' je príkaz, ktorý spustí editor Vim, 'tutor' je meno súboru,
    ktorý chceš editova. Použi taký súbor, ktorý môžeš meni.
 
 3. Vlož a zmaž text tak, ako si sa nauèil v predošlých lekciach.
 
 4. Ulož súbor so zmenami a opusti Vim príkazom:  :wq  <ENTER>
 
-5. Reštartuj vimtutor a presuò sa dole na nasledujúce zhrnutie. 
+5. Reštartuj vimtutor a presuò sa dole na nasledujúce zhrnutie.
 
 6. Urob tak po preèítaní predošlých krokov a porozumeniu im.
 
@@ -198,8 +198,8 @@ 3. Presuò kurzor na zaèiatok slova, ktoré je potrebné zmaza.
 4. Napíš  dw  aby slovo zmizlo.
 
 POZNÁMKA: Písmeno d sa zobrazí na poslednom riadku obrazovky keï ho
-	        napíšeš. Vim na teba poèká, aby si mohol napísa 
-          písmeno w. Ak vidíš nieèo iné ako  d , tak si napísal 
+	        napíšeš. Vim na teba poèká, aby si mohol napísa
+          písmeno w. Ak vidíš nieèo iné ako  d , tak si napísal
           nesprávny znak; stlaè  <ESC>  a zaèni znova.
 
 ---> Tu je nieko¾ko slov zábava, ktoré nie patria list do tejto vety.
@@ -231,7 +231,7 @@ 5. Prejdi na lekciu 2.3 pre pochopenie toho èo sa stalo.
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 		     Lekcia 2.3: OPERÁTORY A POHYBY
 
-  Ve¾a príkazov, ktoré menia text sú odvodené od operátorov a pohybov. 
+  Ve¾a príkazov, ktoré menia text sú odvodené od operátorov a pohybov.
   Formát pre príkaz mazania klávesou  d  je nasledovný:
 
     d   pohyb
@@ -242,13 +242,13 @@ 5. Prejdi na lekciu 2.3 pre pochopenie toho èo sa stalo.
 
   Krátky list pohybov:
     w - do zaèiatku ïalšieho slova, okrem jeho prvého písmena.
-    e - do konca terajšieho slova, vrátane posledného znaku. 
+    e - do konca terajšieho slova, vrátane posledného znaku.
     $ - do konca riadku, vrátane posledného znaku
 
   Takže napísaním  de  sa zmaže všetko od kurzora do konca slova.
 
-POZNÁMKA: Stlaèením iba pohybu v normálnom móde bez operátora 
-          sa presunie kurzor tak ako je to špecivikované. 
+POZNÁMKA: Stlaèením iba pohybu v normálnom móde bez operátora
+          sa presunie kurzor tak ako je to špecivikované.
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 		Lekcia 2.4: Použitie viacnásobného pohybu
@@ -258,13 +258,13 @@ POZNÁMKA: Stlaèením iba pohybu v normálnom móde bez operátora
 
   1. Presuò kurozr nižšie na zaèiatok riadku oznaèeného --->.
 
-  2. Napíš  2w  a kurozr sa presunie o dve slová vpred. 
+  2. Napíš  2w  a kurozr sa presunie o dve slová vpred.
 
-  3. Napíš  3e  a kurozr sa presunie vpred na koniec tretieho slova. 
+  3. Napíš  3e  a kurozr sa presunie vpred na koniec tretieho slova.
 
   4. Napíš  0  (nula) a kurozr sa presunie na zaèiatok riadku.
 
-  5. Zopakuj kroky 2 a 3 s rôznymi èíslami. 
+  5. Zopakuj kroky 2 a 3 s rôznymi èíslami.
 
 ---> Toto je riadok so slovami po kotrých sa môžete pohybova.
 
@@ -277,11 +277,11 @@ POZNÁMKA: Stlaèením iba pohybu v normálnom móde bez operátora
 
     ** Napísanie èísla spolu s operátorom ho zopakuje zadaný poèet krát **
 
-  V kombinácii operátorov mazania a pohybu spomínaného vyššie vlož poèet 
+  V kombinácii operátorov mazania a pohybu spomínaného vyššie vlož poèet
   pred pohyb pre docielenie hromadného mazania:
     d   èíslo   pohyb
 
-  1. Presuò kurzor na prvé slovo písané VE¼KÝMI PÍSMENAMI 
+  1. Presuò kurzor na prvé slovo písané VE¼KÝMI PÍSMENAMI
      v riadku oznaèenom --->.
 
   2. Napíš  2dw  a zmažeš dve slová písané VE¼KÝMI PÍSMENAMI
@@ -289,9 +289,9 @@ POZNÁMKA: Stlaèením iba pohybu v normálnom móde bez operátora
   3. Zopakuj kroky 1 a 2 s použitím rôzneho èísla tak aby si zmazal slová
      písané ve¾kými písmenami jedným príkazom.
 
----> Tento ABC DE riadok FGHI JK LMN OP so slovamI je Q RS TUV vycisteny. 
+---> Tento ABC DE riadok FGHI JK LMN OP so slovamI je Q RS TUV vycisteny.
 
-POZNÁMKA: Èíslo medzi operátorom  d  a pohybom funguje podobne ako pri 
+POZNÁMKA: Èíslo medzi operátorom  d  a pohybom funguje podobne ako pri
           použití s pohybom bez operátora.
 
 
@@ -359,7 +359,7 @@ 7. Teraz napíš CTRL-R (drž klávesu CTRL stlaèenú kým stláèaš R) nieko¾ko
      kde:
        operátor - èo treba robi, napríklad  d  pre zmazanie
        [èíslo] - je volite¾ný poèet pre opakovanie pohybu
-       pohyb - pohyb po texte vzh¾adom na operátor, napríklad w (slovo), 
+       pohyb - pohyb po texte vzh¾adom na operátor, napríklad w (slovo),
 		$ (do konca riadku), atï.
 
   6. Pre pohyb na zaèiatok riadku použi nulu:  0
@@ -472,13 +472,13 @@ POZNÁMKA: Môžeš použi klávesu backspace na úpravu zmien poèas písania.
   2. Pre naradenie znaku na mieste kurzora, napíš  r  a potom znak, ktorý
      nahradí pôvodný znak.
 
-  3. Príkaz na upravenie umožòuje zmeni od kurzora až po miesto, ktoré 
+  3. Príkaz na upravenie umožòuje zmeni od kurzora až po miesto, ktoré
      urèuje pohyb.  napr. Napíš  ce  èím zmníš text od pozície
      kurzora do konca slova, c$  zmení text do konca riadku.
 
   4. Formát pre nahradenie je:
 
-	    c    [èíslo]    pohyb 
+	    c    [èíslo]    pohyb
 
 
 Teraz prejdi na nalsedujúcu lekciu.
@@ -494,8 +494,8 @@ Teraz prejdi na nalsedujúcu lekciu.
 
   Poznámka: Preèítaj si celú túto lekciu skôr ako zaèneš vykonáva kroky!!
 
-  1. Drž stlaèenú klávesu Ctrl a stlaè  g . Toto nazývame CTRL-G. 
-     Na spodu obrazovky sa zobrazí správa s názvom súboru a pozíciou 
+  1. Drž stlaèenú klávesu Ctrl a stlaè  g . Toto nazývame CTRL-G.
+     Na spodu obrazovky sa zobrazí správa s názvom súboru a pozíciou
      v súbore. Zapamätajsi si èíslo riadku pre použitie v kroku 3.
 
   2. Stlaè  G  èím sa dostaneš na spodok súboru.
@@ -526,8 +526,8 @@ Teraz prejdi na nalsedujúcu lekciu.
   4. Ak chceš vyh¾ada reazec v spätnom smere, použí príkaz  ?  miesto
      príkazu /.
 
-  5. Pre návrat na miesto z ktorého si prišiel stlaè CTRL-O (drž stlaèenú 
-     klávesu Ctrl poèas stlaèenia klávesy o). Zopakuj pre ïalší návrat 
+  5. Pre návrat na miesto z ktorého si prišiel stlaè CTRL-O (drž stlaèenú
+     klávesu Ctrl poèas stlaèenia klávesy o). Zopakuj pre ïalší návrat
      spä. CTRL-I ide vpred.
 
 POZNÁMKA: "errroor" nieje spôsob hláskovania error; errroor je error.
@@ -590,7 +590,7 @@ Poznámka: Toto je ve¾mi výhodné použí pri ladení programu s chýbajúcimi
 
 
   1. CTRL-g    vypíše tvoju pozíciu v súbore a status súboru.
-            G  a premiestni na koniec riadku. 
+            G  a premiestni na koniec riadku.
      èíslo  G  a premiestni na riadok s èíslom.
            gg  a presunie na prvý riadok
 
@@ -668,15 +668,15 @@ Poznámka: že ak ukonèíš prácu s editorom Vim a znovu ho spustíš príkazom
 
   3. Stlaè klávesu  : . V spodnej èasti okna sa objaví  :'<,'>.
 
-  4. Napíš w TEST  , kde TEST je meno súboru, ktorý zatial neexistuje. 
+  4. Napíš w TEST  , kde TEST je meno súboru, ktorý zatial neexistuje.
      Skontroluj, e vidíš  :'<,'>w TEST  predtým než stlaèíš Enter.
 
   5. Vim zapíše oznaèené riadky do súboru TEST. Použi :!dir  alebo  !ls
      pre overenie. Zatial ho ešte nemaž! Použijeme ho v ïalšej lekcii.
 
-POZNÁMKA: Stlaèením klávesy  v  sa spustí vizuálne oznaèovanie. 
-          Môžeš pohybova kurzorom pre upresnenie vyznaèeného textu. 
-          Potom môžeš použi operátor pre vykonanie nejakej akcie 
+POZNÁMKA: Stlaèením klávesy  v  sa spustí vizuálne oznaèovanie.
+          Môžeš pohybova kurzorom pre upresnenie vyznaèeného textu.
+          Potom môžeš použi operátor pre vykonanie nejakej akcie
           s textom. Napríklad  d  zmaže vyznaèený text.
 
 
@@ -686,7 +686,7 @@ POZNÁMKA: Stlaèením klávesy  v  sa spustí vizuálne oznaèovanie.
 
 	** Pre vloženie obsahu súboru, napíš   :r FILENAME **
 
-  1. Premiestni kurzor nad tento riadok. 
+  1. Premiestni kurzor nad tento riadok.
 
 POZNÁMKA: Po vykonaní kroku 2 uvidíš text z lekcie 5.3. Potom sa presuò
           dole, aby si videl túto lekciu.
@@ -710,8 +710,8 @@ POZNÁMKA: Môžeš tiež naèíta výstup vonkajšieho príkazu. Napríklad :r !ls
 	 :!del FILENAME    :!rm FILENAME    -  odstráni súbor FILENAME
 
   2.  :w FILENAME  uloží aktuálny súbor na disk pod menom FILENAME.
- 
-  3.  v  pohyb  :w FILENAME  uloží vizuálne oznaèené riadky do 
+
+  3.  v  pohyb  :w FILENAME  uloží vizuálne oznaèené riadky do
       súboru FILENAME.
 
   4.  :r FILENAME  vyberie z disku súbor FILENAME a vloží ho do aktuálneho
@@ -738,8 +738,8 @@ POZNÁMKA: Môžeš tiež naèíta výstup vonkajšieho príkazu. Napríklad :r !ls
 ---> Po napísaní  o  sa kurzor premiestní na vložený riadok do vkladacieho
      módu.
 
-  4. Pre otvorenie riadku nad kurzorom, jednotucho napíš ve¾ké  O , 
-     namiesto malého  o. Vyskúšaj si to na riadku dole. 
+  4. Pre otvorenie riadku nad kurzorom, jednotucho napíš ve¾ké  O ,
+     namiesto malého  o. Vyskúšaj si to na riadku dole.
 
 ---> Vlož riadok nad týmto napísaním O, keï kurzor je na tomto riadku.
 
@@ -753,11 +753,11 @@ POZNÁMKA: Môžeš tiež naèíta výstup vonkajšieho príkazu. Napríklad :r !ls
 
   1. Presuò kurzor nižšie na koniec prvého riadku oznaèeného znaèkou --->
 
-  2. Stlaè klávesu  e  dokia¾ kurozr nieje na konci riadku.   
+  2. Stlaè klávesu  e  dokia¾ kurozr nieje na konci riadku.
 
   3. Napíš  a  (malé písmeno) pre pridanie textu ZA kurzorom.
 
-  4. Dokonèí slovo tak ako je to v druhom riadku. Stlaš <ESC> pre 
+  4. Dokonèí slovo tak ako je to v druhom riadku. Stlaš <ESC> pre
      opustenie vkladacieho módu.
 
   5. Použi  e  na presun na ïalšie nedokonèené slovo a zopakuj kroky 3 a 4.
@@ -765,8 +765,8 @@ POZNÁMKA: Môžeš tiež naèíta výstup vonkajšieho príkazu. Napríklad :r !ls
 ---> Tento ri ti dovo¾uje nácv priávan testu na koniec riadku.
 ---> Tento riadok ti dovo¾uje nácvik pridávania textu na koniec riadku.
 
-POZNÁMKA: a, i, A štartujú rovnaký vkladací mód, jediný rozidel je, kde 
-          sa znaky vkladajú. 
+POZNÁMKA: a, i, A štartujú rovnaký vkladací mód, jediný rozidel je, kde
+          sa znaky vkladajú.
 
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -778,19 +778,19 @@ POZNÁMKA: a, i, A štartujú rovnaký vkladací mód, jediný rozidel je, kde
   1. Presuò kurzor nižšie na prvý riadok oznaèený znaèkou --->. Premiestni
      kurzor na zaèiatok prvého výskytu  xxx.
 
-  2. Teraz napíš  R  a  napíš  èíslo uvedené v druhom riadku, takže 
+  2. Teraz napíš  R  a  napíš  èíslo uvedené v druhom riadku, takže
      sa ním nahradí pôvodné xxx.
 
-  3. Stlaè <ESC> pre opustenie nahradzovacieho módu. Poznámka, že zvyšok 
-     riadku zostane nezmenený. 
+  3. Stlaè <ESC> pre opustenie nahradzovacieho módu. Poznámka, že zvyšok
+     riadku zostane nezmenený.
 
   4. Zopakuj tieto kroky pre nahradenie zvyšných xxx.
 
 ---> Pridaním 123 ku xxx dostaneš xxx.
 ---> Pridaním 123 ku 456 dostaneš 579.
 
-POZNÁMKA:  Nahradzovací mód je ako vkladací mód, ale každý napísaný znak 
-           zmaže existujúci znak. 
+POZNÁMKA:  Nahradzovací mód je ako vkladací mód, ale každý napísaný znak
+           zmaže existujúci znak.
 
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -809,14 +809,14 @@ POZNÁMKA:  Nahradzovací mód je ako vkladací mód, ale každý napísaný znak
 
   5. Napíš  p  pre vložnie (paste) textu. Potom napíš:  a druha <ESC>.
 
-  6. Použi vizuálny mód pre oznaèenie "položka.", vystrihni to 
-     použitím  y, presuò sa na koniec nasledujúceho riadku použitím  j$ 
+  6. Použi vizuálny mód pre oznaèenie "položka.", vystrihni to
+     použitím  y, presuò sa na koniec nasledujúceho riadku použitím  j$
      a vlož sem text použitím  p.
 
 ---> a) toto je prvá položka
 ---> b)
 
-POZNÁMKA: Môžeš použi tiež  y  ako operátor; yw  vystrihne jedno slovo. 
+POZNÁMKA: Môžeš použi tiež  y  ako operátor; yw  vystrihne jedno slovo.
 
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -843,11 +843,11 @@ POZNÁMKA: Môžeš použi tiež  y  ako operátor; yw  vystrihne jedno slovo.
   5. Teraz spusti vyh¾adávací príkaz znovu, a pozri èo sa stalo:
      /ignore <ENTER>
 
-  6. Pre opetovné zapnutie rozlyšovania ve¾kých a malých písmen 
+  6. Pre opetovné zapnutie rozlyšovania ve¾kých a malých písmen
      napíš:  :set noic
 
 POZNÁMKA: Na odstránenie zvýraznenia výrazov napíš:  :nohlsearch
-POZNÁMKA: Ak chceš nerozlyšova ve¾kos písmen len pre jedno 
+POZNÁMKA: Ak chceš nerozlyšova ve¾kos písmen len pre jedno
           použitie vyh¾adávacieho príkazu, použi \c:  /ignore\c <ENTER>
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -867,9 +867,9 @@ POZNÁMKA: Ak chceš nerozlyšova ve¾kos písmen len pre jedno
   5. Napísanie ve¾kého  R  prepne do nahradzovacieho módu, kým nieje
      stlaèené <ESC>.
 
-  6. Napísanie ":set xxx" nastaví možnos "xxx". Niektoré nastavenia sú: 
-     'ic' 'ignorecase' ignoruje ve¾ké a malé písmená poèas vyh¾adávania. 
-     'is' 'incsearch' zobrazuje èiastoèné reazce vyh¾adávaného reazca. 
+  6. Napísanie ":set xxx" nastaví možnos "xxx". Niektoré nastavenia sú:
+     'ic' 'ignorecase' ignoruje ve¾ké a malé písmená poèas vyh¾adávania.
+     'is' 'incsearch' zobrazuje èiastoèné reazce vyh¾adávaného reazca.
      'hls' 'hlsearch' vyznaèí všetky vyh¾adávané reazce.
       Môžeš použi hociktorý z dlhých a krátkych názvov možností.
 
@@ -893,8 +893,8 @@ POZNÁMKA: Ak chceš nerozlyšova ve¾kos písmen len pre jedno
 	- stlaè klávesu <F1> (ak nejakú máš)
 	- napíš  :help <ENTER>
 
-  Èítaj text v okne nápovedy pre získanie predstavy ako nápoveda funguje. 
-  Napíš   CTRL-W CTRL-W  pre skok z jedného okna do druhého. 
+  Èítaj text v okne nápovedy pre získanie predstavy ako nápoveda funguje.
+  Napíš   CTRL-W CTRL-W  pre skok z jedného okna do druhého.
   Napíš    :q <ENTER>    èím zatvoríš okno nápovedy.
 
   Môžeš nájs help ku hociakej téme pridaním argumentu ku príkazu ":help".
@@ -945,12 +945,12 @@ POZNÁMKA: Ak chceš nerozlyšova ve¾kos písmen len pre jedno
 
   5. Stlaè <TAB> a Vim dokonèí meno príkazu na ":edit".
 
-  6. Teraz pridaj medzerník a zaèiatok mena existujúceho súboru: 
+  6. Teraz pridaj medzerník a zaèiatok mena existujúceho súboru:
      :edit FIL
 
   7. Stlaè <TAB>. Vim dokonèí meno (ak je jedineèné).
 
-POZNÁMKA: Dokonèovanie funguje pre ve¾a príkazov. Vyskúšaj stlaèenie 
+POZNÁMKA: Dokonèovanie funguje pre ve¾a príkazov. Vyskúšaj stlaèenie
           CTRL-D a <TAB>. Špeciálne je to užitoèné pre príkaz  :help.
 
 
@@ -960,16 +960,16 @@ POZNÁMKA: Dokonèovanie funguje pre ve¾a príkazov. Vyskúšaj stlaèenie
 
   1. Napíš  :help  alebo stlaè <F1> alebo <Help> pre otvorenie okna nápovedy.
 
-  2. Napíš  :help príkaz  pre vyh¾adanie nápovedy ku príkazu príkaz. 
+  2. Napíš  :help príkaz  pre vyh¾adanie nápovedy ku príkazu príkaz.
 
-  3. Napíš  CTRL-W CTRL-W  na preskoèenie do iného okna. 
+  3. Napíš  CTRL-W CTRL-W  na preskoèenie do iného okna.
 
   4. Napíš  :q  pre zatvorenie okna nápovedy
 
-  5. Vytvor štartovací skript vimrc pre udržanie uprednostòovaných nastavení. 
+  5. Vytvor štartovací skript vimrc pre udržanie uprednostòovaných nastavení.
 
-  6. Poèas písania príkazu  :  stlaè CTRL-D pre zobrazenie dokonèení. 
-     Stlaè <TAB> pre použitie jedného z dokonèení. 
+  6. Poèas písania príkazu  :  stlaè CTRL-D pre zobrazenie dokonèení.
+     Stlaè <TAB> pre použitie jedného z dokonèení.
 
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
--- 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.0f]
-   "DisplayName"="Vim 7.0f: Edit with Vim popup menu entry"
+[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall\Vim 7.0g]
+   "DisplayName"="Vim 7.0g: Edit with Vim popup menu entry"
    "UninstallString"="uninstal.exe"
--- a/src/INSTALLmac.txt
+++ b/src/INSTALLmac.txt
@@ -43,9 +43,9 @@ 1.1 Carbon interface (default)
 
  To overrule the architecture do this before running make:
 
- 	./configure --with-mac-arch=intel
+	./configure --with-mac-arch=intel
  or
- 	./configure --with-mac-arch=ppc
+	./configure --with-mac-arch=ppc
 
 
 1.2 X-Windows or Plain Text
--- a/src/INSTALLpc.txt
+++ b/src/INSTALLpc.txt
@@ -43,11 +43,11 @@ To build Vim from the command line with 
 Visual Studio installed a batch file called vcvars32.bat, which you must
 run to set up paths for nmake and MSVC.
 
-nmake -f Make_mvc.mak           console   Win32 SDK or Microsoft Visual C++
-nmake -f Make_mvc.mak GUI=yes   GUI       Microsoft Visual C++
-nmake -f Make_mvc.mak OLE=yes   OLE       Microsoft Visual C++
+nmake -f Make_mvc.mak		console   Win32 SDK or Microsoft Visual C++
+nmake -f Make_mvc.mak GUI=yes	GUI	  Microsoft Visual C++
+nmake -f Make_mvc.mak OLE=yes	OLE	  Microsoft Visual C++
 nmake -f Make_mvc.mak PERL=C:\Perl PYTHON=C:\Python etc.
-                                Perl, Python, etc.
+				Perl, Python, etc.
 
 Make_mvc.mak allows a Vim to be built with various different features and
 debug support.  Debugging with MS Devstudio is provided by Make_dvc.mak.
@@ -61,9 +61,9 @@ To build Vim from within the Visual Stud
 far more configuration.) Make_ivc.mak can also be built with nmake.
 
 nmake -f Make_ivc.mak CFG="Vim - Win32 Release gvim"
-                                GUI       Microsoft Visual C++ 4.x or later
+				GUI	  Microsoft Visual C++ 4.x or later
 nmake -f Make_ivc.mak CFG="Vim - Win32 Release gvim OLE"
-                                OLE       Microsoft Visual C++ 4.x or later
+				OLE	  Microsoft Visual C++ 4.x or later
 
 See the specific files for comments and options.
 
@@ -94,7 +94,7 @@ free C compilers for Win32.)
 To compile Vim using the VC2003 Toolkit and Make_mvc.mak, you must first
 execute the following commands in a cmd.exe window (the msvcsetup.bat batch
 file can be used):
-       
+
     set PATH=%SystemRoot%\Microsoft.NET\Framework\v1.1.4322;%PATH%
     call "%VCToolkitInstallDir%vcvars32.bat"
     set MSVCVer=7.1
@@ -104,7 +104,7 @@ file can be used):
 Now you can build Vim with Make_mvc.mak.
 
 
-Getting the Windows Platform SDK            *ms-platform-sdk*
+Getting the Windows Platform SDK	    *ms-platform-sdk*
 
 You will also need a copy of the Windows Platform SDK from
     http://www.microsoft.com/msdownload/platformsdk/sdkupdate/
@@ -122,7 +122,7 @@ This is needed to install |dotnet-1.1-sd
 which is needed to link Vim.
 
 
-Getting the .NET Framework 1.1 SDK          *dotnet-1.1-sdk*
+Getting the .NET Framework 1.1 SDK	    *dotnet-1.1-sdk*
 
 You need the .NET Framework 1.1 SDK from
     http://www.microsoft.com/downloads/details.aspx?familyid=9b3a2ca6-3647-4070-9f41-a333c6b9181d
@@ -131,7 +131,7 @@ such as msvcrt.lib. You must install |do
 installing the .NET 1.1 SDK.
 
 
-Getting the WinDbg debugger                 *windbg-download*
+Getting the WinDbg debugger		    *windbg-download*
 
 The Debugging Tools for Windows can be downloaded from
     http://www.microsoft.com/whdc/devtools/debugging/default.mspx
@@ -242,7 +242,7 @@ 5. Cross compiling for Win32 from a Linu
 If you like, you can compile the 'mingw' Win32 version from the comfort of
 your Linux (or other unix) box.  To do this, you need to follow a few steps:
     1) Install the mingw32 cross-compiler. See
-        http://www.libsdl.org/extras/win32/cross/README.txt
+	http://www.libsdl.org/extras/win32/cross/README.txt
     2) get the *unix* version of the vim sources
     3) in 'Make_ming.mak', set 'CROSS' to '1' instead of '0'.
     4) make -f Make_ming.mak gvim.exe
@@ -317,7 +317,7 @@ After a successful build, these dlls can
 8. Windows 3.1x
 ===============
 
-make -f Make_w16.mak             16 bit, Borland C++ 5.0
+make -f Make_w16.mak		 16 bit, Borland C++ 5.0
 
 Warning: Be sure to use the right make.exe.  It should be Borland make.
 
@@ -340,9 +340,9 @@ 9. MS-DOS
 Summary:
 ren Make_bc3.mak Makefile; make     16 bit, Borland C++ and Turbo C++
 ren Make_tcc.mak Makefile; make     16 bit, Turbo C
-make -f Make_djg.mak                32 bit, DJGPP 2.0
-make -f Make_bc5.mak                32 bit, Borland C++ 5.x (edit it to
-                                    define DOS)
+make -f Make_djg.mak		    32 bit, DJGPP 2.0
+make -f Make_bc5.mak		    32 bit, Borland C++ 5.x (edit it to
+				    define DOS)
 
 Warning: Be sure to use the right make.exe.  Microsoft C make doesn't work;
 Borland make only works with Make_bc3.mak, Make_bc5.mak and Make_tcc.mak;
--- a/src/INSTALLvms.txt
+++ b/src/INSTALLvms.txt
@@ -1,7 +1,7 @@
 INSTALLvms.txt - Installation of Vim on OpenVMS
 
 Maintainer:   Zoltan Arpadffy <arpadffy@polarhome.com>
-Last change:  2006 Mar 02
+Last change:  2006 Apr 30
 
 This file contains instructions for compiling Vim on Openvms.
 If you already have an executable version of Vim, you don't need this.
@@ -303,7 +303,7 @@ 7.2  GTK
      You need also the OpenVMS Porting Library:
      http://www.openvms.compaq.com/openvms/products/ips/porting.html
 
-     Source code for GTK and porting library that is used to build 
+     Source code for GTK and porting library that is used to build
      VMS executables at polarhome.com are at
      http://www.polarhome.com/vim/files/source/vms/
 
--- a/src/Make_bc5.mak
+++ b/src/Make_bc5.mak
@@ -54,9 +54,9 @@
 #   RUBY_VER_LONG  same, but in format with dot. (1.6)
 #   DYNAMIC_RUBY no or yes: use yes to load the Ruby DLL dynamically (no)
 # MBYTE		no or yes: set to yes for multi-byte support (yes)
-#               NOTE: multi-byte support is broken in the Borland libraries,
-#               not everything will work properly!  Esp. handling multi-byte
-#               file names.
+#		NOTE: multi-byte support is broken in the Borland libraries,
+#		not everything will work properly!  Esp. handling multi-byte
+#		file names.
 # IME		no or yes: set to yes for multi-byte IME support (yes)
 #   DYNAMIC_IME no or yes: set to yes to load imm32.dll dynamically (yes)
 # GETTEXT	no or yes: set to yes for multi-language support (yes)
@@ -80,7 +80,7 @@
 # CSCOPE	no or yes: include support for Cscope interface (yes)
 # NETBEANS	no or yes: include support for Netbeans interface (yes if GUI
 #		is yes)
-# NBDEBUG 	no or yes: include support for debugging Netbeans interface (no)
+# NBDEBUG	no or yes: include support for debugging Netbeans interface (no)
 # XPM		define to path to XPM dir to get support for loading XPM images.
 
 ### BOR: root of the BC installation
--- a/src/Make_cyg.mak
+++ b/src/Make_cyg.mak
@@ -1,6 +1,6 @@
 #
 # Makefile for VIM on Win32, using Cygnus gcc
-# Last updated by Dan Sharp.  Last Change: 2006 Mar 24
+# Last updated by Dan Sharp.  Last Change: 2006 Apr 30
 #
 # Also read INSTALLpc.txt!
 #
@@ -42,7 +42,7 @@
 # OPTIMIZE	SPACE, SPEED, or MAXSPEED: set optimization level (MAXSPEED)
 # NETBEANS	no or yes: to include netbeans interface support (yes when GUI
 #		is yes)
-# NBDEBUG 	no or yes: to include netbeans interface debugging support (no)
+# NBDEBUG	no or yes: to include netbeans interface debugging support (no)
 # XPM		define to path to XPM dir to get XPM image support (not defined)
 #>>>>> choose options:
 ifndef GUI
--- a/src/Make_vms.mms
+++ b/src/Make_vms.mms
@@ -2,7 +2,7 @@
 # Makefile for Vim on OpenVMS
 #
 # Maintainer:   Zoltan Arpadffy <arpadffy@polarhome.com>
-# Last change:  2006 Apr 11
+# Last change:  2006 Apr 30
 #
 # This has script been tested on VMS 6.2 to 8.2 on DEC Alpha, VAX and IA64
 # with MMS and MMK
@@ -100,7 +100,7 @@ CCVER = YES
 .IFDEF VAX
 .IFDEF DECC	     # VAX with DECC
 CC_DEF  = cc # /decc # some system requires this switch
-                     # but when it is not required /ver might fail
+		     # but when it is not required /ver might fail
 PREFIX  = /prefix=all
 .ELSE		     # VAX with VAXC
 CC_DEF	= cc
@@ -391,7 +391,7 @@ motif_env :
 .IFDEF XPM
 	-@ write sys$output "using DECW/Motif/XPM environment."
 .ELSE
-        -@ write sys$output "using DECW/Motif environment."
+	-@ write sys$output "using DECW/Motif environment."
 .ENDIF
 	-@ write sys$output "creating OS_VMS_MOTIF.OPT file."
 	-@ open/write opt_file OS_VMS_MOTIF.OPT
--- a/src/Makefile
+++ b/src/Makefile
@@ -880,7 +880,7 @@ MAN1DIR = /man1
 
 ### Vim version (adjusted by a script)
 VIMMAJOR = 7
-VIMMINOR = 0f
+VIMMINOR = 0g
 
 ### Location of Vim files (should not need to be changed, and  {{{1
 ### some things might not work when they are changed!)
@@ -1113,7 +1113,7 @@ GTK_BUNDLE	=
 
 ### Motif GUI
 MOTIF_SRC	= gui.c gui_motif.c gui_x11.c pty.c gui_beval.c \
-		  	gui_xmdlg.c gui_xmebw.c
+			gui_xmdlg.c gui_xmebw.c
 MOTIF_OBJ	= objects/gui.o objects/gui_motif.o objects/gui_x11.o \
 			objects/pty.o objects/gui_beval.o \
 			objects/gui_xmdlg.o objects/gui_xmebw.o
@@ -1764,7 +1764,7 @@ INSTALLMANARGS = $(VIMLOC) $(SCRIPTLOC) 
 
 # Install most of the runtime files
 installruntime: installrtbase installmacros installtutor installspell
-	
+
 # install the help files; first adjust the contents for the final location
 installrtbase: $(HELPSOURCE)/vim.1 $(DEST_VIM) $(DEST_RT) \
 		$(DEST_HELP) $(DEST_PRINT) $(DEST_COL) $(DEST_SYN) $(DEST_IND) \
@@ -2062,7 +2062,7 @@ INSTALLMLARGS = $(VIMNAME) $(VIMDIFFNAME
 		$(GVIMNAME) $(GVIEWNAME) $(RGVIMNAME) $(RGVIEWNAME) \
 		$(GVIMDIFFNAME) $(EVIEWNAME)
 
-installmanlinks: 
+installmanlinks:
 	-$(SHELL) ./installml.sh install "$(GUI_MAN_TARGETS)" \
 		$(DEST_MAN) $(INSTALLMLARGS)
 
--- a/src/auto/configure
+++ b/src/auto/configure
@@ -2983,7 +2983,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 echo "$as_me:$LINENO: result: no" >&5
 echo "${ECHO_T}no" >&6
-	        MACARCH="ppc"
+		MACARCH="ppc"
 		CPPFLAGS="$save_cppflags -arch ppc"
 		LDFLAGS="$save_ldflags -arch ppc"
 fi
@@ -3753,11 +3753,11 @@ echo $ECHO_N "checking PLTHOME environme
     if test "X$PLTHOME" != "X"; then
 	echo "$as_me:$LINENO: result: \"$PLTHOME\"" >&5
 echo "${ECHO_T}\"$PLTHOME\"" >&6
-        vi_cv_path_mzscheme_pfx="$PLTHOME"
+	vi_cv_path_mzscheme_pfx="$PLTHOME"
     else
 	echo "$as_me:$LINENO: result: \"not set\"" >&5
 echo "${ECHO_T}\"not set\"" >&6
-	        # Extract the first word of "mzscheme", so it can be a program name with args.
+		# Extract the first word of "mzscheme", so it can be a program name with args.
 set dummy mzscheme; ac_word=$2
 echo "$as_me:$LINENO: checking for $ac_word" >&5
 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
@@ -3797,30 +3797,30 @@ echo "${ECHO_T}no" >&6
 fi
 
 
-		        if test "X$vi_cv_path_mzscheme" != "X"; then
+			if test "X$vi_cv_path_mzscheme" != "X"; then
 	  lsout=`ls -l $vi_cv_path_mzscheme`
 	  if echo "$lsout" | grep -e '->' >/dev/null 2>/dev/null; then
 	    vi_cv_path_mzscheme=`echo "$lsout" | sed 's/.*-> \(.*\)/\1/'`
 	  fi
 	fi
 
-        if test "X$vi_cv_path_mzscheme" != "X"; then
-                        echo "$as_me:$LINENO: checking MzScheme install prefix" >&5
+	if test "X$vi_cv_path_mzscheme" != "X"; then
+	    	    echo "$as_me:$LINENO: checking MzScheme install prefix" >&5
 echo $ECHO_N "checking MzScheme install prefix... $ECHO_C" >&6
 if test "${vi_cv_path_mzscheme_pfx+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
    vi_cv_path_mzscheme_pfx=`
-      	    ${vi_cv_path_mzscheme} -evm \
-            "(display (simplify-path		\
-              (build-path (call-with-values	\
-      	        (lambda () (split-path (find-system-path (quote exec-file)))) \
-      	        (lambda (base name must-be-dir?) base)) (quote up))))"`
+	    ${vi_cv_path_mzscheme} -evm \
+	    "(display (simplify-path		\
+	       (build-path (call-with-values	\
+		(lambda () (split-path (find-system-path (quote exec-file)))) \
+		(lambda (base name must-be-dir?) base)) (quote up))))"`
 fi
 echo "$as_me:$LINENO: result: $vi_cv_path_mzscheme_pfx" >&5
 echo "${ECHO_T}$vi_cv_path_mzscheme_pfx" >&6
 	    	    vi_cv_path_mzscheme_pfx=`echo "$vi_cv_path_mzscheme_pfx" | sed 's+/$++'`
-        fi
+	fi
     fi
   fi
 
@@ -3843,7 +3843,7 @@ echo "${ECHO_T}\"no\"" >&6
     else
       MZSCHEME_LIBS="-L${vi_cv_path_mzscheme_pfx}/lib -lmzgc -lmzscheme"
       if test "$GCC" = yes; then
-		        MZSCHEME_LIBS="$MZSCHEME_LIBS -Wl,-rpath -Wl,${vi_cv_path_mzscheme_pfx}/lib"
+			MZSCHEME_LIBS="$MZSCHEME_LIBS -Wl,-rpath -Wl,${vi_cv_path_mzscheme_pfx}/lib"
       elif test "`(uname) 2>/dev/null`" = SunOS &&
 			       uname -r | grep '^5' >/dev/null; then
 	MZSCHEME_LIBS="$MZSCHEME_LIBS -R ${vi_cv_path_mzscheme_pfx}/lib"
@@ -7848,7 +7848,7 @@ echo $ECHO_N "checking for FreeBSD... $E
       if test "`(uname) 2>/dev/null`" = FreeBSD; then
 	echo "$as_me:$LINENO: result: yes" >&5
 echo "${ECHO_T}yes" >&6
-        GNOME_INCLUDEDIR="$GNOME_INCLUDEDIR -D_THREAD_SAFE"
+	GNOME_INCLUDEDIR="$GNOME_INCLUDEDIR -D_THREAD_SAFE"
 	GNOME_LIBS="$GNOME_LIBS -pthread"
       else
 	echo "$as_me:$LINENO: result: no" >&5
--- a/src/configure.in
+++ b/src/configure.in
@@ -135,7 +135,7 @@ if test "`(uname) 2>/dev/null`" = Darwin
 	AC_TRY_LINK([ ], [ ],
 	    AC_MSG_RESULT(yes); MACARCH="intel",
 	    AC_MSG_RESULT(no, using PowerPC)
-	        MACARCH="ppc"
+		MACARCH="ppc"
 		CPPFLAGS="$save_cppflags -arch ppc"
 		LDFLAGS="$save_ldflags -arch ppc"))
   elif test "x$MACARCH" = "xintel"; then
@@ -372,8 +372,8 @@ if test "$enable_mzschemeinterp" = "yes"
 
   AC_MSG_CHECKING(--with-plthome argument)
   AC_ARG_WITH(plthome,
-  	[  --with-plthome=PLTHOME   Use PLTHOME.],
-        with_plthome="$withval"; AC_MSG_RESULT($with_plthome),
+	[  --with-plthome=PLTHOME   Use PLTHOME.],
+	with_plthome="$withval"; AC_MSG_RESULT($with_plthome),
 	with_plthome="";AC_MSG_RESULT("no"))
 
   if test "X$with_plthome" != "X"; then
@@ -382,33 +382,33 @@ if test "$enable_mzschemeinterp" = "yes"
     AC_MSG_CHECKING(PLTHOME environment var)
     if test "X$PLTHOME" != "X"; then
 	AC_MSG_RESULT("$PLTHOME")
-        vi_cv_path_mzscheme_pfx="$PLTHOME"
+	vi_cv_path_mzscheme_pfx="$PLTHOME"
     else
 	AC_MSG_RESULT("not set")
 	dnl -- try to find MzScheme executable
-        AC_PATH_PROG(vi_cv_path_mzscheme, mzscheme)
+	AC_PATH_PROG(vi_cv_path_mzscheme, mzscheme)
 
 	dnl resolve symbolic link, the executable is often elsewhere and there
 	dnl are no links for the include files.
-        if test "X$vi_cv_path_mzscheme" != "X"; then
+	if test "X$vi_cv_path_mzscheme" != "X"; then
 	  lsout=`ls -l $vi_cv_path_mzscheme`
 	  if echo "$lsout" | grep -e '->' >/dev/null 2>/dev/null; then
 	    vi_cv_path_mzscheme=`echo "$lsout" | sed 's/.*-> \(.*\)/\1/'`
 	  fi
 	fi
 
-        if test "X$vi_cv_path_mzscheme" != "X"; then
-            dnl -- find where MzScheme thinks it was installed
-            AC_CACHE_CHECK(MzScheme install prefix,vi_cv_path_mzscheme_pfx,
-            [ vi_cv_path_mzscheme_pfx=`
-      	    ${vi_cv_path_mzscheme} -evm \
-            "(display (simplify-path		\
-              (build-path (call-with-values	\
-      	        (lambda () (split-path (find-system-path (quote exec-file)))) \
-      	        (lambda (base name must-be-dir?) base)) (quote up))))"` ])
+	if test "X$vi_cv_path_mzscheme" != "X"; then
+	    dnl -- find where MzScheme thinks it was installed
+	    AC_CACHE_CHECK(MzScheme install prefix,vi_cv_path_mzscheme_pfx,
+	    [ vi_cv_path_mzscheme_pfx=`
+	    ${vi_cv_path_mzscheme} -evm \
+	    "(display (simplify-path		\
+	       (build-path (call-with-values	\
+		(lambda () (split-path (find-system-path (quote exec-file)))) \
+		(lambda (base name must-be-dir?) base)) (quote up))))"` ])
 	    dnl Remove a trailing slash.
 	    vi_cv_path_mzscheme_pfx=`echo "$vi_cv_path_mzscheme_pfx" | sed 's+/$++'`
-        fi
+	fi
     fi
   fi
 
@@ -430,7 +430,7 @@ if test "$enable_mzschemeinterp" = "yes"
       if test "$GCC" = yes; then
 	dnl Make Vim remember the path to the library.  For when it's not in
 	dnl $LD_LIBRARY_PATH.
-        MZSCHEME_LIBS="$MZSCHEME_LIBS -Wl,-rpath -Wl,${vi_cv_path_mzscheme_pfx}/lib"
+	MZSCHEME_LIBS="$MZSCHEME_LIBS -Wl,-rpath -Wl,${vi_cv_path_mzscheme_pfx}/lib"
       elif test "`(uname) 2>/dev/null`" = SunOS &&
 			       uname -r | grep '^5' >/dev/null; then
 	MZSCHEME_LIBS="$MZSCHEME_LIBS -R ${vi_cv_path_mzscheme_pfx}/lib"
@@ -1486,13 +1486,13 @@ AC_DEFUN([GNOME_INIT_HOOK],
       GNOME_LIBS=`$PKG_CONFIG --libs-only-l libgnomeui-2.0`
       GNOME_LIBDIR=`$PKG_CONFIG --libs-only-L libgnomeui-2.0`
       GNOME_INCLUDEDIR=`$PKG_CONFIG --cflags libgnomeui-2.0`
-     
+
       dnl On FreeBSD we need -pthread but pkg-config doesn't include it.
       dnl This might not be the right way but it works for me...
       AC_MSG_CHECKING(for FreeBSD)
       if test "`(uname) 2>/dev/null`" = FreeBSD; then
 	AC_MSG_RESULT(yes, adding -pthread)
-        GNOME_INCLUDEDIR="$GNOME_INCLUDEDIR -D_THREAD_SAFE"
+	GNOME_INCLUDEDIR="$GNOME_INCLUDEDIR -D_THREAD_SAFE"
 	GNOME_LIBS="$GNOME_LIBS -pthread"
       else
 	AC_MSG_RESULT(no)
--- a/src/eval.c
+++ b/src/eval.c
@@ -198,7 +198,7 @@ struct ufunc
  */
 static hashtab_T	func_hashtab;
 
-/* The names of packages that once were loaded is remembered. */
+/* The names of packages that once were loaded are remembered. */
 static garray_T		ga_loaded = {0, 0, sizeof(char_u *), 4, NULL};
 
 /* list heads for garbage collection */
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -8813,6 +8813,11 @@ ex_normal(eap)
     char_u	*p;
 #endif
 
+    if (ex_normal_lock > 0)
+    {
+	EMSG(_(e_secure));
+	return;
+    }
     if (ex_normal_busy >= p_mmd)
     {
 	EMSG(_("E192: Recursive use of :normal too deep"));
--- a/src/ex_getln.c
+++ b/src/ex_getln.c
@@ -4325,7 +4325,7 @@ ExpandFromContext(xp, pat, num_file, fil
 	return ExpandRTDir(pat, num_file, file, "compiler");
 # if defined(FEAT_USR_CMDS) && defined(FEAT_EVAL)
     if (xp->xp_context == EXPAND_USER_LIST)
-        return ExpandUserList(xp, num_file, file);
+	return ExpandUserList(xp, num_file, file);
 # endif
 
     regmatch.regprog = vim_regcomp(pat, p_magic ? RE_MAGIC : 0);
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -7762,7 +7762,7 @@ do_autocmd_event(event, pat, nested, cmd
     int		findgroup;
     int		allgroups;
     int		patlen;
-    int	        is_buflocal;
+    int		is_buflocal;
     int		buflocal_nr;
     char_u	buflocal_pat[25];	/* for "<buffer=X>" */
 
@@ -8839,10 +8839,10 @@ has_autocmd(event, sfname, buf)
 
     for (ap = first_autopat[(int)event]; ap != NULL; ap = ap->next)
 	if (ap->pat != NULL && ap->cmds != NULL
-            && (ap->buflocal_nr == 0
+	      && (ap->buflocal_nr == 0
 		? match_file_pat(NULL, ap->reg_prog,
 					  fname, sfname, tail, ap->allow_dirs)
-                : buf != NULL && ap->buflocal_nr == buf->b_fnum
+		: buf != NULL && ap->buflocal_nr == buf->b_fnum
 	   ))
 	{
 	    retval = TRUE;
--- a/src/getchar.c
+++ b/src/getchar.c
@@ -4335,11 +4335,26 @@ eval_map_expr(str)
     char_u	*res;
     char_u	*p;
     char_u	*save_cmd;
+    pos_T	save_cursor;
 
     save_cmd = save_cmdline_alloc();
     if (save_cmd == NULL)
 	return NULL;
+
+    /* Forbid changing text or using ":normal" to avoid most of the bad side
+     * effects.  Also restore the cursor position. */
+    ++textlock;
+#ifdef FEAT_EX_EXTRA
+    ++ex_normal_lock;
+#endif
+    save_cursor = curwin->w_cursor;
     p = eval_to_string(str, NULL, FALSE);
+    --textlock;
+#ifdef FEAT_EX_EXTRA
+    --ex_normal_lock;
+#endif
+    curwin->w_cursor = save_cursor;
+
     restore_cmdline_alloc(save_cmd);
     if (p == NULL)
 	return NULL;
--- a/src/globals.h
+++ b/src/globals.h
@@ -937,6 +937,7 @@ EXTERN typebuf_T typebuf		/* typeahead b
 		    ;
 #ifdef FEAT_EX_EXTRA
 EXTERN int	ex_normal_busy INIT(= 0); /* recursivenes of ex_normal() */
+EXTERN int	ex_normal_lock INIT(= 0); /* forbid use of ex_normal() */
 #endif
 EXTERN int	stop_insert_mode;	/* for ":stopinsert" and 'insertmode' */
 
--- a/src/gui.c
+++ b/src/gui.c
@@ -4456,8 +4456,8 @@ gui_get_lightness(pixel)
     long_u	rgb = gui_mch_get_rgb(pixel);
 
     return  (int)(  (((rgb >> 16) & 0xff) * 299)
-	           + (((rgb >> 8) & 0xff) * 587)
-	           +  ((rgb	  & 0xff) * 114)) / 1000;
+		   + (((rgb >> 8) & 0xff) * 587)
+		   +  ((rgb	  & 0xff) * 114)) / 1000;
 }
 
 #if defined(FEAT_GUI_X11) || defined(PROTO)
--- a/src/gui_gtk.c
+++ b/src/gui_gtk.c
@@ -291,7 +291,7 @@ toolbar_button_focus_in_event(GtkWidget 
      * immediately pass it to mainwin.
      */
     if (gtk_socket_id != 0)
-        gtk_widget_grab_focus(gui.drawarea);
+	gtk_widget_grab_focus(gui.drawarea);
 
     return TRUE;
 }
@@ -742,9 +742,9 @@ gui_mch_add_menu_item(vimmenu_T *menu, i
 		    menu,
 		    idx);
 
-            if (gtk_socket_id != 0)
-                gtk_signal_connect(GTK_OBJECT(menu->id), "focus_in_event",
-                        GTK_SIGNAL_FUNC(toolbar_button_focus_in_event), NULL);
+	    if (gtk_socket_id != 0)
+		gtk_signal_connect(GTK_OBJECT(menu->id), "focus_in_event",
+			GTK_SIGNAL_FUNC(toolbar_button_focus_in_event), NULL);
 
 	    CONVERT_TO_UTF8_FREE(text);
 	    CONVERT_TO_UTF8_FREE(tooltip);
@@ -1307,11 +1307,11 @@ gui_mch_browse(int saving,
     gui.browse_fname = NULL;
     if (gtk_dialog_run(GTK_DIALOG(fc)) == GTK_RESPONSE_ACCEPT)
     {
-        char *filename;
-
-        filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(fc));
-        gui.browse_fname = (char_u *)g_strdup(filename);
-        g_free(filename);
+	char *filename;
+
+	filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(fc));
+	gui.browse_fname = (char_u *)g_strdup(filename);
+	g_free(filename);
     }
     gtk_widget_destroy(GTK_WIDGET(fc));
 
--- a/src/gui_gtk_x11.c
+++ b/src/gui_gtk_x11.c
@@ -812,7 +812,7 @@ focus_in_event(GtkWidget *widget, GdkEve
 
     /* make sure keyboard input goes to the draw area (if this is focus for a window) */
     if (widget != gui.drawarea)
-        gtk_widget_grab_focus(gui.drawarea);
+	gtk_widget_grab_focus(gui.drawarea);
 
     return TRUE;
 }
@@ -2843,21 +2843,21 @@ get_item_dimensions(GtkWidget *widget, G
     if (using_gnome && widget != NULL)
     {
 # ifdef HAVE_GTK2
-        GtkWidget *parent;
+	GtkWidget *parent;
 	BonoboDockItem *dockitem;
 
 	parent	 = gtk_widget_get_parent(widget);
-        if (G_TYPE_FROM_INSTANCE(parent) == BONOBO_TYPE_DOCK_ITEM)
-        {
-            /* Only menu & toolbar are dock items.  Could tabline be?
-             * Seem to be only the 2 defined in GNOME */
-            widget = parent;
-            dockitem = BONOBO_DOCK_ITEM(widget);
-
-            if (dockitem == NULL || dockitem->is_floating)
-                return 0;
-            item_orientation = bonobo_dock_item_get_orientation(dockitem);
-        }
+	if (G_TYPE_FROM_INSTANCE(parent) == BONOBO_TYPE_DOCK_ITEM)
+	{
+	    /* Only menu & toolbar are dock items.  Could tabline be?
+	     * Seem to be only the 2 defined in GNOME */
+	    widget = parent;
+	    dockitem = BONOBO_DOCK_ITEM(widget);
+
+	    if (dockitem == NULL || dockitem->is_floating)
+		return 0;
+	    item_orientation = bonobo_dock_item_get_orientation(dockitem);
+	}
 # else
 	GnomeDockItem *dockitem;
 
@@ -2953,9 +2953,9 @@ update_window_manager_hints(int force_wi
      */
     if (!(force_width && force_height)  &&  init_window_hints_state > 0)
     {
-        /* Don't do it! */
-        init_window_hints_state = 2;
-        return;
+	/* Don't do it! */
+	init_window_hints_state = 2;
+	return;
     }
 
     /* This also needs to be done when the main window isn't there yet,
@@ -2978,19 +2978,19 @@ update_window_manager_hints(int force_wi
      */
     if (force_width && force_height)
     {
-        min_width  = force_width;
-        min_height = force_height;
+	min_width  = force_width;
+	min_height = force_height;
     }
     else
     {
-        min_width  = width  + MIN_COLUMNS * gui.char_width;
-        min_height = height + MIN_LINES   * gui.char_height;
+	min_width  = width  + MIN_COLUMNS * gui.char_width;
+	min_height = height + MIN_LINES   * gui.char_height;
     }
 
     /* Avoid an expose event when the size didn't change. */
     if (width != old_width
 	    || height != old_height
-            || min_width != old_min_width
+	    || min_width != old_min_width
 	    || min_height != old_min_height
 	    || gui.char_width != old_char_width
 	    || gui.char_height != old_char_height)
@@ -3002,8 +3002,8 @@ update_window_manager_hints(int force_wi
 	geometry.height_inc  = gui.char_height;
 	geometry.base_width  = width;
 	geometry.base_height = height;
-        geometry.min_width   = min_width;
-        geometry.min_height  = min_height;
+	geometry.min_width   = min_width;
+	geometry.min_height  = min_height;
 	geometry_mask	     = GDK_HINT_BASE_SIZE|GDK_HINT_RESIZE_INC
 			       |GDK_HINT_MIN_SIZE;
 # ifdef HAVE_GTK2
@@ -3016,12 +3016,12 @@ update_window_manager_hints(int force_wi
 	gtk_window_set_geometry_hints(GTK_WINDOW(gui.mainwin), gui.formwin,
 				      &geometry, geometry_mask);
 # endif
-        old_width       = width;
-        old_height      = height;
-        old_min_width   = min_width;
-        old_min_height  = min_height;
-        old_char_width  = gui.char_width;
-        old_char_height = gui.char_height;
+	old_width       = width;
+	old_height      = height;
+	old_min_width   = min_width;
+	old_min_height  = min_height;
+	old_char_width  = gui.char_width;
+	old_char_height = gui.char_height;
     }
 }
 
@@ -3346,7 +3346,7 @@ gui_mch_update_tabline(void)
 	gtk_notebook_remove_page(GTK_NOTEBOOK(gui.tabline), nr);
 
     if (gtk_notebook_current_page(GTK_NOTEBOOK(gui.tabline)) != curtabidx)
-        gtk_notebook_set_page(GTK_NOTEBOOK(gui.tabline), curtabidx);
+	gtk_notebook_set_page(GTK_NOTEBOOK(gui.tabline), curtabidx);
 
     /* Make sure everything is in place before drawing text. */
     gui_mch_update();
@@ -3366,7 +3366,7 @@ gui_mch_set_curtab(nr)
 
     ignore_tabline_evt = TRUE;
     if (gtk_notebook_current_page(GTK_NOTEBOOK(gui.tabline)) != nr - 1)
-        gtk_notebook_set_page(GTK_NOTEBOOK(gui.tabline), nr - 1);
+	gtk_notebook_set_page(GTK_NOTEBOOK(gui.tabline), nr - 1);
     ignore_tabline_evt = FALSE;
 }
 
@@ -3678,7 +3678,7 @@ gui_mch_init(void)
     {
 	GtkWidget *page, *label, *event_box;
 
-        /* Add the first tab. */
+	/* Add the first tab. */
 	page = gtk_vbox_new(FALSE, 0);
 	gtk_widget_show(page);
 	gtk_container_add(GTK_CONTAINER(gui.tabline), page);
@@ -3692,12 +3692,12 @@ gui_mch_init(void)
 	gtk_notebook_set_tab_label(GTK_NOTEBOOK(gui.tabline), page, event_box);
     }
     gtk_signal_connect(GTK_OBJECT(gui.tabline), "switch_page",
-                       GTK_SIGNAL_FUNC(on_select_tab), NULL);
+		       GTK_SIGNAL_FUNC(on_select_tab), NULL);
 
     /* Create a popup menu for the tab line and connect it. */
     tabline_menu = create_tabline_menu();
     gtk_signal_connect_object(GTK_OBJECT(gui.tabline), "button_press_event",
-              GTK_SIGNAL_FUNC(on_tabline_menu), GTK_OBJECT(tabline_menu));
+	    GTK_SIGNAL_FUNC(on_tabline_menu), GTK_OBJECT(tabline_menu));
 #endif
 
     gui.formwin = gtk_form_new();
@@ -3797,22 +3797,22 @@ gui_mch_init(void)
      */
     if (gtk_socket_id == 0)
     {
-        gtk_signal_connect(GTK_OBJECT(gui.mainwin), "focus_out_event",
-                               GTK_SIGNAL_FUNC(focus_out_event), NULL);
-        gtk_signal_connect(GTK_OBJECT(gui.mainwin), "focus_in_event",
-                               GTK_SIGNAL_FUNC(focus_in_event), NULL);
+	gtk_signal_connect(GTK_OBJECT(gui.mainwin), "focus_out_event",
+			       GTK_SIGNAL_FUNC(focus_out_event), NULL);
+	gtk_signal_connect(GTK_OBJECT(gui.mainwin), "focus_in_event",
+			       GTK_SIGNAL_FUNC(focus_in_event), NULL);
     }
     else
     {
-        gtk_signal_connect(GTK_OBJECT(gui.drawarea), "focus_out_event",
-                               GTK_SIGNAL_FUNC(focus_out_event), NULL);
-        gtk_signal_connect(GTK_OBJECT(gui.drawarea), "focus_in_event",
-                               GTK_SIGNAL_FUNC(focus_in_event), NULL);
+	gtk_signal_connect(GTK_OBJECT(gui.drawarea), "focus_out_event",
+			       GTK_SIGNAL_FUNC(focus_out_event), NULL);
+	gtk_signal_connect(GTK_OBJECT(gui.drawarea), "focus_in_event",
+			       GTK_SIGNAL_FUNC(focus_in_event), NULL);
 #ifdef FEAT_GUI_TABLINE
-        gtk_signal_connect(GTK_OBJECT(gui.tabline), "focus_out_event",
-                               GTK_SIGNAL_FUNC(focus_out_event), NULL);
-        gtk_signal_connect(GTK_OBJECT(gui.tabline), "focus_in_event",
-                               GTK_SIGNAL_FUNC(focus_in_event), NULL);
+	gtk_signal_connect(GTK_OBJECT(gui.tabline), "focus_out_event",
+			       GTK_SIGNAL_FUNC(focus_out_event), NULL);
+	gtk_signal_connect(GTK_OBJECT(gui.tabline), "focus_in_event",
+			       GTK_SIGNAL_FUNC(focus_in_event), NULL);
 #endif /* FEAT_GUI_TABLINE */
     }
 
@@ -3906,7 +3906,7 @@ form_configure_event(GtkWidget *widget, 
      * Widths seem to sort themselves out, don't ask me why.
      */
     if (gtk_socket_id != 0)
-        usable_height -= (gui.char_height - (gui.char_height/2)); /* sic. */
+	usable_height -= (gui.char_height - (gui.char_height/2)); /* sic. */
 
     gtk_form_freeze(GTK_FORM(gui.formwin));
     gui_resize_shell(event->width, usable_height);
@@ -3958,10 +3958,10 @@ check_startup_plug_hints(gpointer data)
 {
     if (init_window_hints_state == 1)
     {
-        /* Safe to use normal hints now */
-        init_window_hints_state = 0;
-        update_window_manager_hints(0, 0);
-        return FALSE;   /* stop timer */
+	/* Safe to use normal hints now */
+	init_window_hints_state = 0;
+	update_window_manager_hints(0, 0);
+	return FALSE;   /* stop timer */
     }
 
     /* Keep on trying */
@@ -4034,25 +4034,25 @@ gui_mch_open(void)
 	vim_free(gui.geom);
 	gui.geom = NULL;
 
-        /* From now until everyone's stopped trying to set the window hints
-         * to their correct minimum values, stop them being set as we need
-         * them to remain at our required size for the parent GtkSocket to
-         * give us the right initial size.
-         */
+	/* From now until everyone's stopped trying to set the window hints
+	 * to their correct minimum values, stop them being set as we need
+	 * them to remain at our required size for the parent GtkSocket to
+	 * give us the right initial size.
+	 */
 	if (gtk_socket_id != 0  &&  (mask & WidthValue || mask & HeightValue))
-        {
-            guint pixel_width = (guint)(gui_get_base_width() + Columns * gui.char_width);
-            guint pixel_height = (guint)(gui_get_base_height() + Rows * gui.char_height);
+	{
+	    guint pixel_width = (guint)(gui_get_base_width() + Columns * gui.char_width);
+	    guint pixel_height = (guint)(gui_get_base_height() + Rows * gui.char_height);
 
 #ifdef HAVE_GTK2
-            pixel_width  += get_menu_tool_width();
-            pixel_height += get_menu_tool_height();
+	    pixel_width  += get_menu_tool_width();
+	    pixel_height += get_menu_tool_height();
 #endif
 
-            update_window_manager_hints(pixel_width, pixel_height);
-            init_window_hints_state = 1;
-            g_timeout_add(1000, check_startup_plug_hints, NULL);
-        }
+	    update_window_manager_hints(pixel_width, pixel_height);
+	    init_window_hints_state = 1;
+	    g_timeout_add(1000, check_startup_plug_hints, NULL);
+	}
     }
 
     gtk_form_set_size(GTK_FORM(gui.formwin),
@@ -4299,7 +4299,7 @@ gui_mch_set_shellsize(int width, int hei
 #else  /* HAVE_GTK2 */
     /* this will cause the proper resizement to happen too */
     if (gtk_socket_id == 0)
-        update_window_manager_hints(0, 0);
+	update_window_manager_hints(0, 0);
 
     /* With GTK+ 2, changing the size of the form widget doesn't resize
      * the window.  So let's do it the other way around and resize the
@@ -4308,9 +4308,9 @@ gui_mch_set_shellsize(int width, int hei
     height += get_menu_tool_height();
 
     if (gtk_socket_id == 0)
-        gtk_window_resize(GTK_WINDOW(gui.mainwin), width, height);
+	gtk_window_resize(GTK_WINDOW(gui.mainwin), width, height);
     else
-        update_window_manager_hints(width, height);
+	update_window_manager_hints(width, height);
 
 #if 0
     if (!resize_idle_installed)
@@ -7176,4 +7176,3 @@ gui_mch_destroy_sign(void *sign)
 # endif /* !HAVE_GTK2 */
 
 #endif /* FEAT_SIGN_ICONS */
-
--- a/src/gui_mac.c
+++ b/src/gui_mac.c
@@ -14,8 +14,8 @@
 
 /*
  * NOTES: - Vim 7+ does not support classic MacOS. Please use Vim 6.x
- *        - Comments mentioning FAQ refer to the book:
- *          "Macworld Mac Programming FAQs" from "IDG Books"
+ *	  - Comments mentioning FAQ refer to the book:
+ *	    "Macworld Mac Programming FAQs" from "IDG Books"
  */
 
 /*
@@ -3817,10 +3817,10 @@ gui_mch_set_sp_color(guicolor_T color)
     static void
 draw_undercurl(int flags, int row, int col, int cells)
 {
-    int                 x;
-    int                 offset;
-    const static int    val[8] = {1, 0, 0, 0, 1, 2, 2, 2 };
-    int                 y = FILL_Y(row + 1) - 1;
+    int			x;
+    int			offset;
+    const static int	val[8] = {1, 0, 0, 0, 1, 2, 2, 2 };
+    int			y = FILL_Y(row + 1) - 1;
 
     RGBForeColor(&specialColor);
 
--- a/src/gui_motif.c
+++ b/src/gui_motif.c
@@ -3223,12 +3223,12 @@ motif_get_toolbar_colors(bgp, fgp, bsp, 
     Pixel       *hsp;
 {
     XtVaGetValues(toolBar,
-            XmNbackground, bgp,
-            XmNforeground, fgp,
-            XmNbottomShadowColor, bsp,
-            XmNtopShadowColor, tsp,
-            XmNhighlightColor, hsp,
-            NULL);
+	    XmNbackground, bgp,
+	    XmNforeground, fgp,
+	    XmNbottomShadowColor, bsp,
+	    XmNtopShadowColor, tsp,
+	    XmNhighlightColor, hsp,
+	    NULL);
 }
 
 # ifdef FEAT_FOOTER
--- a/src/gui_w32.c
+++ b/src/gui_w32.c
@@ -897,8 +897,8 @@ set_tabline_font(void)
 		{
 		    LPNMTTDISPINFO	lpdi;
 		    POINT		pt;
-		    static char         *tt_text = NULL;
-		    static int          tt_text_len = 0;
+		    static char		*tt_text = NULL;
+		    static int		tt_text_len = 0;
 
 		    /*
 		     * Mouse is over the GUI tabline. Display the tooltip
@@ -2474,18 +2474,18 @@ gui_mch_get_screen_dimensions(int *scree
     get_work_area(&workarea_rect);
 
     *screen_w = workarea_rect.right - workarea_rect.left
-	        - GetSystemMetrics(SM_CXFRAME) * 2;
+		- GetSystemMetrics(SM_CXFRAME) * 2;
 
     /* FIXME: dirty trick: Because the gui_get_base_height() doesn't include
      * the menubar for MSwin, we subtract it from the screen height, so that
      * the window size can be made to fit on the screen. */
     *screen_h = workarea_rect.bottom - workarea_rect.top
-	        - GetSystemMetrics(SM_CYFRAME) * 2
+		- GetSystemMetrics(SM_CYFRAME) * 2
 		- GetSystemMetrics(SM_CYCAPTION)
 #ifdef FEAT_MENU
-	        - gui_mswin_get_menu_height(FALSE)
+		- gui_mswin_get_menu_height(FALSE)
 #endif
-	        ;
+		;
 }
 
 
@@ -4417,27 +4417,28 @@ multiline_balloon_available(void)
     hDll = GetModuleHandle(comctl_dll);
     if (hDll != NULL)
     {
-        DLLGETVERSIONPROC pGetVer;
-        pGetVer = (DLLGETVERSIONPROC)GetProcAddress(hDll, "DllGetVersion");
-
-        if (pGetVer != NULL)
-        {
-            DLLVERSIONINFO dvi;
-            HRESULT hr;
-
-            ZeroMemory(&dvi, sizeof(dvi));
-            dvi.cbSize = sizeof(dvi);
-
-            hr = (*pGetVer)(&dvi);
-
-            if (SUCCEEDED(hr)
+	DLLGETVERSIONPROC pGetVer;
+	pGetVer = (DLLGETVERSIONPROC)GetProcAddress(hDll, "DllGetVersion");
+
+	if (pGetVer != NULL)
+	{
+	    DLLVERSIONINFO dvi;
+	    HRESULT hr;
+
+	    ZeroMemory(&dvi, sizeof(dvi));
+	    dvi.cbSize = sizeof(dvi);
+
+	    hr = (*pGetVer)(&dvi);
+
+	    if (SUCCEEDED(hr)
 		    && (dvi.dwMajorVersion > 4
-		    || (dvi.dwMajorVersion == 4 && dvi.dwMinorVersion >= 70)))
+			|| (dvi.dwMajorVersion == 4
+						&& dvi.dwMinorVersion >= 70)))
 	    {
 		multiline_tip = TRUE;
 		return multiline_tip;
 	    }
-        }
+	}
 	else
 	{
 	    /* there is chance we have ancient CommCtl 4.70
--- a/src/gui_xmebw.c
+++ b/src/gui_xmebw.c
@@ -142,56 +142,56 @@ XmEnhancedButtonClassRec xmEnhancedButto
 {
     {
 	/* core_class fields */
-	/* superclass            */ (WidgetClass) & xmPushButtonClassRec,
-	/* class_name            */ "XmEnhancedButton",
-	/* widget_size           */ sizeof(XmEnhancedButtonRec),
-	/* class_initialize      */ NULL,
+	/* superclass		 */ (WidgetClass) & xmPushButtonClassRec,
+	/* class_name		 */ "XmEnhancedButton",
+	/* widget_size		 */ sizeof(XmEnhancedButtonRec),
+	/* class_initialize	 */ NULL,
 	/* class_part_initialize */ NULL,
-	/* class_inited          */ False,
-	/* initialize            */ Initialize,
-	/* initialize_hook       */ NULL,
-	/* realize               */ XtInheritRealize,
-	/* actions               */ actionsList,
-	/* num_actions           */ XtNumber(actionsList),
-	/* resources             */ resources,
-	/* num_resources         */ XtNumber(resources),
-	/* xrm_class             */ NULLQUARK,
-	/* compress_motion       */ True,
-	/* compress_exposure     */ XtExposeCompressMaximal,
-	/* compress_enterleave   */ True,
-	/* visible_interest      */ False,
-	/* destroy               */ Destroy,
-	/* resize                */ XtInheritResize,
-	/* expose                */ Redisplay,
-	/* set_values            */ SetValues,
-	/* set_values_hook       */ NULL,
-	/* set_values_almost     */ XtInheritSetValuesAlmost,
-	/* get_values_hook       */ NULL,
-	/* accept_focus          */ XtInheritAcceptFocus,
-	/* version               */ XtVersion,
-	/* callback_private      */ NULL,
-	/* tm_table              */ NULL,
-	/* query_geometry        */ NULL,
-	/* display_accelerator   */ XtInheritDisplayAccelerator,
-	/* extension             */ NULL
+	/* class_inited		 */ False,
+	/* initialize		 */ Initialize,
+	/* initialize_hook	 */ NULL,
+	/* realize		 */ XtInheritRealize,
+	/* actions		 */ actionsList,
+	/* num_actions		 */ XtNumber(actionsList),
+	/* resources		 */ resources,
+	/* num_resources	 */ XtNumber(resources),
+	/* xrm_class		 */ NULLQUARK,
+	/* compress_motion	 */ True,
+	/* compress_exposure	 */ XtExposeCompressMaximal,
+	/* compress_enterleave	 */ True,
+	/* visible_interest	 */ False,
+	/* destroy		 */ Destroy,
+	/* resize		 */ XtInheritResize,
+	/* expose		 */ Redisplay,
+	/* set_values		 */ SetValues,
+	/* set_values_hook	 */ NULL,
+	/* set_values_almost	 */ XtInheritSetValuesAlmost,
+	/* get_values_hook	 */ NULL,
+	/* accept_focus		 */ XtInheritAcceptFocus,
+	/* version		 */ XtVersion,
+	/* callback_private	 */ NULL,
+	/* tm_table		 */ NULL,
+	/* query_geometry	 */ NULL,
+	/* display_accelerator	 */ XtInheritDisplayAccelerator,
+	/* extension		 */ NULL
     },
 
     /* primitive_class fields */
     {
-	/* border highlight      */ BorderHighlight,
-	/* border_unhighlight    */ BorderUnhighlight,
-	/* translations          */ XtInheritTranslations,
-	/* arm and activate      */ XmInheritArmAndActivate,
-	/* synthetic resources   */ NULL,
-	/* number of syn res     */ 0,
-	/* extension             */ NULL,
+	/* border highlight	 */ BorderHighlight,
+	/* border_unhighlight	 */ BorderUnhighlight,
+	/* translations		 */ XtInheritTranslations,
+	/* arm and activate	 */ XmInheritArmAndActivate,
+	/* synthetic resources	 */ NULL,
+	/* number of syn res	 */ 0,
+	/* extension		 */ NULL,
     },
 
     /* label_class fields */
     {
-	/* setOverrideCallback   */ XmInheritSetOverrideCallback,
-	/* menuProcs             */ XmInheritMenuProc,
-	/* translations          */ XtInheritTranslations,
+	/* setOverrideCallback	 */ XmInheritSetOverrideCallback,
+	/* menuProcs		 */ XmInheritMenuProc,
+	/* translations		 */ XtInheritTranslations,
 	/* extension		 */ NULL,
     },
 
--- a/src/hardcopy.c
+++ b/src/hardcopy.c
@@ -106,7 +106,7 @@ static int	page_count;
 # define OPT_MBFONT_USECOURIER  0
 # define OPT_MBFONT_ASCII       1
 # define OPT_MBFONT_REGULAR     2
-# define OPT_MBFONT_BOLD        3
+# define OPT_MBFONT_BOLD	3
 # define OPT_MBFONT_OBLIQUE     4
 # define OPT_MBFONT_BOLDOBLIQUE 5
 # define OPT_MBFONT_NUM_OPTIONS 6
@@ -1075,20 +1075,20 @@ struct prt_ps_charset_S
 #define CS_JIS_C_1978   (0x01)
 #define CS_JIS_X_1983   (0x02)
 #define CS_JIS_X_1990   (0x04)
-#define CS_NEC          (0x08)
-#define CS_MSWINDOWS    (0x10)
-#define CS_CP932        (0x20)
-#define CS_KANJITALK6   (0x40)
+#define CS_NEC		(0x08)
+#define CS_MSWINDOWS	(0x10)
+#define CS_CP932	(0x20)
+#define CS_KANJITALK6	(0x40)
 #define CS_KANJITALK7   (0x80)
 
 /* Japanese encodings and charsets */
 static struct prt_ps_encoding_S j_encodings[] =
 {
     {"iso-2022-jp", NULL,       (CS_JIS_C_1978|CS_JIS_X_1983|CS_JIS_X_1990|
-                                                                    CS_NEC)},
-    {"euc-jp",      "EUC",      (CS_JIS_C_1978|CS_JIS_X_1983|CS_JIS_X_1990)},
-    {"sjis",        "RKSJ",     (CS_JIS_C_1978|CS_JIS_X_1983|CS_MSWINDOWS|
-                                                CS_KANJITALK6|CS_KANJITALK7)},
+								    CS_NEC)},
+    {"euc-jp",	    "EUC",	(CS_JIS_C_1978|CS_JIS_X_1983|CS_JIS_X_1990)},
+    {"sjis",	    "RKSJ",	(CS_JIS_C_1978|CS_JIS_X_1983|CS_MSWINDOWS|
+						CS_KANJITALK6|CS_KANJITALK7)},
     {"cp932",       "RKSJ",     CS_JIS_X_1983},
     {"ucs-2",       "UCS2",     CS_JIS_X_1990},
     {"utf-8",       "UTF8" ,    CS_JIS_X_1990}
@@ -1098,7 +1098,7 @@ static struct prt_ps_charset_S j_charset
     {"JIS_C_1978",  "78",       CS_JIS_C_1978},
     {"JIS_X_1983",  NULL,       CS_JIS_X_1983},
     {"JIS_X_1990",  "Hojo",     CS_JIS_X_1990},
-    {"NEC",         "Ext",      CS_NEC},
+    {"NEC",	    "Ext",	CS_NEC},
     {"MSWINDOWS",   "90ms",     CS_MSWINDOWS},
     {"CP932",       "90ms",     CS_JIS_X_1983},
     {"KANJITALK6",  "83pv",     CS_KANJITALK6},
@@ -1107,10 +1107,10 @@ static struct prt_ps_charset_S j_charset
 
 #define CS_GB_2312_80       (0x01)
 #define CS_GBT_12345_90     (0x02)
-#define CS_GBK2K            (0x04)
-#define CS_SC_MAC           (0x08)
-#define CS_GBT_90_MAC       (0x10)
-#define CS_GBK              (0x20)
+#define CS_GBK2K	    (0x04)
+#define CS_SC_MAC	    (0x08)
+#define CS_GBT_90_MAC	    (0x10)
+#define CS_GBK		    (0x20)
 #define CS_SC_ISO10646      (0x40)
 
 /* Simplified Chinese encodings and charsets */
@@ -1119,8 +1119,8 @@ static struct prt_ps_encoding_S sc_encod
     {"iso-2022",    NULL,       (CS_GB_2312_80|CS_GBT_12345_90)},
     {"gb18030",     NULL,       CS_GBK2K},
     {"euc-cn",      "EUC",      (CS_GB_2312_80|CS_GBT_12345_90|CS_SC_MAC|
-                                                                CS_GBT_90_MAC)},
-    {"gbk",         "EUC",      CS_GBK},
+								CS_GBT_90_MAC)},
+    {"gbk",	    "EUC",	CS_GBK},
     {"ucs-2",       "UCS2",     CS_SC_ISO10646},
     {"utf-8",       "UTF8",     CS_SC_ISO10646}
 };
@@ -1128,9 +1128,9 @@ static struct prt_ps_charset_S sc_charse
 {
     {"GB_2312-80",  "GB",       CS_GB_2312_80},
     {"GBT_12345-90","GBT",      CS_GBT_12345_90},
-    {"MAC",         "GBpc",     CS_SC_MAC},
-    {"GBT-90_MAC",  "GBTpc",    CS_GBT_90_MAC},
-    {"GBK",         "GBK",      CS_GBK},
+    {"MAC",	    "GBpc",	CS_SC_MAC},
+    {"GBT-90_MAC",  "GBTpc",	CS_GBT_90_MAC},
+    {"GBK",	    "GBK",	CS_GBK},
     {"GB18030",     "GBK2K",    CS_GBK2K},
     {"ISO10646",    "UniGB",    CS_SC_ISO10646}
 };
@@ -1138,25 +1138,25 @@ static struct prt_ps_charset_S sc_charse
 #define CS_CNS_PLANE_1      (0x01)
 #define CS_CNS_PLANE_2      (0x02)
 #define CS_CNS_PLANE_1_2    (0x04)
-#define CS_B5               (0x08)
-#define CS_ETEN             (0x10)
-#define CS_HK_GCCS          (0x20)
-#define CS_HK_SCS           (0x40)
-#define CS_HK_SCS_ETEN      (0x80)
-#define CS_MTHKL            (0x100)
-#define CS_MTHKS            (0x200)
-#define CS_DLHKL            (0x400)
-#define CS_DLHKS            (0x800)
-#define CS_TC_ISO10646      (0x1000)
+#define CS_B5		    (0x08)
+#define CS_ETEN		    (0x10)
+#define CS_HK_GCCS	    (0x20)
+#define CS_HK_SCS	    (0x40)
+#define CS_HK_SCS_ETEN	    (0x80)
+#define CS_MTHKL	    (0x100)
+#define CS_MTHKS	    (0x200)
+#define CS_DLHKL	    (0x400)
+#define CS_DLHKS	    (0x800)
+#define CS_TC_ISO10646	    (0x1000)
 
 /* Traditional Chinese encodings and charsets */
 static struct prt_ps_encoding_S tc_encodings[] =
 {
     {"iso-2022",    NULL,       (CS_CNS_PLANE_1|CS_CNS_PLANE_2)},
     {"euc-tw",      "EUC",      CS_CNS_PLANE_1_2},
-    {"big5",        "B5",       (CS_B5|CS_ETEN|CS_HK_GCCS|CS_HK_SCS|
-                                    CS_HK_SCS_ETEN|CS_MTHKL|CS_MTHKS|CS_DLHKL|
-                                                                    CS_DLHKS)},
+    {"big5",	    "B5",	(CS_B5|CS_ETEN|CS_HK_GCCS|CS_HK_SCS|
+				    CS_HK_SCS_ETEN|CS_MTHKL|CS_MTHKS|CS_DLHKL|
+								    CS_DLHKS)},
     {"cp950",       "B5",       CS_B5},
     {"ucs-2",       "UCS2",     CS_TC_ISO10646},
     {"utf-8",       "UTF8",     CS_TC_ISO10646},
@@ -1168,11 +1168,11 @@ static struct prt_ps_charset_S tc_charse
     {"CNS_1992_1",  "CNS1",     CS_CNS_PLANE_1},
     {"CNS_1992_2",  "CNS2",     CS_CNS_PLANE_2},
     {"CNS_1993",    "CNS",      CS_CNS_PLANE_1_2},
-    {"BIG5",        NULL,       CS_B5},
-    {"CP950",       NULL,       CS_B5},
-    {"ETEN",        "ETen",     CS_ETEN},
-    {"HK_GCCS",     "HKgccs",   CS_HK_GCCS},
-    {"SCS",         "HKscs",    CS_HK_SCS},
+    {"BIG5",	    NULL,	CS_B5},
+    {"CP950",	    NULL,	CS_B5},
+    {"ETEN",	    "ETen",	CS_ETEN},
+    {"HK_GCCS",     "HKgccs",	CS_HK_GCCS},
+    {"SCS",	    "HKscs",	CS_HK_SCS},
     {"SCS_ETEN",    "ETHK",     CS_HK_SCS_ETEN},
     {"MTHKL",       "HKm471",   CS_MTHKL},
     {"MTHKS",       "HKm314",   CS_MTHKS},
@@ -1181,8 +1181,8 @@ static struct prt_ps_charset_S tc_charse
     {"ISO10646",    "UniCNS",   CS_TC_ISO10646}
 };
 
-#define CS_KR_X_1992        (0x01)
-#define CS_KR_MAC           (0x02)
+#define CS_KR_X_1992	    (0x01)
+#define CS_KR_MAC	    (0x02)
 #define CS_KR_X_1992_MS     (0x04)
 #define CS_KR_ISO10646      (0x08)
 
@@ -1193,7 +1193,7 @@ static struct prt_ps_encoding_S k_encodi
     {"euc-kr",      "EUC",      (CS_KR_X_1992|CS_KR_MAC)},
     {"johab",       "Johab",    CS_KR_X_1992},
     {"cp1361",      "Johab",    CS_KR_X_1992},
-    {"uhc",         "UHC",      CS_KR_X_1992_MS},
+    {"uhc",	    "UHC",	CS_KR_X_1992_MS},
     {"cp949",       "UHC",      CS_KR_X_1992_MS},
     {"ucs-2",       "UCS2",     CS_KR_ISO10646},
     {"utf-8",       "UTF8",     CS_KR_ISO10646}
@@ -1202,7 +1202,7 @@ static struct prt_ps_charset_S k_charset
 {
     {"KS_X_1992",   "KSC",      CS_KR_X_1992},
     {"CP1361",      "KSC",      CS_KR_X_1992},
-    {"MAC",         "KSCpc",    CS_KR_MAC},
+    {"MAC",	    "KSCpc",	CS_KR_MAC},
     {"MSWINDOWS",   "KSCms",    CS_KR_X_1992_MS},
     {"CP949",       "KSCms",    CS_KR_X_1992_MS},
     {"WANSUNG",     "KSCms",    CS_KR_X_1992_MS},
@@ -1212,47 +1212,47 @@ static struct prt_ps_charset_S k_charset
 /* Collections of encodings and charsets for multi-byte printing */
 struct prt_ps_mbfont_S
 {
-    int                         num_encodings;
-    struct prt_ps_encoding_S    *encodings;
-    int                         num_charsets;
-    struct prt_ps_charset_S     *charsets;
-    char                        *ascii_enc;
-    char                        *defcs;
+    int				num_encodings;
+    struct prt_ps_encoding_S	*encodings;
+    int				num_charsets;
+    struct prt_ps_charset_S	*charsets;
+    char			*ascii_enc;
+    char			*defcs;
 };
 
 static struct prt_ps_mbfont_S prt_ps_mbfonts[] =
 {
     {
-        NUM_ELEMENTS(j_encodings),
-        j_encodings,
-        NUM_ELEMENTS(j_charsets),
-        j_charsets,
-        "jis_roman",
-        "JIS_X_1983"
+	NUM_ELEMENTS(j_encodings),
+	j_encodings,
+	NUM_ELEMENTS(j_charsets),
+	j_charsets,
+	"jis_roman",
+	"JIS_X_1983"
     },
     {
-        NUM_ELEMENTS(sc_encodings),
-        sc_encodings,
-        NUM_ELEMENTS(sc_charsets),
-        sc_charsets,
-        "gb_roman",
-        "GB_2312-80"
+	NUM_ELEMENTS(sc_encodings),
+	sc_encodings,
+	NUM_ELEMENTS(sc_charsets),
+	sc_charsets,
+	"gb_roman",
+	"GB_2312-80"
     },
     {
-        NUM_ELEMENTS(tc_encodings),
-        tc_encodings,
-        NUM_ELEMENTS(tc_charsets),
-        tc_charsets,
-        "cns_roman",
-        "BIG5"
+	NUM_ELEMENTS(tc_encodings),
+	tc_encodings,
+	NUM_ELEMENTS(tc_charsets),
+	tc_charsets,
+	"cns_roman",
+	"BIG5"
     },
     {
-        NUM_ELEMENTS(k_encodings),
-        k_encodings,
-        NUM_ELEMENTS(k_charsets),
-        k_charsets,
-        "ks_roman",
-        "KS_X_1992"
+	NUM_ELEMENTS(k_encodings),
+	k_encodings,
+	NUM_ELEMENTS(k_charsets),
+	k_charsets,
+	"ks_roman",
+	"KS_X_1992"
     }
 };
 #endif /* FEAT_MBYTE */
@@ -1299,19 +1299,19 @@ static char *prt_resource_types[] =
 #define PRT_RESOURCE_RESOURCE	    "Resource-"
 #define PRT_RESOURCE_PROCSET	    "ProcSet"
 #define PRT_RESOURCE_ENCODING	    "Encoding"
-#define PRT_RESOURCE_CMAP           "CMap"
+#define PRT_RESOURCE_CMAP	    "CMap"
 
 
 /* Data for table based DSC comment recognition, easy to extend if VIM needs to
  * read more comments. */
-#define PRT_DSC_MISC_TYPE           (-1)
-#define PRT_DSC_TITLE_TYPE          (1)
-#define PRT_DSC_VERSION_TYPE        (2)
+#define PRT_DSC_MISC_TYPE	    (-1)
+#define PRT_DSC_TITLE_TYPE	    (1)
+#define PRT_DSC_VERSION_TYPE	    (2)
 #define PRT_DSC_ENDCOMMENTS_TYPE    (3)
 
-#define PRT_DSC_TITLE	            "%%Title:"
-#define PRT_DSC_VERSION	            "%%Version:"
-#define PRT_DSC_ENDCOMMENTS         "%%EndComments:"
+#define PRT_DSC_TITLE		    "%%Title:"
+#define PRT_DSC_VERSION		    "%%Version:"
+#define PRT_DSC_ENDCOMMENTS	    "%%EndComments:"
 
 struct prt_dsc_comment_S
 {
@@ -1538,7 +1538,7 @@ prt_def_font(new_name, encoding, height,
     prt_write_file(prt_line_buffer);
 #ifdef FEAT_MBYTE
     if (prt_out_mbyte)
-        sprintf((char *)prt_line_buffer, "/%s %d %f /_%s sffs\n",
+	sprintf((char *)prt_line_buffer, "/%s %d %f /_%s sffs\n",
 		       new_name, height, 500./prt_ps_courier_font.wx, new_name);
     else
 #endif
@@ -1704,7 +1704,7 @@ prt_flush_buffer()
 		prt_do_moveto = FALSE;
 	    }
 
-            /* Underline length of text run */
+	    /* Underline length of text run */
 	    prt_write_real(prt_text_run, 2);
 	    prt_write_string("ul\n");
 	}
@@ -1712,18 +1712,18 @@ prt_flush_buffer()
 	 * Note: we write text out raw - EBCDIC conversion is handled in the
 	 * PostScript world via the font encoding vector. */
 #ifdef FEAT_MBYTE
-        if (prt_out_mbyte)
-            prt_write_string("<");
-        else
+	if (prt_out_mbyte)
+	    prt_write_string("<");
+	else
 #endif
-            prt_write_string("(");
+	    prt_write_string("(");
 	prt_write_file_raw_len(prt_ps_buffer.ga_data, prt_ps_buffer.ga_len);
 #ifdef FEAT_MBYTE
-        if (prt_out_mbyte)
-            prt_write_string(">");
-        else
+	if (prt_out_mbyte)
+	    prt_write_string(">");
+	else
 #endif
-            prt_write_string(")");
+	    prt_write_string(")");
 	/* Add a moveto if need be and use the appropriate show procedure */
 	if (prt_do_moveto)
 	{
@@ -1800,19 +1800,19 @@ prt_resfile_next_line()
     index = prt_resfile.line_end + 1;
     while (index < prt_resfile.len)
     {
-        if (prt_resfile.buffer[index] != PSLF && prt_resfile.buffer[index]
-                                                                        != PSCR)
-            break;
-        index++;
+	if (prt_resfile.buffer[index] != PSLF && prt_resfile.buffer[index]
+									!= PSCR)
+	    break;
+	index++;
     }
     prt_resfile.line_start = index;
 
     while (index < prt_resfile.len)
     {
-        if (prt_resfile.buffer[index] == PSLF || prt_resfile.buffer[index]
-                                                                        == PSCR)
-            break;
-        index++;
+	if (prt_resfile.buffer[index] == PSLF || prt_resfile.buffer[index]
+									== PSCR)
+	    break;
+	index++;
     }
     prt_resfile.line_end = index;
 
@@ -1827,10 +1827,10 @@ prt_resfile_strncmp(offset, string, len)
 {
     /* Force not equal if string is longer than remainder of line */
     if (len > (prt_resfile.line_end - (prt_resfile.line_start + offset)))
-        return 1;
+	return 1;
 
     return STRNCMP(&prt_resfile.buffer[prt_resfile.line_start + offset],
-                                                                string, len);
+								string, len);
 }
 
     static int
@@ -1842,9 +1842,9 @@ prt_resfile_skip_nonws(offset)
     index = prt_resfile.line_start + offset;
     while (index < prt_resfile.line_end)
     {
-        if (isspace(prt_resfile.buffer[index]))
-            return index - prt_resfile.line_start;
-        index++;
+	if (isspace(prt_resfile.buffer[index]))
+	    return index - prt_resfile.line_start;
+	index++;
     }
     return -1;
 }
@@ -1858,9 +1858,9 @@ prt_resfile_skip_ws(offset)
     index = prt_resfile.line_start + offset;
     while (index < prt_resfile.line_end)
     {
-        if (!isspace(prt_resfile.buffer[index]))
-            return index - prt_resfile.line_start;
-        index++;
+	if (!isspace(prt_resfile.buffer[index]))
+	    return index - prt_resfile.line_start;
+	index++;
     }
     return -1;
 }
@@ -1876,37 +1876,37 @@ prt_next_dsc(p_dsc_line)
 
     /* Move to start of next line */
     if (!prt_resfile_next_line())
-        return FALSE;
+	return FALSE;
 
     /* DSC comments always start %% */
     if (prt_resfile_strncmp(0, "%%", 2) != 0)
-        return FALSE;
+	return FALSE;
 
     /* Find type of DSC comment */
     for (comment = 0; comment < NUM_ELEMENTS(prt_dsc_table); comment++)
-        if (prt_resfile_strncmp(0, prt_dsc_table[comment].string,
-                                            prt_dsc_table[comment].len) == 0)
-            break;
+	if (prt_resfile_strncmp(0, prt_dsc_table[comment].string,
+					    prt_dsc_table[comment].len) == 0)
+	    break;
 
     if (comment != NUM_ELEMENTS(prt_dsc_table))
     {
-        /* Return type of comment */
-        p_dsc_line->type = prt_dsc_table[comment].type;
-        offset = prt_dsc_table[comment].len;
+	/* Return type of comment */
+	p_dsc_line->type = prt_dsc_table[comment].type;
+	offset = prt_dsc_table[comment].len;
     }
     else
     {
-        /* Unrecognised DSC comment, skip to ws after comment leader */
-        p_dsc_line->type = PRT_DSC_MISC_TYPE;
-        offset = prt_resfile_skip_nonws(0);
-        if (offset == -1)
-            return FALSE;
+	/* Unrecognised DSC comment, skip to ws after comment leader */
+	p_dsc_line->type = PRT_DSC_MISC_TYPE;
+	offset = prt_resfile_skip_nonws(0);
+	if (offset == -1)
+	    return FALSE;
     }
 
     /* Skip ws to comment value */
     offset = prt_resfile_skip_ws(offset);
     if (offset == -1)
-        return FALSE;
+	return FALSE;
 
     p_dsc_line->string = &prt_resfile.buffer[prt_resfile.line_start + offset];
     p_dsc_line->len = prt_resfile.line_end - (prt_resfile.line_start + offset);
@@ -1921,10 +1921,10 @@ prt_next_dsc(p_dsc_line)
 prt_open_resource(resource)
     struct prt_ps_resource_S *resource;
 {
-    int         offset;
-    int         seen_all;
-    int         seen_title;
-    int         seen_version;
+    int		offset;
+    int		seen_all;
+    int		seen_title;
+    int		seen_version;
     FILE	*fd_resource;
     struct prt_dsc_line_S dsc_line;
 
@@ -1938,7 +1938,7 @@ prt_open_resource(resource)
 
     /* Parse first line to ensure valid resource file */
     prt_resfile.len = (int)fread((char *)prt_resfile.buffer, sizeof(char_u),
-                                            PRT_FILE_BUFFER_LEN, fd_resource);
+					    PRT_FILE_BUFFER_LEN, fd_resource);
     if (ferror(fd_resource))
     {
 	EMSG2(_("E457: Can't read PostScript resource file \"%s\""),
@@ -1950,7 +1950,7 @@ prt_open_resource(resource)
     prt_resfile.line_end = -1;
     prt_resfile.line_start = 0;
     if (!prt_resfile_next_line())
-        return FALSE;
+	return FALSE;
 
     offset = 0;
 
@@ -1967,10 +1967,10 @@ prt_open_resource(resource)
     offset += (int)STRLEN(PRT_RESOURCE_HEADER);
     offset = prt_resfile_skip_nonws(offset);
     if (offset == -1)
-        return FALSE;
+	return FALSE;
     offset = prt_resfile_skip_ws(offset);
     if (offset == -1)
-        return FALSE;
+	return FALSE;
 
     if (prt_resfile_strncmp(offset, PRT_RESOURCE_RESOURCE,
 				     (int)STRLEN(PRT_RESOURCE_RESOURCE)) != 0)
@@ -2008,31 +2008,31 @@ prt_open_resource(resource)
     seen_all = FALSE;
     while (!seen_all && prt_next_dsc(&dsc_line))
     {
-        switch (dsc_line.type)
-        {
-        case PRT_DSC_TITLE_TYPE:
-            vim_strncpy(resource->title, dsc_line.string, dsc_line.len);
-            seen_title = TRUE;
-            if (seen_version)
-                seen_all = TRUE;
-            break;
-
-        case PRT_DSC_VERSION_TYPE:
-            vim_strncpy(resource->version, dsc_line.string, dsc_line.len);
-            seen_version = TRUE;
-            if (seen_title)
-                seen_all = TRUE;
-            break;
-
-        case PRT_DSC_ENDCOMMENTS_TYPE:
-            /* Wont find title or resource after this comment, stop searching */
-            seen_all = TRUE;
-            break;
-
-        case PRT_DSC_MISC_TYPE:
-            /* Not interested in whatever comment this line had */
-            break;
-        }
+	switch (dsc_line.type)
+	{
+	case PRT_DSC_TITLE_TYPE:
+	    vim_strncpy(resource->title, dsc_line.string, dsc_line.len);
+	    seen_title = TRUE;
+	    if (seen_version)
+		seen_all = TRUE;
+	    break;
+
+	case PRT_DSC_VERSION_TYPE:
+	    vim_strncpy(resource->version, dsc_line.string, dsc_line.len);
+	    seen_version = TRUE;
+	    if (seen_title)
+		seen_all = TRUE;
+	    break;
+
+	case PRT_DSC_ENDCOMMENTS_TYPE:
+	    /* Wont find title or resource after this comment, stop searching */
+	    seen_all = TRUE;
+	    break;
+
+	case PRT_DSC_MISC_TYPE:
+	    /* Not interested in whatever comment this line had */
+	    break;
+	}
     }
 
     if (!seen_title || !seen_version)
@@ -2151,10 +2151,10 @@ prt_dsc_font_resource(resource, ps_font)
     int     i;
 
     prt_dsc_resources(resource, "font",
-                                    ps_font->ps_fontname[PRT_PS_FONT_ROMAN]);
+				    ps_font->ps_fontname[PRT_PS_FONT_ROMAN]);
     for (i = PRT_PS_FONT_BOLD ; i <= PRT_PS_FONT_BOLDOBLIQUE ; i++)
-        if (ps_font->ps_fontname[i] != NULL)
-            prt_dsc_resources(NULL, "font", ps_font->ps_fontname[i]);
+	if (ps_font->ps_fontname[i] != NULL)
+	    prt_dsc_resources(NULL, "font", ps_font->ps_fontname[i]);
 }
 
     static void
@@ -2228,18 +2228,18 @@ mch_print_cleanup()
 #ifdef FEAT_MBYTE
     if (prt_out_mbyte)
     {
-        int     i;
-
-        /* Free off all CID font names created, but first clear duplicate
-         * pointers to the same string (when the same font is used for more than
-         * one style).
-         */
-        for (i = PRT_PS_FONT_ROMAN; i <= PRT_PS_FONT_BOLDOBLIQUE; i++)
-        {
-            if (prt_ps_mb_font.ps_fontname[i] != NULL)
-                vim_free(prt_ps_mb_font.ps_fontname[i]);
-            prt_ps_mb_font.ps_fontname[i] = NULL;
-        }
+	int     i;
+
+	/* Free off all CID font names created, but first clear duplicate
+	 * pointers to the same string (when the same font is used for more than
+	 * one style).
+	 */
+	for (i = PRT_PS_FONT_ROMAN; i <= PRT_PS_FONT_BOLDOBLIQUE; i++)
+	{
+	    if (prt_ps_mb_font.ps_fontname[i] != NULL)
+		vim_free(prt_ps_mb_font.ps_fontname[i]);
+	    prt_ps_mb_font.ps_fontname[i] = NULL;
+	}
     }
 
     if (prt_do_conv)
@@ -2334,11 +2334,11 @@ prt_get_cpl()
     {
 	prt_number_width = PRINT_NUMBER_WIDTH * prt_char_width;
 #ifdef FEAT_MBYTE
-        /* If we are outputting multi-byte characters then line numbers will be
-         * printed with half width characters
-         */
-        if (prt_out_mbyte)
-            prt_number_width /= 2;
+	/* If we are outputting multi-byte characters then line numbers will be
+	 * printed with half width characters
+	 */
+	if (prt_out_mbyte)
+	    prt_number_width /= 2;
 #endif
 	prt_left_margin += prt_number_width;
     }
@@ -2359,7 +2359,7 @@ prt_build_cid_fontname(font, name, name_
 
     fontname = (char *)alloc(name_len + 1);
     if (fontname == NULL)
-        return FALSE;
+	return FALSE;
     vim_strncpy((char_u *)fontname, name, name_len);
     prt_ps_mb_font.ps_fontname[font] = fontname;
 
@@ -2418,12 +2418,12 @@ prt_match_encoding(p_encoding, p_cmap, p
     p_mbenc = p_cmap->encodings;
     for (mbenc = 0; mbenc < p_cmap->num_encodings; mbenc++)
     {
-        if (STRNICMP(p_mbenc->encoding, p_encoding, enc_len) == 0)
-        {
-            *pp_mbenc = p_mbenc;
-            return TRUE;
-        }
-        p_mbenc++;
+	if (STRNICMP(p_mbenc->encoding, p_encoding, enc_len) == 0)
+	{
+	    *pp_mbenc = p_mbenc;
+	    return TRUE;
+	}
+	p_mbenc++;
     }
     return FALSE;
 }
@@ -2440,17 +2440,17 @@ prt_match_charset(p_charset, p_cmap, pp_
 
     /* Look for recognised character set, using default if one is not given */
     if (*p_charset == NUL)
-        p_charset = p_cmap->defcs;
+	p_charset = p_cmap->defcs;
     char_len = (int)STRLEN(p_charset);
     p_mbchar = p_cmap->charsets;
     for (mbchar = 0; mbchar < p_cmap->num_charsets; mbchar++)
     {
-        if (STRNICMP(p_mbchar->charset, p_charset, char_len) == 0)
-        {
-            *pp_mbchar = p_mbchar;
-            return TRUE;
-        }
-        p_mbchar++;
+	if (STRNICMP(p_mbchar->charset, p_charset, char_len) == 0)
+	{
+	    *pp_mbchar = p_mbchar;
+	    return TRUE;
+	}
+	p_mbchar++;
     }
     return FALSE;
 }
@@ -2473,8 +2473,8 @@ mch_print_init(psettings, jobname, force
     double      top;
     double      bottom;
 #ifdef FEAT_MBYTE
-    int         props;
-    int         cmap = 0;
+    int		props;
+    int		cmap = 0;
     char_u	*p_encoding;
     struct prt_ps_encoding_S *p_mbenc;
     struct prt_ps_encoding_S *p_mbenc_first;
@@ -2505,7 +2505,7 @@ mch_print_init(psettings, jobname, force
 #ifdef FEAT_MBYTE
     p_encoding = enc_skip(p_penc);
     if (*p_encoding == NUL)
-        p_encoding = enc_skip(p_enc);
+	p_encoding = enc_skip(p_enc);
 
     /* Look for recognised multi-byte coding, and if the charset is recognised.
      * This is to cope with the fact that various unicode encodings are
@@ -2514,119 +2514,119 @@ mch_print_init(psettings, jobname, force
     props = enc_canon_props(p_encoding);
     if (!(props & ENC_8BIT) && (*p_penc != NUL || *p_pmcs != NUL))
     {
-        p_mbenc_first = NULL;
-        p_mbchar = NULL;
-        for (cmap = 0; cmap < NUM_ELEMENTS(prt_ps_mbfonts); cmap++)
-            if (prt_match_encoding((char *)p_encoding, &prt_ps_mbfonts[cmap],
+	p_mbenc_first = NULL;
+	p_mbchar = NULL;
+	for (cmap = 0; cmap < NUM_ELEMENTS(prt_ps_mbfonts); cmap++)
+	    if (prt_match_encoding((char *)p_encoding, &prt_ps_mbfonts[cmap],
 								    &p_mbenc))
-            {
-                if (p_mbenc_first == NULL)
-                    p_mbenc_first = p_mbenc;
-                if (prt_match_charset((char *)p_pmcs, &prt_ps_mbfonts[cmap],
+	    {
+		if (p_mbenc_first == NULL)
+		    p_mbenc_first = p_mbenc;
+		if (prt_match_charset((char *)p_pmcs, &prt_ps_mbfonts[cmap],
 								   &p_mbchar))
-                    break;
-            }
-
-        /* Use first encoding matched if no charset matched */
-        if (p_mbchar == NULL && p_mbenc_first != NULL)
-            p_mbenc = p_mbenc_first;
+		    break;
+	    }
+
+	/* Use first encoding matched if no charset matched */
+	if (p_mbchar == NULL && p_mbenc_first != NULL)
+	    p_mbenc = p_mbenc_first;
     }
 
     prt_out_mbyte = (p_mbenc != NULL);
     if (prt_out_mbyte)
     {
-        /* Build CMap name - will be same for all multi-byte fonts used */
-        prt_cmap[0] = NUL;
-
-        prt_custom_cmap = (p_mbchar == NULL);
-        if (!prt_custom_cmap)
-        {
-            /* Check encoding and character set are compatible */
-            if ((p_mbenc->needs_charset & p_mbchar->has_charset) == 0)
-            {
-                EMSG(_("E673: Incompatible multi-byte encoding and character set."));
-                return FALSE;
-            }
-
-            /* Add charset name if not empty */
-            if (p_mbchar->cmap_charset != NULL)
-            {
-                vim_strncpy((char_u *)prt_cmap,
+	/* Build CMap name - will be same for all multi-byte fonts used */
+	prt_cmap[0] = NUL;
+
+	prt_custom_cmap = (p_mbchar == NULL);
+	if (!prt_custom_cmap)
+	{
+	    /* Check encoding and character set are compatible */
+	    if ((p_mbenc->needs_charset & p_mbchar->has_charset) == 0)
+	    {
+		EMSG(_("E673: Incompatible multi-byte encoding and character set."));
+		return FALSE;
+	    }
+
+	    /* Add charset name if not empty */
+	    if (p_mbchar->cmap_charset != NULL)
+	    {
+		vim_strncpy((char_u *)prt_cmap,
 		      (char_u *)p_mbchar->cmap_charset, sizeof(prt_cmap) - 3);
-                STRCAT(prt_cmap, "-");
-            }
-        }
-        else
-        {
-            /* Add custom CMap character set name */
-            if (*p_pmcs == NUL)
-            {
-                EMSG(_("E674: printmbcharset cannot be empty with multi-byte encoding."));
-                return FALSE;
-            }
-            vim_strncpy((char_u *)prt_cmap, p_pmcs, sizeof(prt_cmap) - 3);
-            STRCAT(prt_cmap, "-");
-        }
-
-        /* CMap name ends with (optional) encoding name and -H for horizontal */
-        if (p_mbenc->cmap_encoding != NULL && STRLEN(prt_cmap)
+		STRCAT(prt_cmap, "-");
+	    }
+	}
+	else
+	{
+	    /* Add custom CMap character set name */
+	    if (*p_pmcs == NUL)
+	    {
+		EMSG(_("E674: printmbcharset cannot be empty with multi-byte encoding."));
+		return FALSE;
+	    }
+	    vim_strncpy((char_u *)prt_cmap, p_pmcs, sizeof(prt_cmap) - 3);
+	    STRCAT(prt_cmap, "-");
+	}
+
+	/* CMap name ends with (optional) encoding name and -H for horizontal */
+	if (p_mbenc->cmap_encoding != NULL && STRLEN(prt_cmap)
 		      + STRLEN(p_mbenc->cmap_encoding) + 3 < sizeof(prt_cmap))
-        {
-            STRCAT(prt_cmap, p_mbenc->cmap_encoding);
-            STRCAT(prt_cmap, "-");
-        }
-        STRCAT(prt_cmap, "H");
-
-        if (!mbfont_opts[OPT_MBFONT_REGULAR].present)
-        {
-            EMSG(_("E675: No default font specified for multi-byte printing."));
-            return FALSE;
-        }
-
-        /* Derive CID font names with fallbacks if not defined */
-        if (!prt_build_cid_fontname(PRT_PS_FONT_ROMAN,
-                                    mbfont_opts[OPT_MBFONT_REGULAR].string,
-                                    mbfont_opts[OPT_MBFONT_REGULAR].strlen))
-            return FALSE;
-        if (mbfont_opts[OPT_MBFONT_BOLD].present)
-            if (!prt_build_cid_fontname(PRT_PS_FONT_BOLD,
-                                        mbfont_opts[OPT_MBFONT_BOLD].string,
-                                        mbfont_opts[OPT_MBFONT_BOLD].strlen))
-                return FALSE;
-        if (mbfont_opts[OPT_MBFONT_OBLIQUE].present)
-            if (!prt_build_cid_fontname(PRT_PS_FONT_OBLIQUE,
-                                        mbfont_opts[OPT_MBFONT_OBLIQUE].string,
-                                        mbfont_opts[OPT_MBFONT_OBLIQUE].strlen))
-                return FALSE;
-        if (mbfont_opts[OPT_MBFONT_BOLDOBLIQUE].present)
-            if (!prt_build_cid_fontname(PRT_PS_FONT_BOLDOBLIQUE,
+	{
+	    STRCAT(prt_cmap, p_mbenc->cmap_encoding);
+	    STRCAT(prt_cmap, "-");
+	}
+	STRCAT(prt_cmap, "H");
+
+	if (!mbfont_opts[OPT_MBFONT_REGULAR].present)
+	{
+	    EMSG(_("E675: No default font specified for multi-byte printing."));
+	    return FALSE;
+	}
+
+	/* Derive CID font names with fallbacks if not defined */
+	if (!prt_build_cid_fontname(PRT_PS_FONT_ROMAN,
+				    mbfont_opts[OPT_MBFONT_REGULAR].string,
+				    mbfont_opts[OPT_MBFONT_REGULAR].strlen))
+	    return FALSE;
+	if (mbfont_opts[OPT_MBFONT_BOLD].present)
+	    if (!prt_build_cid_fontname(PRT_PS_FONT_BOLD,
+					mbfont_opts[OPT_MBFONT_BOLD].string,
+					mbfont_opts[OPT_MBFONT_BOLD].strlen))
+		return FALSE;
+	if (mbfont_opts[OPT_MBFONT_OBLIQUE].present)
+	    if (!prt_build_cid_fontname(PRT_PS_FONT_OBLIQUE,
+					mbfont_opts[OPT_MBFONT_OBLIQUE].string,
+					mbfont_opts[OPT_MBFONT_OBLIQUE].strlen))
+		return FALSE;
+	if (mbfont_opts[OPT_MBFONT_BOLDOBLIQUE].present)
+	    if (!prt_build_cid_fontname(PRT_PS_FONT_BOLDOBLIQUE,
 				   mbfont_opts[OPT_MBFONT_BOLDOBLIQUE].string,
 				  mbfont_opts[OPT_MBFONT_BOLDOBLIQUE].strlen))
-                return FALSE;
-
-        /* Check if need to use Courier for ASCII code range, and if so pick up
-         * the encoding to use */
-        prt_use_courier = mbfont_opts[OPT_MBFONT_USECOURIER].present &&
-            (TOLOWER_ASC(mbfont_opts[OPT_MBFONT_USECOURIER].string[0]) == 'y');
-        if (prt_use_courier)
-        {
-            /* Use national ASCII variant unless ASCII wanted */
-            if (mbfont_opts[OPT_MBFONT_ASCII].present &&
-                (TOLOWER_ASC(mbfont_opts[OPT_MBFONT_ASCII].string[0]) == 'y'))
-                prt_ascii_encoding = "ascii";
-            else
-                prt_ascii_encoding = prt_ps_mbfonts[cmap].ascii_enc;
-        }
-
-        prt_ps_font = &prt_ps_mb_font;
+		return FALSE;
+
+	/* Check if need to use Courier for ASCII code range, and if so pick up
+	 * the encoding to use */
+	prt_use_courier = mbfont_opts[OPT_MBFONT_USECOURIER].present &&
+	    (TOLOWER_ASC(mbfont_opts[OPT_MBFONT_USECOURIER].string[0]) == 'y');
+	if (prt_use_courier)
+	{
+	    /* Use national ASCII variant unless ASCII wanted */
+	    if (mbfont_opts[OPT_MBFONT_ASCII].present &&
+		(TOLOWER_ASC(mbfont_opts[OPT_MBFONT_ASCII].string[0]) == 'y'))
+		prt_ascii_encoding = "ascii";
+	    else
+		prt_ascii_encoding = prt_ps_mbfonts[cmap].ascii_enc;
+	}
+
+	prt_ps_font = &prt_ps_mb_font;
     }
     else
 #endif
     {
 #ifdef FEAT_MBYTE
-        prt_use_courier = FALSE;
+	prt_use_courier = FALSE;
 #endif
-        prt_ps_font = &prt_ps_courier_font;
+	prt_ps_font = &prt_ps_courier_font;
     }
 
     /*
@@ -2780,7 +2780,7 @@ mch_print_init(psettings, jobname, force
     prt_bufsiz = psettings->chars_per_line;
 #ifdef FEAT_MBYTE
     if (prt_out_mbyte)
-        prt_bufsiz *= 2;
+	prt_bufsiz *= 2;
 #endif
     ga_init2(&prt_ps_buffer, (int)sizeof(char), prt_bufsiz);
 
@@ -2873,7 +2873,7 @@ mch_print_begin(psettings)
     prt_dsc_start();
     prt_dsc_textline("Title", (char *)psettings->jobname);
     if (!get_user_name((char_u *)buffer, 256))
-        STRCPY(buffer, "Unknown");
+	STRCPY(buffer, "Unknown");
     prt_dsc_textline("For", buffer);
     prt_dsc_textline("Creator", VIM_VERSION_LONG);
     /* Note: to ensure Clean8bit I don't think we can use LC_TIME */
@@ -2929,14 +2929,14 @@ mch_print_begin(psettings)
 #ifdef FEAT_MBYTE
     if (!prt_out_mbyte || prt_use_courier)
 #endif
-        prt_dsc_font_resource("DocumentNeededResources", &prt_ps_courier_font);
+	prt_dsc_font_resource("DocumentNeededResources", &prt_ps_courier_font);
 #ifdef FEAT_MBYTE
     if (prt_out_mbyte)
     {
-        prt_dsc_font_resource((prt_use_courier ? NULL
-                                 : "DocumentNeededResources"), &prt_ps_mb_font);
-        if (!prt_custom_cmap)
-            prt_dsc_resources(NULL, "cmap", prt_cmap);
+	prt_dsc_font_resource((prt_use_courier ? NULL
+				 : "DocumentNeededResources"), &prt_ps_mb_font);
+	if (!prt_custom_cmap)
+	    prt_dsc_resources(NULL, "cmap", prt_cmap);
     }
 #endif
 
@@ -2953,16 +2953,16 @@ mch_print_begin(psettings)
 #ifdef FEAT_MBYTE
     if (prt_out_mbyte)
     {
-        /* Look for required version of multi-byte printing procset */
-        if (!prt_find_resource("cidfont", &res_cidfont))
-        {
-            EMSG(_("E456: Can't find PostScript resource file \"cidfont.ps\""));
-            return FALSE;
-        }
-        if (!prt_open_resource(&res_cidfont))
-            return FALSE;
-        if (!prt_check_resource(&res_cidfont, PRT_CID_PROLOG_VERSION))
-            return FALSE;
+	/* Look for required version of multi-byte printing procset */
+	if (!prt_find_resource("cidfont", &res_cidfont))
+	{
+	    EMSG(_("E456: Can't find PostScript resource file \"cidfont.ps\""));
+	    return FALSE;
+	}
+	if (!prt_open_resource(&res_cidfont))
+	    return FALSE;
+	if (!prt_check_resource(&res_cidfont, PRT_CID_PROLOG_VERSION))
+	    return FALSE;
     }
 #endif
 
@@ -2975,64 +2975,64 @@ mch_print_begin(psettings)
     if (!prt_out_mbyte)
     {
 #endif
-        p_encoding = enc_skip(p_penc);
-        if (*p_encoding == NUL
-                || !prt_find_resource((char *)p_encoding, &res_encoding))
-        {
-            /* 'printencoding' not set or not supported - find alternate */
+	p_encoding = enc_skip(p_penc);
+	if (*p_encoding == NUL
+		|| !prt_find_resource((char *)p_encoding, &res_encoding))
+	{
+	    /* 'printencoding' not set or not supported - find alternate */
 #ifdef FEAT_MBYTE
-            int		props;
-
-            p_encoding = enc_skip(p_enc);
-            props = enc_canon_props(p_encoding);
-            if (!(props & ENC_8BIT)
-                    || !prt_find_resource((char *)p_encoding, &res_encoding))
-                /* 8-bit 'encoding' is not supported */
+	    int		props;
+
+	    p_encoding = enc_skip(p_enc);
+	    props = enc_canon_props(p_encoding);
+	    if (!(props & ENC_8BIT)
+		    || !prt_find_resource((char *)p_encoding, &res_encoding))
+		/* 8-bit 'encoding' is not supported */
 #endif
-                {
-                /* Use latin1 as default printing encoding */
-                p_encoding = (char_u *)"latin1";
-                if (!prt_find_resource((char *)p_encoding, &res_encoding))
-                {
-                    EMSG2(_("E456: Can't find PostScript resource file \"%s.ps\""),
-                            p_encoding);
-                    return FALSE;
-                }
-            }
-        }
-        if (!prt_open_resource(&res_encoding))
-            return FALSE;
-        /* For the moment there are no checks on encoding resource files to
-         * perform */
+		{
+		/* Use latin1 as default printing encoding */
+		p_encoding = (char_u *)"latin1";
+		if (!prt_find_resource((char *)p_encoding, &res_encoding))
+		{
+		    EMSG2(_("E456: Can't find PostScript resource file \"%s.ps\""),
+			    p_encoding);
+		    return FALSE;
+		}
+	    }
+	}
+	if (!prt_open_resource(&res_encoding))
+	    return FALSE;
+	/* For the moment there are no checks on encoding resource files to
+	 * perform */
 #ifdef FEAT_MBYTE
     }
     else
     {
-        p_encoding = enc_skip(p_penc);
-        if (*p_encoding == NUL)
-            p_encoding = enc_skip(p_enc);
-        if (prt_use_courier)
-        {
-            /* Include ASCII range encoding vector */
-            if (!prt_find_resource(prt_ascii_encoding, &res_encoding))
-            {
-                EMSG2(_("E456: Can't find PostScript resource file \"%s.ps\""),
+	p_encoding = enc_skip(p_penc);
+	if (*p_encoding == NUL)
+	    p_encoding = enc_skip(p_enc);
+	if (prt_use_courier)
+	{
+	    /* Include ASCII range encoding vector */
+	    if (!prt_find_resource(prt_ascii_encoding, &res_encoding))
+	    {
+		EMSG2(_("E456: Can't find PostScript resource file \"%s.ps\""),
 							  prt_ascii_encoding);
-                return FALSE;
-            }
-            if (!prt_open_resource(&res_encoding))
-                return FALSE;
-            /* For the moment there are no checks on encoding resource files to
-             * perform */
-        }
+		return FALSE;
+	    }
+	    if (!prt_open_resource(&res_encoding))
+		return FALSE;
+	    /* For the moment there are no checks on encoding resource files to
+	     * perform */
+	}
     }
 
     prt_conv.vc_type = CONV_NONE;
     if (!(enc_canon_props(p_enc) & enc_canon_props(p_encoding) & ENC_8BIT)) {
-        /* Set up encoding conversion if required */
+	/* Set up encoding conversion if required */
 	if (FAIL == convert_setup(&prt_conv, p_enc, p_encoding))
 	{
-            EMSG2(_("E620: Unable to convert to print encoding \"%s\""),
+	    EMSG2(_("E620: Unable to convert to print encoding \"%s\""),
 		    p_encoding);
 	    return FALSE;
 	}
@@ -3042,15 +3042,15 @@ mch_print_begin(psettings)
 
     if (prt_out_mbyte && prt_custom_cmap)
     {
-        /* Find user supplied CMap */
-        if (!prt_find_resource(prt_cmap, &res_cmap))
-        {
-            EMSG2(_("E456: Can't find PostScript resource file \"%s.ps\""),
+	/* Find user supplied CMap */
+	if (!prt_find_resource(prt_cmap, &res_cmap))
+	{
+	    EMSG2(_("E456: Can't find PostScript resource file \"%s.ps\""),
 								    prt_cmap);
-            return FALSE;
-        }
-        if (!prt_open_resource(&res_cmap))
-            return FALSE;
+	    return FALSE;
+	}
+	if (!prt_open_resource(&res_cmap))
+	    return FALSE;
     }
 #endif
 
@@ -3062,26 +3062,26 @@ mch_print_begin(psettings)
 #ifdef FEAT_MBYTE
     if (prt_out_mbyte)
     {
-        STRCPY(buffer, res_cidfont.title);
-        STRCAT(buffer, " ");
-        STRCAT(buffer, res_cidfont.version);
-        prt_dsc_resources(NULL, "procset", buffer);
-
-        if (prt_custom_cmap)
-        {
-            STRCPY(buffer, res_cmap.title);
-            STRCAT(buffer, " ");
-            STRCAT(buffer, res_cmap.version);
-            prt_dsc_resources(NULL, "cmap", buffer);
-        }
+	STRCPY(buffer, res_cidfont.title);
+	STRCAT(buffer, " ");
+	STRCAT(buffer, res_cidfont.version);
+	prt_dsc_resources(NULL, "procset", buffer);
+
+	if (prt_custom_cmap)
+	{
+	    STRCPY(buffer, res_cmap.title);
+	    STRCAT(buffer, " ");
+	    STRCAT(buffer, res_cmap.version);
+	    prt_dsc_resources(NULL, "cmap", buffer);
+	}
     }
     if (!prt_out_mbyte || prt_use_courier)
 #endif
     {
-        STRCPY(buffer, res_encoding.title);
-        STRCAT(buffer, " ");
-        STRCAT(buffer, res_encoding.version);
-        prt_dsc_resources(NULL, "encoding", buffer);
+	STRCPY(buffer, res_encoding.title);
+	STRCAT(buffer, " ");
+	STRCAT(buffer, res_encoding.version);
+	prt_dsc_resources(NULL, "encoding", buffer);
     }
     prt_dsc_requirements(prt_duplex, prt_tumble, prt_collate,
 #ifdef FEAT_SYN_HL
@@ -3101,14 +3101,14 @@ mch_print_begin(psettings)
 #ifdef FEAT_MBYTE
     if (!prt_out_mbyte || prt_use_courier)
 #endif
-        prt_dsc_font_resource("PageResources", &prt_ps_courier_font);
+	prt_dsc_font_resource("PageResources", &prt_ps_courier_font);
 #ifdef FEAT_MBYTE
     if (prt_out_mbyte)
     {
-        prt_dsc_font_resource((prt_use_courier ? NULL : "PageResources"),
-                                                            &prt_ps_mb_font);
-        if (!prt_custom_cmap)
-            prt_dsc_resources(NULL, "cmap", prt_cmap);
+	prt_dsc_font_resource((prt_use_courier ? NULL : "PageResources"),
+							    &prt_ps_mb_font);
+	if (!prt_custom_cmap)
+	    prt_dsc_resources(NULL, "cmap", prt_cmap);
     }
 #endif
 
@@ -3128,21 +3128,21 @@ mch_print_begin(psettings)
 #ifdef FEAT_MBYTE
     if (prt_out_mbyte)
     {
-        /* Add CID font procset, and any user supplied CMap */
-        if (!prt_add_resource(&res_cidfont))
-            return FALSE;
-        if (prt_custom_cmap && !prt_add_resource(&res_cmap))
-            return FALSE;
+	/* Add CID font procset, and any user supplied CMap */
+	if (!prt_add_resource(&res_cidfont))
+	    return FALSE;
+	if (prt_custom_cmap && !prt_add_resource(&res_cmap))
+	    return FALSE;
     }
 #endif
 
 #ifdef FEAT_MBYTE
     if (!prt_out_mbyte || prt_use_courier)
 #endif
-        /* There will be only one Roman font encoding to be included in the PS
-         * file. */
-        if (!prt_add_resource(&res_encoding))
-            return FALSE;
+	/* There will be only one Roman font encoding to be included in the PS
+	 * file. */
+	if (!prt_add_resource(&res_encoding))
+	    return FALSE;
 
     prt_dsc_noarg("EndProlog");
 
@@ -3168,82 +3168,82 @@ mch_print_begin(psettings)
 #ifdef FEAT_MBYTE
     if (!prt_out_mbyte || prt_use_courier)
     {
-        /* When using Courier for ASCII range when printing multi-byte, need to
-         * pick up ASCII encoding to use with it. */
-        if (prt_use_courier)
-            p_encoding = (char_u *)prt_ascii_encoding;
+	/* When using Courier for ASCII range when printing multi-byte, need to
+	 * pick up ASCII encoding to use with it. */
+	if (prt_use_courier)
+	    p_encoding = (char_u *)prt_ascii_encoding;
 #endif
-        prt_dsc_resources("IncludeResource", "font",
-                          prt_ps_courier_font.ps_fontname[PRT_PS_FONT_ROMAN]);
-        prt_def_font("F0", (char *)p_encoding, (int)prt_line_height,
-                     prt_ps_courier_font.ps_fontname[PRT_PS_FONT_ROMAN]);
-        prt_dsc_resources("IncludeResource", "font",
-                          prt_ps_courier_font.ps_fontname[PRT_PS_FONT_BOLD]);
-        prt_def_font("F1", (char *)p_encoding, (int)prt_line_height,
-                     prt_ps_courier_font.ps_fontname[PRT_PS_FONT_BOLD]);
-        prt_dsc_resources("IncludeResource", "font",
-                          prt_ps_courier_font.ps_fontname[PRT_PS_FONT_OBLIQUE]);
-        prt_def_font("F2", (char *)p_encoding, (int)prt_line_height,
-                     prt_ps_courier_font.ps_fontname[PRT_PS_FONT_OBLIQUE]);
-        prt_dsc_resources("IncludeResource", "font",
-                          prt_ps_courier_font.ps_fontname[PRT_PS_FONT_BOLDOBLIQUE]);
-        prt_def_font("F3", (char *)p_encoding, (int)prt_line_height,
-                     prt_ps_courier_font.ps_fontname[PRT_PS_FONT_BOLDOBLIQUE]);
+	prt_dsc_resources("IncludeResource", "font",
+			  prt_ps_courier_font.ps_fontname[PRT_PS_FONT_ROMAN]);
+	prt_def_font("F0", (char *)p_encoding, (int)prt_line_height,
+		     prt_ps_courier_font.ps_fontname[PRT_PS_FONT_ROMAN]);
+	prt_dsc_resources("IncludeResource", "font",
+			  prt_ps_courier_font.ps_fontname[PRT_PS_FONT_BOLD]);
+	prt_def_font("F1", (char *)p_encoding, (int)prt_line_height,
+		     prt_ps_courier_font.ps_fontname[PRT_PS_FONT_BOLD]);
+	prt_dsc_resources("IncludeResource", "font",
+			  prt_ps_courier_font.ps_fontname[PRT_PS_FONT_OBLIQUE]);
+	prt_def_font("F2", (char *)p_encoding, (int)prt_line_height,
+		     prt_ps_courier_font.ps_fontname[PRT_PS_FONT_OBLIQUE]);
+	prt_dsc_resources("IncludeResource", "font",
+			  prt_ps_courier_font.ps_fontname[PRT_PS_FONT_BOLDOBLIQUE]);
+	prt_def_font("F3", (char *)p_encoding, (int)prt_line_height,
+		     prt_ps_courier_font.ps_fontname[PRT_PS_FONT_BOLDOBLIQUE]);
 #ifdef FEAT_MBYTE
     }
     if (prt_out_mbyte)
     {
-        /* Define the CID fonts to be used in the job.  Typically CJKV fonts do
-         * not have an italic form being a western style, so where no font is
-         * defined for these faces VIM falls back to an existing face.
-         * Note: if using Courier for the ASCII range then the printout will
-         * have bold/italic/bolditalic regardless of the setting of printmbfont.
-         */
-        prt_dsc_resources("IncludeResource", "font",
-                          prt_ps_mb_font.ps_fontname[PRT_PS_FONT_ROMAN]);
-        if (!prt_custom_cmap)
-            prt_dsc_resources("IncludeResource", "cmap", prt_cmap);
-        prt_def_cidfont("CF0", (int)prt_line_height,
-                        prt_ps_mb_font.ps_fontname[PRT_PS_FONT_ROMAN]);
-
-        if (prt_ps_mb_font.ps_fontname[PRT_PS_FONT_BOLD] != NULL)
-        {
-            prt_dsc_resources("IncludeResource", "font",
-                              prt_ps_mb_font.ps_fontname[PRT_PS_FONT_BOLD]);
-            if (!prt_custom_cmap)
-                prt_dsc_resources("IncludeResource", "cmap", prt_cmap);
-            prt_def_cidfont("CF1", (int)prt_line_height,
-                            prt_ps_mb_font.ps_fontname[PRT_PS_FONT_BOLD]);
-        }
-        else
-            /* Use ROMAN for BOLD */
-            prt_dup_cidfont("CF0", "CF1");
-
-        if (prt_ps_mb_font.ps_fontname[PRT_PS_FONT_OBLIQUE] != NULL)
-        {
-            prt_dsc_resources("IncludeResource", "font",
-                              prt_ps_mb_font.ps_fontname[PRT_PS_FONT_OBLIQUE]);
-            if (!prt_custom_cmap)
-                prt_dsc_resources("IncludeResource", "cmap", prt_cmap);
-            prt_def_cidfont("CF2", (int)prt_line_height,
-                            prt_ps_mb_font.ps_fontname[PRT_PS_FONT_OBLIQUE]);
-        }
-        else
-            /* Use ROMAN for OBLIQUE */
-            prt_dup_cidfont("CF0", "CF2");
-
-        if (prt_ps_mb_font.ps_fontname[PRT_PS_FONT_BOLDOBLIQUE] != NULL)
-        {
-            prt_dsc_resources("IncludeResource", "font",
-                              prt_ps_mb_font.ps_fontname[PRT_PS_FONT_BOLDOBLIQUE]);
-            if (!prt_custom_cmap)
-                prt_dsc_resources("IncludeResource", "cmap", prt_cmap);
-            prt_def_cidfont("CF3", (int)prt_line_height,
-                            prt_ps_mb_font.ps_fontname[PRT_PS_FONT_BOLDOBLIQUE]);
-        }
-        else
-            /* Use BOLD for BOLDOBLIQUE */
-            prt_dup_cidfont("CF1", "CF3");
+	/* Define the CID fonts to be used in the job.	Typically CJKV fonts do
+	 * not have an italic form being a western style, so where no font is
+	 * defined for these faces VIM falls back to an existing face.
+	 * Note: if using Courier for the ASCII range then the printout will
+	 * have bold/italic/bolditalic regardless of the setting of printmbfont.
+	 */
+	prt_dsc_resources("IncludeResource", "font",
+			  prt_ps_mb_font.ps_fontname[PRT_PS_FONT_ROMAN]);
+	if (!prt_custom_cmap)
+	    prt_dsc_resources("IncludeResource", "cmap", prt_cmap);
+	prt_def_cidfont("CF0", (int)prt_line_height,
+			prt_ps_mb_font.ps_fontname[PRT_PS_FONT_ROMAN]);
+
+	if (prt_ps_mb_font.ps_fontname[PRT_PS_FONT_BOLD] != NULL)
+	{
+	    prt_dsc_resources("IncludeResource", "font",
+			      prt_ps_mb_font.ps_fontname[PRT_PS_FONT_BOLD]);
+	    if (!prt_custom_cmap)
+		prt_dsc_resources("IncludeResource", "cmap", prt_cmap);
+	    prt_def_cidfont("CF1", (int)prt_line_height,
+			    prt_ps_mb_font.ps_fontname[PRT_PS_FONT_BOLD]);
+	}
+	else
+	    /* Use ROMAN for BOLD */
+	    prt_dup_cidfont("CF0", "CF1");
+
+	if (prt_ps_mb_font.ps_fontname[PRT_PS_FONT_OBLIQUE] != NULL)
+	{
+	    prt_dsc_resources("IncludeResource", "font",
+			      prt_ps_mb_font.ps_fontname[PRT_PS_FONT_OBLIQUE]);
+	    if (!prt_custom_cmap)
+		prt_dsc_resources("IncludeResource", "cmap", prt_cmap);
+	    prt_def_cidfont("CF2", (int)prt_line_height,
+			    prt_ps_mb_font.ps_fontname[PRT_PS_FONT_OBLIQUE]);
+	}
+	else
+	    /* Use ROMAN for OBLIQUE */
+	    prt_dup_cidfont("CF0", "CF2");
+
+	if (prt_ps_mb_font.ps_fontname[PRT_PS_FONT_BOLDOBLIQUE] != NULL)
+	{
+	    prt_dsc_resources("IncludeResource", "font",
+			      prt_ps_mb_font.ps_fontname[PRT_PS_FONT_BOLDOBLIQUE]);
+	    if (!prt_custom_cmap)
+		prt_dsc_resources("IncludeResource", "cmap", prt_cmap);
+	    prt_def_cidfont("CF3", (int)prt_line_height,
+			    prt_ps_mb_font.ps_fontname[PRT_PS_FONT_BOLDOBLIQUE]);
+	}
+	else
+	    /* Use BOLD for BOLDOBLIQUE */
+	    prt_dup_cidfont("CF1", "CF3");
     }
 #endif
 
@@ -3328,10 +3328,10 @@ mch_print_begin_page(str)
 #ifdef FEAT_MBYTE
     prt_in_ascii = !prt_out_mbyte;
     if (prt_out_mbyte)
-        prt_write_string("CF0 sf\n");
+	prt_write_string("CF0 sf\n");
     else
 #endif
-        prt_write_string("F0 sf\n");
+	prt_write_string("F0 sf\n");
     prt_fgcol = PRCOLOR_BLACK;
     prt_bgcol = PRCOLOR_WHITE;
     prt_font = PRT_PS_FONT_ROMAN;
@@ -3393,8 +3393,8 @@ mch_print_text_out(p, len)
     float       char_width;
     float       next_pos;
 #ifdef FEAT_MBYTE
-    int         in_ascii;
-    int         half_width;
+    int		in_ascii;
+    int		half_width;
 #endif
 
     char_width = prt_char_width;
@@ -3409,47 +3409,47 @@ mch_print_text_out(p, len)
      */
     if (prt_use_courier)
     {
-        in_ascii = (len == 1 && *p < 0x80);
-        if (prt_in_ascii)
-        {
-            if (!in_ascii)
-            {
-                /* No longer in ASCII range - need to switch font */
-                prt_in_ascii = FALSE;
-                prt_need_font = TRUE;
-                prt_attribute_change = TRUE;
-            }
-        }
-        else if (in_ascii)
-        {
-            /* Now in ASCII range - need to switch font */
-            prt_in_ascii = TRUE;
-            prt_need_font = TRUE;
-            prt_attribute_change = TRUE;
-        }
+	in_ascii = (len == 1 && *p < 0x80);
+	if (prt_in_ascii)
+	{
+	    if (!in_ascii)
+	    {
+		/* No longer in ASCII range - need to switch font */
+		prt_in_ascii = FALSE;
+		prt_need_font = TRUE;
+		prt_attribute_change = TRUE;
+	    }
+	}
+	else if (in_ascii)
+	{
+	    /* Now in ASCII range - need to switch font */
+	    prt_in_ascii = TRUE;
+	    prt_need_font = TRUE;
+	    prt_attribute_change = TRUE;
+	}
     }
     if (prt_out_mbyte)
     {
-        half_width = ((*mb_ptr2cells)(p) == 1);
-        if (half_width)
-            char_width /= 2;
-        if (prt_half_width)
-        {
-            if (!half_width)
-            {
-                prt_half_width = FALSE;
-                prt_pos_x += prt_char_width/4;
-                prt_need_moveto = TRUE;
-                prt_attribute_change = TRUE;
-            }
-        }
-        else if (half_width)
-        {
-            prt_half_width = TRUE;
-            prt_pos_x += prt_char_width/4;
-            prt_need_moveto = TRUE;
-            prt_attribute_change = TRUE;
-        }
+	half_width = ((*mb_ptr2cells)(p) == 1);
+	if (half_width)
+	    char_width /= 2;
+	if (prt_half_width)
+	{
+	    if (!half_width)
+	    {
+		prt_half_width = FALSE;
+		prt_pos_x += prt_char_width/4;
+		prt_need_moveto = TRUE;
+		prt_attribute_change = TRUE;
+	    }
+	}
+	else if (half_width)
+	{
+	    prt_half_width = TRUE;
+	    prt_pos_x += prt_char_width/4;
+	    prt_need_moveto = TRUE;
+	    prt_attribute_change = TRUE;
+	}
     }
 #endif
 
@@ -3473,14 +3473,14 @@ mch_print_text_out(p, len)
 	if (prt_need_font)
 	{
 #ifdef FEAT_MBYTE
-            if (!prt_in_ascii)
-                prt_write_string("CF");
-            else
+	    if (!prt_in_ascii)
+		prt_write_string("CF");
+	    else
 #endif
-                prt_write_string("F");
-            prt_write_int(prt_font);
-            prt_write_string("sf\n");
-            prt_need_font = FALSE;
+		prt_write_string("F");
+	    prt_write_int(prt_font);
+	    prt_write_string("sf\n");
+	    prt_need_font = FALSE;
 	}
 	if (prt_need_fgcol)
 	{
@@ -3529,60 +3529,60 @@ mch_print_text_out(p, len)
 
     if (prt_out_mbyte)
     {
-        /* Multi-byte character strings are represented more efficiently as hex
-         * strings when outputting clean 8 bit PS.
-         */
-        do
-        {
-           ch = prt_hexchar[(unsigned)(*p) >> 4];
-           ga_append(&prt_ps_buffer, ch);
-           ch = prt_hexchar[(*p) & 0xf];
-           ga_append(&prt_ps_buffer, ch);
-           p++;
-        }
-        while (--len);
+	/* Multi-byte character strings are represented more efficiently as hex
+	 * strings when outputting clean 8 bit PS.
+	 */
+	do
+	{
+	    ch = prt_hexchar[(unsigned)(*p) >> 4];
+	    ga_append(&prt_ps_buffer, ch);
+	    ch = prt_hexchar[(*p) & 0xf];
+	    ga_append(&prt_ps_buffer, ch);
+	    p++;
+	}
+	while (--len);
     }
     else
 #endif
     {
-        /* Add next character to buffer of characters to output.
-         * Note: One printed character may require several PS characters to
-         * represent it, but we only count them as one printed character.
-         */
-        ch = *p;
-        if (ch < 32 || ch == '(' || ch == ')' || ch == '\\')
-        {
-            /* Convert non-printing characters to either their escape or octal
-             * sequence, ensures PS sent over a serial line does not interfere
-             * with the comms protocol.  Note: For EBCDIC we need to write out
-             * the escape sequences as ASCII codes!
+	/* Add next character to buffer of characters to output.
+	 * Note: One printed character may require several PS characters to
+	 * represent it, but we only count them as one printed character.
+	 */
+	ch = *p;
+	if (ch < 32 || ch == '(' || ch == ')' || ch == '\\')
+	{
+	    /* Convert non-printing characters to either their escape or octal
+	     * sequence, ensures PS sent over a serial line does not interfere
+	     * with the comms protocol.  Note: For EBCDIC we need to write out
+	     * the escape sequences as ASCII codes!
 	     * Note 2: Char codes < 32 are identical in EBCDIC and ASCII AFAIK!
 	     */
-            ga_append(&prt_ps_buffer, IF_EB('\\', 0134));
-            switch (ch)
-            {
-                case BS:   ga_append(&prt_ps_buffer, IF_EB('b', 0142)); break;
-                case TAB:  ga_append(&prt_ps_buffer, IF_EB('t', 0164)); break;
-                case NL:   ga_append(&prt_ps_buffer, IF_EB('n', 0156)); break;
-                case FF:   ga_append(&prt_ps_buffer, IF_EB('f', 0146)); break;
-                case CAR:  ga_append(&prt_ps_buffer, IF_EB('r', 0162)); break;
-                case '(':  ga_append(&prt_ps_buffer, IF_EB('(', 0050)); break;
-                case ')':  ga_append(&prt_ps_buffer, IF_EB(')', 0051)); break;
-                case '\\': ga_append(&prt_ps_buffer, IF_EB('\\', 0134)); break;
-
-                default:
-                           sprintf((char *)ch_buff, "%03o", (unsigned int)ch);
+	    ga_append(&prt_ps_buffer, IF_EB('\\', 0134));
+	    switch (ch)
+	    {
+		case BS:   ga_append(&prt_ps_buffer, IF_EB('b', 0142)); break;
+		case TAB:  ga_append(&prt_ps_buffer, IF_EB('t', 0164)); break;
+		case NL:   ga_append(&prt_ps_buffer, IF_EB('n', 0156)); break;
+		case FF:   ga_append(&prt_ps_buffer, IF_EB('f', 0146)); break;
+		case CAR:  ga_append(&prt_ps_buffer, IF_EB('r', 0162)); break;
+		case '(':  ga_append(&prt_ps_buffer, IF_EB('(', 0050)); break;
+		case ')':  ga_append(&prt_ps_buffer, IF_EB(')', 0051)); break;
+		case '\\': ga_append(&prt_ps_buffer, IF_EB('\\', 0134)); break;
+
+		default:
+			   sprintf((char *)ch_buff, "%03o", (unsigned int)ch);
 #ifdef EBCDIC
-                           ebcdic2ascii(ch_buff, 3);
+			   ebcdic2ascii(ch_buff, 3);
 #endif
-                           ga_append(&prt_ps_buffer, ch_buff[0]);
-                           ga_append(&prt_ps_buffer, ch_buff[1]);
-                           ga_append(&prt_ps_buffer, ch_buff[2]);
-                           break;
-            }
-        }
-        else
-            ga_append(&prt_ps_buffer, ch);
+			   ga_append(&prt_ps_buffer, ch_buff[0]);
+			   ga_append(&prt_ps_buffer, ch_buff[1]);
+			   ga_append(&prt_ps_buffer, ch_buff[2]);
+			   break;
+	    }
+	}
+	else
+	    ga_append(&prt_ps_buffer, ch);
     }
 
 #ifdef FEAT_MBYTE
@@ -3597,7 +3597,7 @@ mch_print_text_out(p, len)
     /* The downside of fp - use relative error on right margin check */
     next_pos = prt_pos_x + prt_char_width;
     need_break = (next_pos > prt_right_margin) &&
-                    ((next_pos - prt_right_margin) > (prt_right_margin*1e-5));
+		    ((next_pos - prt_right_margin) > (prt_right_margin*1e-5));
 
     if (need_break)
 	prt_flush_buffer();
--- a/src/if_mzsch.c
+++ b/src/if_mzsch.c
@@ -823,7 +823,7 @@ mzscheme_init(void)
 	    return -1;
 	}
 #endif
-        startup_mzscheme();
+	startup_mzscheme();
 
 	if (mzscheme_io_init())
 	    return -1;
@@ -911,7 +911,7 @@ eval_in_namespace(void *data, Scheme_Clo
     if (!value)
     {
 	value = extract_exn_message(exn);
-        /* Got an exn? */
+	/* Got an exn? */
 	if (value)
 	{
 	    scheme_display(value, curerr);  /*  Send to stderr-vim */
@@ -952,7 +952,8 @@ mzscheme_buffer_free(buf_T *buf)
 {
     if (buf->b_mzscheme_ref)
     {
-        vim_mz_buffer *bp;
+	vim_mz_buffer *bp;
+
 	bp = buf->b_mzscheme_ref;
 	bp->buf = INVALID_BUFFER_VALUE;
 	buf->b_mzscheme_ref = NULL;
@@ -1083,16 +1084,16 @@ init_exn_catching_apply(void)
     {
 	char *e =
 	    "(lambda (thunk) "
-	        "(with-handlers ([void (lambda (exn) (cons #f exn))]) "
+		"(with-handlers ([void (lambda (exn) (cons #f exn))]) "
 		"(cons #t (thunk))))";
 
-        /* make sure we have a namespace with the standard syntax: */
+	/* make sure we have a namespace with the standard syntax: */
 	Scheme_Env *env = (Scheme_Env *)scheme_make_namespace(0, NULL);
 	add_vim_exn(env);
 
-        exn_catching_apply = scheme_eval_string(e, env);
+	exn_catching_apply = scheme_eval_string(e, env);
 	exn_p = scheme_lookup_global(scheme_intern_symbol("exn?"), env);
-        exn_message = scheme_lookup_global(
+	exn_message = scheme_lookup_global(
 		scheme_intern_symbol("exn-message"), env);
     }
 }
@@ -1346,14 +1347,14 @@ get_option(void *data, int argc, Scheme_
     case 1:
 	return scheme_make_integer_value(value);
     case 0:
-        rval = scheme_make_string(strval);
+	rval = scheme_make_string(strval);
 	vim_free(strval);
 	return rval;
     case -1:
     case -2:
-        raise_vim_exn(_("hidden option"));
+	raise_vim_exn(_("hidden option"));
     case -3:
-        raise_vim_exn(_("unknown option"));
+	raise_vim_exn(_("unknown option"));
     }
     /* unreachable */
     return scheme_void;
@@ -1445,7 +1446,7 @@ get_window_list(void *data, int argc, Sc
     list = scheme_null;
 
     for (w = firstwin; w != NULL; w = w->w_next)
-        if (w->w_buffer == buf->buf)
+	if (w->w_buffer == buf->buf)
 	    list = scheme_make_pair(window_new(w), list);
 
     return list;
@@ -1506,7 +1507,7 @@ get_window_by_num(void *data, int argc, 
 	scheme_signal_error(_("window index is out of range"));
 
     for (win = firstwin; win != NULL; win = win->w_next, --fnum)
-        if (fnum == 1)	    /* to be 1-based */
+	if (fnum == 1)	    /* to be 1-based */
 	    return window_new(win);
 
     return scheme_false;
@@ -1681,7 +1682,7 @@ get_buffer_by_num(void *data, int argc, 
     fnum = SCHEME_INT_VAL(GUARANTEE_INTEGER(prim->name, 0));
 
     for (buf = firstbuf; buf; buf = buf->b_next)
-        if (buf->b_fnum == fnum)
+	if (buf->b_fnum == fnum)
 	    return buffer_new(buf);
 
     return scheme_false;
@@ -1786,7 +1787,7 @@ buffer_new(buf_T *buf)
      * then we can get at it in buf_freeall() in vim.
      */
     if (buf->b_mzscheme_ref)
-        return buf->b_mzscheme_ref;
+	return buf->b_mzscheme_ref;
 
     self = scheme_malloc_fail_ok(scheme_malloc, sizeof(vim_mz_buffer));
 
@@ -1863,12 +1864,12 @@ get_buffer_line_list(void *data, int arg
      * Handle some error conditions
      */
     if (lo < 0)
-        lo = 0;
+	lo = 0;
 
     if (hi < 0)
 	hi = 0;
     if (hi < lo)
-        hi = lo;
+	hi = lo;
 
     n = hi - lo;
 
@@ -1918,7 +1919,7 @@ set_buffer_line(void *data, int argc, Sc
 #endif
     n = SCHEME_INT_VAL(GUARANTEE_INTEGER(prim->name, 0));
     if (!SCHEME_STRINGP(argv[1]) && !SCHEME_FALSEP(argv[1]))
-        scheme_wrong_type(prim->name, "string or #f", 1, argc, argv);
+	scheme_wrong_type(prim->name, "string or #f", 1, argc, argv);
     line = argv[1];
     buf = get_buffer_arg(prim->name, 2, argc, argv);
 
@@ -2072,11 +2073,11 @@ set_buffer_line_list(void *data, int arg
     rest = line_list;
     for (i = 0; i < new_len; ++i)
     {
-        line = SCHEME_CAR(rest);
+	line = SCHEME_CAR(rest);
 	rest = SCHEME_CDR(rest);
 	if (!SCHEME_STRINGP(line))
 	    scheme_wrong_type(prim->name, "string-list", 2, argc, argv);
-        array[i] = string_to_line(line);
+	array[i] = string_to_line(line);
     }
 
     savebuf = curbuf;
@@ -2085,7 +2086,7 @@ set_buffer_line_list(void *data, int arg
     if (u_save((linenr_T)(lo-1), (linenr_T)hi) == FAIL)
     {
 	curbuf = savebuf;
-        raise_vim_exn(_("cannot save undo information"));
+	raise_vim_exn(_("cannot save undo information"));
     }
 
     /*
@@ -2100,7 +2101,7 @@ set_buffer_line_list(void *data, int arg
 	    curbuf = savebuf;
 	    raise_vim_exn(_("cannot delete line"));
 	}
-        extra--;
+	extra--;
     }
 
     /*
@@ -2122,14 +2123,14 @@ set_buffer_line_list(void *data, int arg
      */
     while (i < new_len)
     {
-        if (ml_append((linenr_T)(lo + i - 1),
+	if (ml_append((linenr_T)(lo + i - 1),
 		(char_u *)array[i], 0, FALSE) == FAIL)
 	{
 	    curbuf = savebuf;
-            raise_vim_exn(_("cannot insert line"));
+	    raise_vim_exn(_("cannot insert line"));
 	}
-        ++i;
-        ++extra;
+	++i;
+	++extra;
     }
 
     /*
@@ -2186,7 +2187,7 @@ insert_buffer_line_list(void *data, int 
     buf = get_buffer_arg(prim->name, 2, argc, argv);
 
     if (n != 0)	    /* 0 can be used in insert */
-        check_line_range(n, buf->buf);
+	check_line_range(n, buf->buf);
     if (SCHEME_STRINGP(list))
     {
 	str = string_to_line(list);
@@ -2229,9 +2230,9 @@ insert_buffer_line_list(void *data, int 
     rest = list;
     for (i = 0; i < size; ++i)
     {
-        line = SCHEME_CAR(rest);
-        rest = SCHEME_CDR(rest);
-        array[i] = string_to_line(line);
+	line = SCHEME_CAR(rest);
+	rest = SCHEME_CDR(rest);
+	array[i] = string_to_line(line);
     }
 
     savebuf = curbuf;
@@ -2240,20 +2241,20 @@ insert_buffer_line_list(void *data, int 
     if (u_save((linenr_T)n, (linenr_T)(n + 1)) == FAIL)
     {
 	curbuf = savebuf;
-        raise_vim_exn(_("cannot save undo information"));
+	raise_vim_exn(_("cannot save undo information"));
     }
     else
     {
-        for (i = 0; i < size; ++i)
-            if (ml_append((linenr_T)(n + i), (char_u *)array[i],
+	for (i = 0; i < size; ++i)
+	    if (ml_append((linenr_T)(n + i), (char_u *)array[i],
 			0, FALSE) == FAIL)
 	    {
 		curbuf = savebuf;
-	        raise_vim_exn(_("cannot insert line"));
+		raise_vim_exn(_("cannot insert line"));
 	    }
 
-        if (i > 0)
-            appended_lines_mark((linenr_T)n, (long)i);
+	if (i > 0)
+	    appended_lines_mark((linenr_T)n, (long)i);
     }
 
     curbuf = savebuf;
--- a/src/if_python.c
+++ b/src/if_python.c
@@ -453,15 +453,15 @@ python_end()
 #ifdef DYNAMIC_PYTHON
     if (hinstPython && Py_IsInitialized())
     {
-        Python_RestoreThread();	    /* enter python */
-        Py_Finalize();
+	Python_RestoreThread();	    /* enter python */
+	Py_Finalize();
     }
     end_dynamic_python();
 #else
     if (Py_IsInitialized())
     {
-        Python_RestoreThread();	    /* enter python */
-        Py_Finalize();
+	Python_RestoreThread();	    /* enter python */
+	Py_Finalize();
     }
 #endif
 
@@ -1105,9 +1105,9 @@ VimToPython(typval_T *our_tv, int depth,
     /* Avoid infinite recursion */
     if (depth > 100)
     {
-        Py_INCREF(Py_None);
-        result = Py_None;
-        return result;
+	Py_INCREF(Py_None);
+	result = Py_None;
+	return result;
     }
 
     /* Check if we run into a recursive loop.  The item must be in lookupDict
@@ -1115,28 +1115,28 @@ VimToPython(typval_T *our_tv, int depth,
     sprintf(ptrBuf, "%ld", (long)our_tv);
     result = PyDict_GetItemString(lookupDict, ptrBuf);
     if (result != NULL)
-        Py_INCREF(result);
+	Py_INCREF(result);
     else if (our_tv->v_type == VAR_STRING)
     {
-        result = Py_BuildValue("s", our_tv->vval.v_string);
-        PyDict_SetItemString(lookupDict, ptrBuf, result);
+	result = Py_BuildValue("s", our_tv->vval.v_string);
+	PyDict_SetItemString(lookupDict, ptrBuf, result);
     }
     else if (our_tv->v_type == VAR_NUMBER)
     {
-        char buf[NUMBUFLEN];
+	char buf[NUMBUFLEN];
 
 	/* For backwards compatibility numbers are stored as strings. */
-        sprintf(buf, "%ld", (long)our_tv->vval.v_number);
-        result = Py_BuildValue("s", buf);
-        PyDict_SetItemString(lookupDict, ptrBuf, result);
+	sprintf(buf, "%ld", (long)our_tv->vval.v_number);
+	result = Py_BuildValue("s", buf);
+	PyDict_SetItemString(lookupDict, ptrBuf, result);
     }
     else if (our_tv->v_type == VAR_LIST)
     {
-        list_T		*list = our_tv->vval.v_list;
-        listitem_T	*curr;
-
-        result = PyList_New(0);
-        PyDict_SetItemString(lookupDict, ptrBuf, result);
+	list_T		*list = our_tv->vval.v_list;
+	listitem_T	*curr;
+
+	result = PyList_New(0);
+	PyDict_SetItemString(lookupDict, ptrBuf, result);
 
 	if (list != NULL)
 	{
@@ -1150,8 +1150,8 @@ VimToPython(typval_T *our_tv, int depth,
     }
     else if (our_tv->v_type == VAR_DICT)
     {
-        result = PyDict_New();
-        PyDict_SetItemString(lookupDict, ptrBuf, result);
+	result = PyDict_New();
+	PyDict_SetItemString(lookupDict, ptrBuf, result);
 
 	if (our_tv->vval.v_dict != NULL)
 	{
@@ -1176,8 +1176,8 @@ VimToPython(typval_T *our_tv, int depth,
     }
     else
     {
-        Py_INCREF(Py_None);
-        result = Py_None;
+	Py_INCREF(Py_None);
+	result = Py_None;
     }
 
     return result;
--- a/src/if_ruby.c
+++ b/src/if_ruby.c
@@ -571,9 +571,9 @@ static VALUE buffer_s_count()
 
     for (b = firstbuf; b != NULL; b = b->b_next)
     {
-        /*  Deleted buffers should not be counted
-         *    SegPhault - 01/07/05 */
-        if (b->b_p_bl)
+	/*  Deleted buffers should not be counted
+	 *    SegPhault - 01/07/05 */
+	if (b->b_p_bl)
 	    n++;
     }
 
@@ -587,15 +587,15 @@ static VALUE buffer_s_aref(VALUE self, V
 
     for (b = firstbuf; b != NULL; b = b->b_next)
     {
-        /*  Deleted buffers should not be counted
-         *    SegPhault - 01/07/05 */
-        if (!b->b_p_bl)
+	/*  Deleted buffers should not be counted
+	 *    SegPhault - 01/07/05 */
+	if (!b->b_p_bl)
 	    continue;
 
-        if (n == 0)
+	if (n == 0)
 	    return buffer_new(b);
 
-        n--;
+	n--;
     }
     return Qnil;
 }
@@ -685,9 +685,9 @@ static VALUE buffer_delete(VALUE self, V
 	if (u_savedel(n, 1) == OK) {
 	    ml_delete(n, 0);
 
-            /* Changes to non-active buffers should properly refresh
-             *   SegPhault - 01/09/05 */
-            deleted_lines_mark(n, 1L);
+	    /* Changes to non-active buffers should properly refresh
+	     *   SegPhault - 01/09/05 */
+	    deleted_lines_mark(n, 1L);
 
 	    changed();
 	}
@@ -712,11 +712,11 @@ static VALUE buffer_append(VALUE self, V
 	if (u_inssub(n + 1) == OK) {
 	    ml_append(n, (char_u *) line, (colnr_T) 0, FALSE);
 
-            /*  Changes to non-active buffers should properly refresh screen
-             *    SegPhault - 12/20/04 */
-            appended_lines_mark(n, 1L);
+	    /*  Changes to non-active buffers should properly refresh screen
+	     *    SegPhault - 12/20/04 */
+	    appended_lines_mark(n, 1L);
 
-            changed();
+	    changed();
 	}
 	curbuf = savebuf;
 	update_curbuf(NOT_VALID);
--- a/src/installman.sh
+++ b/src/installman.sh
@@ -3,16 +3,16 @@
 #
 # arguments:
 # 1  what: "install", "uninstall" or "xxd"
-# 2  target directory                      e.g., "/usr/local/man/it/man1"
+# 2  target directory			   e.g., "/usr/local/man/it/man1"
 # 3  language addition			   e.g., "" or "-it"
 # 4  vim location as used in manual pages  e.g., "/usr/local/share/vim"
-# 5  runtime dir for menu.vim et al.       e.g., "/usr/local/share/vim/vim70"
-# 6  runtime dir for global vimrc file     e.g., "/usr/local/share/vim"
-# 7  source dir for help files             e.g., "../runtime/doc"
-# 8  mode bits for manpages                e.g., "644"
-# 9  vim exe name                          e.g., "vim"
-# 10 name of vimdiff exe                   e.g., "vimdiff"
-# 11 name of evim exe                      e.g., "evim"
+# 5  runtime dir for menu.vim et al.	   e.g., "/usr/local/share/vim/vim70"
+# 6  runtime dir for global vimrc file	   e.g., "/usr/local/share/vim"
+# 7  source dir for help files		   e.g., "../runtime/doc"
+# 8  mode bits for manpages		   e.g., "644"
+# 9  vim exe name			   e.g., "vim"
+# 10 name of vimdiff exe		   e.g., "vimdiff"
+# 11 name of evim exe			   e.g., "evim"
 
 errstatus=0
 
--- a/src/installml.sh
+++ b/src/installml.sh
@@ -4,20 +4,20 @@
 # arguments:
 # 1  what: "install" or "uninstall"
 # 2  also do GUI pages: "yes" or ""
-# 3  target directory                e.g., "/usr/local/man/it/man1"
-# 4  vim exe name                    e.g., "vim"
-# 5  vimdiff exe name                e.g., "vimdiff"
-# 6  evim exe name                   e.g., "evim"
-# 7  ex exe name                     e.g., "ex"
-# 8  view exe name                   e.g., "view"
-# 9  rvim exe name                   e.g., "rvim"
-# 10 rview exe name                  e.g., "rview"
-# 11 gvim exe name                   e.g., "gvim"
-# 12 gview exe name                  e.g., "gview"
-# 13 rgvim exe name                  e.g., "rgvim"
-# 14 rgview exe name                 e.g., "rgview"
-# 15 gvimdiff exe name               e.g., "gvimdiff"
-# 16 eview exe name                  e.g., "eview"
+# 3  target directory		     e.g., "/usr/local/man/it/man1"
+# 4  vim exe name		     e.g., "vim"
+# 5  vimdiff exe name		     e.g., "vimdiff"
+# 6  evim exe name		     e.g., "evim"
+# 7  ex exe name		     e.g., "ex"
+# 8  view exe name		     e.g., "view"
+# 9  rvim exe name		     e.g., "rvim"
+# 10 rview exe name		     e.g., "rview"
+# 11 gvim exe name		     e.g., "gvim"
+# 12 gview exe name		     e.g., "gview"
+# 13 rgvim exe name		     e.g., "rgvim"
+# 14 rgview exe name		     e.g., "rgview"
+# 15 gvimdiff exe name		     e.g., "gvimdiff"
+# 16 eview exe name		     e.g., "eview"
 
 errstatus=0
 
--- a/src/mbyte.c
+++ b/src/mbyte.c
@@ -2201,8 +2201,8 @@ utf_toupper(a)
     if (a < 128 && (cmp_flags & CMP_KEEPASCII))
 	return TOUPPER_ASC(a);
 
-#if defined(HAVE_TOWUPPER) && defined(__STDC__ISO_10646__)
-    /* If towupper() is availble and handles Unicode, use it. */
+#if defined(HAVE_TOWUPPER) && defined(__STDC_ISO_10646__)
+    /* If towupper() is available and handles Unicode, use it. */
     if (!(cmp_flags & CMP_INTERNAL))
 	return towupper(a);
 #endif
@@ -2234,7 +2234,7 @@ utf_tolower(a)
     if (a < 128 && (cmp_flags & CMP_KEEPASCII))
 	return TOLOWER_ASC(a);
 
-#if defined(HAVE_TOWLOWER) && defined(__STDC__ISO_10646__)
+#if defined(HAVE_TOWLOWER) && defined(__STDC_ISO_10646__)
     /* If towlower() is available and handles Unicode, use it. */
     if (!(cmp_flags & CMP_INTERNAL))
 	return towlower(a);
--- a/src/menu.c
+++ b/src/menu.c
@@ -1489,7 +1489,7 @@ get_menu_cmd_modes(cmd, forceit, noremap
 	case 'a':			/* amenu */
 	    modes = MENU_INSERT_MODE | MENU_CMDLINE_MODE | MENU_NORMAL_MODE
 				    | MENU_VISUAL_MODE | MENU_SELECT_MODE
-                                    | MENU_OP_PENDING_MODE;
+				    | MENU_OP_PENDING_MODE;
 	    break;
 	case 'n':
 	    if (*cmd != 'o')		/* nmenu, not noremenu */
@@ -1555,10 +1555,10 @@ get_menu_index(menu, state)
 #ifdef FEAT_VISUAL
     else if (VIsual_active)
     {
-        if (VIsual_select)
-            idx = MENU_INDEX_SELECT;
-        else
-            idx = MENU_INDEX_VISUAL;
+	if (VIsual_select)
+	    idx = MENU_INDEX_SELECT;
+	else
+	    idx = MENU_INDEX_VISUAL;
     }
 #endif
     else if (state == HITRETURN || state == ASKMORE)
@@ -1727,8 +1727,8 @@ get_menu_mode()
 #ifdef FEAT_VISUAL
     if (VIsual_active)
     {
-        if (VIsual_select)
-            return MENU_INDEX_SELECT;
+	if (VIsual_select)
+	    return MENU_INDEX_SELECT;
 	return MENU_INDEX_VISUAL;
     }
 #endif
--- a/src/message.c
+++ b/src/message.c
@@ -3519,9 +3519,9 @@ msg_show_console_dialog(message, buttons
 	else
 	{
 	    len += (int)(STRLEN(message)
-                        + 2			/* for the NL's */
-                        + STRLEN(buttons)
-                        + 3);	        	/* for the ": " and NUL */
+			+ 2			/* for the NL's */
+			+ STRLEN(buttons)
+			+ 3);			/* for the ": " and NUL */
 	    lenhotkey++;			/* for the NUL */
 
 	    /* If no hotkey is specified first char is used. */
@@ -4450,10 +4450,10 @@ vim_snprintf(str, str_m, fmt, a1, a2, a3
 		zero_padding = 0;  /* turn zero padding off for non-numeric
 				      convers. */
 		justify_left = 1;
-		min_field_width = 0;                /* reset flags */
+		min_field_width = 0;		    /* reset flags */
 
 		/* discard the unrecognized conversion, just keep *
-		 * the unrecognized conversion character          */
+		 * the unrecognized conversion character	  */
 		str_arg = p;
 		str_arg_l = 0;
 		if (*p != NUL)
--- a/src/misc1.c
+++ b/src/misc1.c
@@ -5147,7 +5147,7 @@ cin_first_id_amount()
     if (len == 6 && STRNCMP(p, "static", 6) == 0)
     {
 	p = skipwhite(p + 6);
-        len = (int)(skiptowhite(p) - p);
+	len = (int)(skiptowhite(p) - p);
     }
     if (len == 6 && STRNCMP(p, "struct", 6) == 0)
 	p = skipwhite(p + 6);
@@ -5459,7 +5459,7 @@ cin_iswhileofdo(p, lnum, ind_maxparen)	 
  *    do
  *       nothing;
  *    while (foo
- *             && bar);  <-- here
+ *	       && bar);  <-- here
  * Adjust the cursor to the line with "while".
  */
     static int
@@ -5558,7 +5558,7 @@ cin_is_cpp_baseclass(line, col)
      * '{' or '}' and start below it.  This handles the following situations:
      *	a = cond ?
      *	      func() :
-     *	           asdf;
+     *		   asdf;
      *	func::foo()
      *	      : something
      *	{}
@@ -7542,7 +7542,7 @@ term_again:
 			 * When a terminated line starts with "else" skip to
 			 * the matching "if":
 			 *       else 3;
-			 *           indent this;
+			 *	     indent this;
 			 * Need to use the scope of this "else".  XXX
 			 * If whilelevel != 0 continue looking for a "do {".
 			 */
--- a/src/ops.c
+++ b/src/ops.c
@@ -4349,7 +4349,11 @@ fex_format(lnum, count, c)
     int		use_sandbox = was_set_insecurely((char_u *)"formatexpr",
 								   OPT_LOCAL);
     int		r;
-    char_u	buf[NUMBUFLEN];
+#ifdef FEAT_MBYTE
+    char_u	buf[MB_MAXBYTES];
+#else
+    char_u	buf[2];
+#endif
 
     /*
      * Set v:lnum to the first line number and v:count to the number of lines.
--- a/src/proto/buffer.pro
+++ b/src/proto/buffer.pro
@@ -1,69 +1,69 @@
 /* buffer.c */
-int open_buffer __ARGS((int read_stdin, exarg_T *eap));
-int buf_valid __ARGS((buf_T *buf));
-void close_buffer __ARGS((win_T *win, buf_T *buf, int action));
-void buf_clear_file __ARGS((buf_T *buf));
-void buf_freeall __ARGS((buf_T *buf, int del_buf, int wipe_buf));
-void goto_buffer __ARGS((exarg_T *eap, int start, int dir, int count));
-void handle_swap_exists __ARGS((buf_T *old_curbuf));
-char_u *do_bufdel __ARGS((int command, char_u *arg, int addr_count, int start_bnr, int end_bnr, int forceit));
-int do_buffer __ARGS((int action, int start, int dir, int count, int forceit));
-void set_curbuf __ARGS((buf_T *buf, int action));
-void enter_buffer __ARGS((buf_T *buf));
-buf_T *buflist_new __ARGS((char_u *ffname, char_u *sfname, linenr_T lnum, int flags));
-void free_buf_options __ARGS((buf_T *buf, int free_p_ff));
-int buflist_getfile __ARGS((int n, linenr_T lnum, int options, int forceit));
-void buflist_getfpos __ARGS((void));
-buf_T *buflist_findname_exp __ARGS((char_u *fname));
-buf_T *buflist_findname __ARGS((char_u *ffname));
-int buflist_findpat __ARGS((char_u *pattern, char_u *pattern_end, int unlisted, int diffmode));
-int ExpandBufnames __ARGS((char_u *pat, int *num_file, char_u ***file, int options));
-buf_T *buflist_findnr __ARGS((int nr));
-char_u *buflist_nr2name __ARGS((int n, int fullname, int helptail));
-void get_winopts __ARGS((buf_T *buf));
-pos_T *buflist_findfpos __ARGS((buf_T *buf));
-linenr_T buflist_findlnum __ARGS((buf_T *buf));
-void buflist_list __ARGS((exarg_T *eap));
-int buflist_name_nr __ARGS((int fnum, char_u **fname, linenr_T *lnum));
-int setfname __ARGS((buf_T *buf, char_u *ffname, char_u *sfname, int message));
-void buf_set_name __ARGS((int fnum, char_u *name));
-void buf_name_changed __ARGS((buf_T *buf));
-buf_T *setaltfname __ARGS((char_u *ffname, char_u *sfname, linenr_T lnum));
-char_u *getaltfname __ARGS((int errmsg));
-int buflist_add __ARGS((char_u *fname, int flags));
-void buflist_slash_adjust __ARGS((void));
-void buflist_altfpos __ARGS((void));
-int otherfile __ARGS((char_u *ffname));
-void buf_setino __ARGS((buf_T *buf));
-void fileinfo __ARGS((int fullname, int shorthelp, int dont_truncate));
-void col_print __ARGS((char_u *buf, int col, int vcol));
-void maketitle __ARGS((void));
-void resettitle __ARGS((void));
-void free_titles __ARGS((void));
-int build_stl_str_hl __ARGS((win_T *wp, char_u *out, size_t outlen, char_u *fmt, int use_sandbox, int fillchar, int maxwidth, struct stl_hlrec *hltab, struct stl_hlrec *tabtab));
-void get_rel_pos __ARGS((win_T *wp, char_u *str));
-int append_arg_number __ARGS((win_T *wp, char_u *buf, int add_file, int maxlen));
-char_u *fix_fname __ARGS((char_u *fname));
-void fname_expand __ARGS((buf_T *buf, char_u **ffname, char_u **sfname));
-char_u *alist_name __ARGS((aentry_T *aep));
-void do_arg_all __ARGS((int count, int forceit, int keep_tabs));
-void ex_buffer_all __ARGS((exarg_T *eap));
-void do_modelines __ARGS((int flags));
-int read_viminfo_bufferlist __ARGS((vir_T *virp, int writing));
-void write_viminfo_bufferlist __ARGS((FILE *fp));
-char *buf_spname __ARGS((buf_T *buf));
-void buf_addsign __ARGS((buf_T *buf, int id, linenr_T lnum, int typenr));
-int buf_change_sign_type __ARGS((buf_T *buf, int markId, int typenr));
-int_u buf_getsigntype __ARGS((buf_T *buf, linenr_T lnum, int type));
-linenr_T buf_delsign __ARGS((buf_T *buf, int id));
-int buf_findsign __ARGS((buf_T *buf, int id));
-int buf_findsign_id __ARGS((buf_T *buf, linenr_T lnum));
-int buf_findsigntype_id __ARGS((buf_T *buf, linenr_T lnum, int typenr));
-int buf_signcount __ARGS((buf_T *buf, linenr_T lnum));
-void buf_delete_all_signs __ARGS((void));
-void sign_list_placed __ARGS((buf_T *rbuf));
-void sign_mark_adjust __ARGS((linenr_T line1, linenr_T line2, long amount, long amount_after));
-void set_buflisted __ARGS((int on));
-int buf_contents_changed __ARGS((buf_T *buf));
-void wipe_buffer __ARGS((buf_T *buf, int aucmd));
+extern int open_buffer __ARGS((int read_stdin, exarg_T *eap));
+extern int buf_valid __ARGS((buf_T *buf));
+extern void close_buffer __ARGS((win_T *win, buf_T *buf, int action));
+extern void buf_clear_file __ARGS((buf_T *buf));
+extern void buf_freeall __ARGS((buf_T *buf, int del_buf, int wipe_buf));
+extern void goto_buffer __ARGS((exarg_T *eap, int start, int dir, int count));
+extern void handle_swap_exists __ARGS((buf_T *old_curbuf));
+extern char_u *do_bufdel __ARGS((int command, char_u *arg, int addr_count, int start_bnr, int end_bnr, int forceit));
+extern int do_buffer __ARGS((int action, int start, int dir, int count, int forceit));
+extern void set_curbuf __ARGS((buf_T *buf, int action));
+extern void enter_buffer __ARGS((buf_T *buf));
+extern buf_T *buflist_new __ARGS((char_u *ffname, char_u *sfname, linenr_T lnum, int flags));
+extern void free_buf_options __ARGS((buf_T *buf, int free_p_ff));
+extern int buflist_getfile __ARGS((int n, linenr_T lnum, int options, int forceit));
+extern void buflist_getfpos __ARGS((void));
+extern buf_T *buflist_findname_exp __ARGS((char_u *fname));
+extern buf_T *buflist_findname __ARGS((char_u *ffname));
+extern int buflist_findpat __ARGS((char_u *pattern, char_u *pattern_end, int unlisted, int diffmode));
+extern int ExpandBufnames __ARGS((char_u *pat, int *num_file, char_u ***file, int options));
+extern buf_T *buflist_findnr __ARGS((int nr));
+extern char_u *buflist_nr2name __ARGS((int n, int fullname, int helptail));
+extern void get_winopts __ARGS((buf_T *buf));
+extern pos_T *buflist_findfpos __ARGS((buf_T *buf));
+extern linenr_T buflist_findlnum __ARGS((buf_T *buf));
+extern void buflist_list __ARGS((exarg_T *eap));
+extern int buflist_name_nr __ARGS((int fnum, char_u **fname, linenr_T *lnum));
+extern int setfname __ARGS((buf_T *buf, char_u *ffname, char_u *sfname, int message));
+extern void buf_set_name __ARGS((int fnum, char_u *name));
+extern void buf_name_changed __ARGS((buf_T *buf));
+extern buf_T *setaltfname __ARGS((char_u *ffname, char_u *sfname, linenr_T lnum));
+extern char_u *getaltfname __ARGS((int errmsg));
+extern int buflist_add __ARGS((char_u *fname, int flags));
+extern void buflist_slash_adjust __ARGS((void));
+extern void buflist_altfpos __ARGS((void));
+extern int otherfile __ARGS((char_u *ffname));
+extern void buf_setino __ARGS((buf_T *buf));
+extern void fileinfo __ARGS((int fullname, int shorthelp, int dont_truncate));
+extern void col_print __ARGS((char_u *buf, int col, int vcol));
+extern void maketitle __ARGS((void));
+extern void resettitle __ARGS((void));
+extern void free_titles __ARGS((void));
+extern int build_stl_str_hl __ARGS((win_T *wp, char_u *out, size_t outlen, char_u *fmt, int use_sandbox, int fillchar, int maxwidth, struct stl_hlrec *hltab, struct stl_hlrec *tabtab));
+extern void get_rel_pos __ARGS((win_T *wp, char_u *str));
+extern int append_arg_number __ARGS((win_T *wp, char_u *buf, int add_file, int maxlen));
+extern char_u *fix_fname __ARGS((char_u *fname));
+extern void fname_expand __ARGS((buf_T *buf, char_u **ffname, char_u **sfname));
+extern char_u *alist_name __ARGS((aentry_T *aep));
+extern void do_arg_all __ARGS((int count, int forceit, int keep_tabs));
+extern void ex_buffer_all __ARGS((exarg_T *eap));
+extern void do_modelines __ARGS((int flags));
+extern int read_viminfo_bufferlist __ARGS((vir_T *virp, int writing));
+extern void write_viminfo_bufferlist __ARGS((FILE *fp));
+extern char *buf_spname __ARGS((buf_T *buf));
+extern void buf_addsign __ARGS((buf_T *buf, int id, linenr_T lnum, int typenr));
+extern int buf_change_sign_type __ARGS((buf_T *buf, int markId, int typenr));
+extern int_u buf_getsigntype __ARGS((buf_T *buf, linenr_T lnum, int type));
+extern linenr_T buf_delsign __ARGS((buf_T *buf, int id));
+extern int buf_findsign __ARGS((buf_T *buf, int id));
+extern int buf_findsign_id __ARGS((buf_T *buf, linenr_T lnum));
+extern int buf_findsigntype_id __ARGS((buf_T *buf, linenr_T lnum, int typenr));
+extern int buf_signcount __ARGS((buf_T *buf, linenr_T lnum));
+extern void buf_delete_all_signs __ARGS((void));
+extern void sign_list_placed __ARGS((buf_T *rbuf));
+extern void sign_mark_adjust __ARGS((linenr_T line1, linenr_T line2, long amount, long amount_after));
+extern void set_buflisted __ARGS((int on));
+extern int buf_contents_changed __ARGS((buf_T *buf));
+extern void wipe_buffer __ARGS((buf_T *buf, int aucmd));
 /* vim: set ft=c : */
--- a/src/proto/charset.pro
+++ b/src/proto/charset.pro
@@ -1,56 +1,56 @@
 /* charset.c */
-int init_chartab __ARGS((void));
-int buf_init_chartab __ARGS((buf_T *buf, int global));
-void trans_characters __ARGS((char_u *buf, int bufsize));
-char_u *transstr __ARGS((char_u *s));
-char_u *str_foldcase __ARGS((char_u *str, int orglen, char_u *buf, int buflen));
-char_u *transchar __ARGS((int c));
-char_u *transchar_byte __ARGS((int c));
-void transchar_nonprint __ARGS((char_u *buf, int c));
-void transchar_hex __ARGS((char_u *buf, int c));
-int byte2cells __ARGS((int b));
-int char2cells __ARGS((int c));
-int ptr2cells __ARGS((char_u *p));
-int vim_strsize __ARGS((char_u *s));
-int vim_strnsize __ARGS((char_u *s, int len));
-int chartabsize __ARGS((char_u *p, colnr_T col));
-int linetabsize __ARGS((char_u *s));
-int win_linetabsize __ARGS((win_T *wp, char_u *p, colnr_T len));
-int vim_isIDc __ARGS((int c));
-int vim_iswordc __ARGS((int c));
-int vim_iswordp __ARGS((char_u *p));
-int vim_iswordc_buf __ARGS((char_u *p, buf_T *buf));
-int vim_isfilec __ARGS((int c));
-int vim_isprintc __ARGS((int c));
-int vim_isprintc_strict __ARGS((int c));
-int lbr_chartabsize __ARGS((unsigned char *s, colnr_T col));
-int lbr_chartabsize_adv __ARGS((char_u **s, colnr_T col));
-int win_lbr_chartabsize __ARGS((win_T *wp, char_u *s, colnr_T col, int *headp));
-int in_win_border __ARGS((win_T *wp, colnr_T vcol));
-void getvcol __ARGS((win_T *wp, pos_T *pos, colnr_T *start, colnr_T *cursor, colnr_T *end));
-colnr_T getvcol_nolist __ARGS((pos_T *posp));
-void getvvcol __ARGS((win_T *wp, pos_T *pos, colnr_T *start, colnr_T *cursor, colnr_T *end));
-void getvcols __ARGS((win_T *wp, pos_T *pos1, pos_T *pos2, colnr_T *left, colnr_T *right));
-char_u *skipwhite __ARGS((char_u *p));
-char_u *skipdigits __ARGS((char_u *p));
-char_u *skiphex __ARGS((char_u *p));
-char_u *skiptodigit __ARGS((char_u *p));
-char_u *skiptohex __ARGS((char_u *p));
-int vim_isdigit __ARGS((int c));
-int vim_isxdigit __ARGS((int c));
-int vim_islower __ARGS((int c));
-int vim_isupper __ARGS((int c));
-int vim_toupper __ARGS((int c));
-int vim_tolower __ARGS((int c));
-char_u *skiptowhite __ARGS((char_u *p));
-char_u *skiptowhite_esc __ARGS((char_u *p));
-long getdigits __ARGS((char_u **pp));
-int vim_isblankline __ARGS((char_u *lbuf));
-void vim_str2nr __ARGS((char_u *start, int *hexp, int *len, int dooct, int dohex, long *nptr, unsigned long *unptr));
-int hex2nr __ARGS((int c));
-int hexhex2nr __ARGS((char_u *p));
-int rem_backslash __ARGS((char_u *str));
-void backslash_halve __ARGS((char_u *p));
-char_u *backslash_halve_save __ARGS((char_u *p));
-void ebcdic2ascii __ARGS((char_u *buffer, int len));
+extern int init_chartab __ARGS((void));
+extern int buf_init_chartab __ARGS((buf_T *buf, int global));
+extern void trans_characters __ARGS((char_u *buf, int bufsize));
+extern char_u *transstr __ARGS((char_u *s));
+extern char_u *str_foldcase __ARGS((char_u *str, int orglen, char_u *buf, int buflen));
+extern char_u *transchar __ARGS((int c));
+extern char_u *transchar_byte __ARGS((int c));
+extern void transchar_nonprint __ARGS((char_u *buf, int c));
+extern void transchar_hex __ARGS((char_u *buf, int c));
+extern int byte2cells __ARGS((int b));
+extern int char2cells __ARGS((int c));
+extern int ptr2cells __ARGS((char_u *p));
+extern int vim_strsize __ARGS((char_u *s));
+extern int vim_strnsize __ARGS((char_u *s, int len));
+extern int chartabsize __ARGS((char_u *p, colnr_T col));
+extern int linetabsize __ARGS((char_u *s));
+extern int win_linetabsize __ARGS((win_T *wp, char_u *p, colnr_T len));
+extern int vim_isIDc __ARGS((int c));
+extern int vim_iswordc __ARGS((int c));
+extern int vim_iswordp __ARGS((char_u *p));
+extern int vim_iswordc_buf __ARGS((char_u *p, buf_T *buf));
+extern int vim_isfilec __ARGS((int c));
+extern int vim_isprintc __ARGS((int c));
+extern int vim_isprintc_strict __ARGS((int c));
+extern int lbr_chartabsize __ARGS((unsigned char *s, colnr_T col));
+extern int lbr_chartabsize_adv __ARGS((char_u **s, colnr_T col));
+extern int win_lbr_chartabsize __ARGS((win_T *wp, char_u *s, colnr_T col, int *headp));
+extern int in_win_border __ARGS((win_T *wp, colnr_T vcol));
+extern void getvcol __ARGS((win_T *wp, pos_T *pos, colnr_T *start, colnr_T *cursor, colnr_T *end));
+extern colnr_T getvcol_nolist __ARGS((pos_T *posp));
+extern void getvvcol __ARGS((win_T *wp, pos_T *pos, colnr_T *start, colnr_T *cursor, colnr_T *end));
+extern void getvcols __ARGS((win_T *wp, pos_T *pos1, pos_T *pos2, colnr_T *left, colnr_T *right));
+extern char_u *skipwhite __ARGS((char_u *p));
+extern char_u *skipdigits __ARGS((char_u *p));
+extern char_u *skiphex __ARGS((char_u *p));
+extern char_u *skiptodigit __ARGS((char_u *p));
+extern char_u *skiptohex __ARGS((char_u *p));
+extern int vim_isdigit __ARGS((int c));
+extern int vim_isxdigit __ARGS((int c));
+extern int vim_islower __ARGS((int c));
+extern int vim_isupper __ARGS((int c));
+extern int vim_toupper __ARGS((int c));
+extern int vim_tolower __ARGS((int c));
+extern char_u *skiptowhite __ARGS((char_u *p));
+extern char_u *skiptowhite_esc __ARGS((char_u *p));
+extern long getdigits __ARGS((char_u **pp));
+extern int vim_isblankline __ARGS((char_u *lbuf));
+extern void vim_str2nr __ARGS((char_u *start, int *hexp, int *len, int dooct, int dohex, long *nptr, unsigned long *unptr));
+extern int hex2nr __ARGS((int c));
+extern int hexhex2nr __ARGS((char_u *p));
+extern int rem_backslash __ARGS((char_u *str));
+extern void backslash_halve __ARGS((char_u *p));
+extern char_u *backslash_halve_save __ARGS((char_u *p));
+extern void ebcdic2ascii __ARGS((char_u *buffer, int len));
 /* vim: set ft=c : */
--- a/src/proto/ex_getln.pro
+++ b/src/proto/ex_getln.pro
@@ -1,56 +1,56 @@
 /* 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));
-char_u *save_cmdline_alloc __ARGS((void));
-void restore_cmdline_alloc __ARGS((char_u *p));
-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 char_u *save_cmdline_alloc __ARGS((void));
+extern void restore_cmdline_alloc __ARGS((char_u *p));
+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/getchar.pro
+++ b/src/proto/getchar.pro
@@ -1,65 +1,65 @@
 /* getchar.c */
-void free_buff __ARGS((struct buffheader *buf));
-char_u *get_recorded __ARGS((void));
-char_u *get_inserted __ARGS((void));
-int stuff_empty __ARGS((void));
-void typeahead_noflush __ARGS((int c));
-void flush_buffers __ARGS((int typeahead));
-void ResetRedobuff __ARGS((void));
-void saveRedobuff __ARGS((void));
-void restoreRedobuff __ARGS((void));
-void AppendToRedobuff __ARGS((char_u *s));
-void AppendToRedobuffLit __ARGS((char_u *str, int len));
-void AppendCharToRedobuff __ARGS((int c));
-void AppendNumberToRedobuff __ARGS((long n));
-void stuffReadbuff __ARGS((char_u *s));
-void stuffReadbuffLen __ARGS((char_u *s, long len));
-void stuffReadbuffSpec __ARGS((char_u *s));
-void stuffcharReadbuff __ARGS((int c));
-void stuffnumReadbuff __ARGS((long n));
-int start_redo __ARGS((long count, int old_redo));
-int start_redo_ins __ARGS((void));
-void stop_redo_ins __ARGS((void));
-int ins_typebuf __ARGS((char_u *str, int noremap, int offset, int nottyped, int silent));
-void ins_char_typebuf __ARGS((int c));
-int typebuf_changed __ARGS((int tb_change_cnt));
-int typebuf_typed __ARGS((void));
-int typebuf_maplen __ARGS((void));
-void del_typebuf __ARGS((int len, int offset));
-int alloc_typebuf __ARGS((void));
-void free_typebuf __ARGS((void));
-int save_typebuf __ARGS((void));
-void save_typeahead __ARGS((tasave_T *tp));
-void restore_typeahead __ARGS((tasave_T *tp));
-void openscript __ARGS((char_u *name, int directly));
-void close_all_scripts __ARGS((void));
-int using_script __ARGS((void));
-void before_blocking __ARGS((void));
-void updatescript __ARGS((int c));
-int vgetc __ARGS((void));
-int safe_vgetc __ARGS((void));
-int vpeekc __ARGS((void));
-int vpeekc_nomap __ARGS((void));
-int vpeekc_any __ARGS((void));
-int char_avail __ARGS((void));
-void vungetc __ARGS((int c));
-int inchar __ARGS((char_u *buf, int maxlen, long wait_time, int tb_change_cnt));
-int fix_input_buffer __ARGS((char_u *buf, int len, int script));
-int input_available __ARGS((void));
-int do_map __ARGS((int maptype, char_u *arg, int mode, int abbrev));
-int get_map_mode __ARGS((char_u **cmdp, int forceit));
-void map_clear __ARGS((char_u *cmdp, char_u *arg, int forceit, int abbr));
-void map_clear_int __ARGS((buf_T *buf, int mode, int local, int abbr));
-int map_to_exists __ARGS((char_u *str, char_u *modechars, int abbr));
-int map_to_exists_mode __ARGS((char_u *rhs, int mode, int abbr));
-char_u *set_context_in_map_cmd __ARGS((expand_T *xp, char_u *cmd, char_u *arg, int forceit, int isabbrev, int isunmap, cmdidx_T cmdidx));
-int ExpandMappings __ARGS((regmatch_T *regmatch, int *num_file, char_u ***file));
-int check_abbr __ARGS((int c, char_u *ptr, int col, int mincol));
-char_u *vim_strsave_escape_csi __ARGS((char_u *p));
-int makemap __ARGS((FILE *fd, buf_T *buf));
-int put_escstr __ARGS((FILE *fd, char_u *strstart, int what));
-void check_map_keycodes __ARGS((void));
-char_u *check_map __ARGS((char_u *keys, int mode, int exact, int ign_mod, int abbr));
-void init_mappings __ARGS((void));
-void add_map __ARGS((char_u *map, int mode));
+extern void free_buff __ARGS((struct buffheader *buf));
+extern char_u *get_recorded __ARGS((void));
+extern char_u *get_inserted __ARGS((void));
+extern int stuff_empty __ARGS((void));
+extern void typeahead_noflush __ARGS((int c));
+extern void flush_buffers __ARGS((int typeahead));
+extern void ResetRedobuff __ARGS((void));
+extern void saveRedobuff __ARGS((void));
+extern void restoreRedobuff __ARGS((void));
+extern void AppendToRedobuff __ARGS((char_u *s));
+extern void AppendToRedobuffLit __ARGS((char_u *str, int len));
+extern void AppendCharToRedobuff __ARGS((int c));
+extern void AppendNumberToRedobuff __ARGS((long n));
+extern void stuffReadbuff __ARGS((char_u *s));
+extern void stuffReadbuffLen __ARGS((char_u *s, long len));
+extern void stuffReadbuffSpec __ARGS((char_u *s));
+extern void stuffcharReadbuff __ARGS((int c));
+extern void stuffnumReadbuff __ARGS((long n));
+extern int start_redo __ARGS((long count, int old_redo));
+extern int start_redo_ins __ARGS((void));
+extern void stop_redo_ins __ARGS((void));
+extern int ins_typebuf __ARGS((char_u *str, int noremap, int offset, int nottyped, int silent));
+extern void ins_char_typebuf __ARGS((int c));
+extern int typebuf_changed __ARGS((int tb_change_cnt));
+extern int typebuf_typed __ARGS((void));
+extern int typebuf_maplen __ARGS((void));
+extern void del_typebuf __ARGS((int len, int offset));
+extern int alloc_typebuf __ARGS((void));
+extern void free_typebuf __ARGS((void));
+extern int save_typebuf __ARGS((void));
+extern void save_typeahead __ARGS((tasave_T *tp));
+extern void restore_typeahead __ARGS((tasave_T *tp));
+extern void openscript __ARGS((char_u *name, int directly));
+extern void close_all_scripts __ARGS((void));
+extern int using_script __ARGS((void));
+extern void before_blocking __ARGS((void));
+extern void updatescript __ARGS((int c));
+extern int vgetc __ARGS((void));
+extern int safe_vgetc __ARGS((void));
+extern int vpeekc __ARGS((void));
+extern int vpeekc_nomap __ARGS((void));
+extern int vpeekc_any __ARGS((void));
+extern int char_avail __ARGS((void));
+extern void vungetc __ARGS((int c));
+extern int inchar __ARGS((char_u *buf, int maxlen, long wait_time, int tb_change_cnt));
+extern int fix_input_buffer __ARGS((char_u *buf, int len, int script));
+extern int input_available __ARGS((void));
+extern int do_map __ARGS((int maptype, char_u *arg, int mode, int abbrev));
+extern int get_map_mode __ARGS((char_u **cmdp, int forceit));
+extern void map_clear __ARGS((char_u *cmdp, char_u *arg, int forceit, int abbr));
+extern void map_clear_int __ARGS((buf_T *buf, int mode, int local, int abbr));
+extern int map_to_exists __ARGS((char_u *str, char_u *modechars, int abbr));
+extern int map_to_exists_mode __ARGS((char_u *rhs, int mode, int abbr));
+extern char_u *set_context_in_map_cmd __ARGS((expand_T *xp, char_u *cmd, char_u *arg, int forceit, int isabbrev, int isunmap, cmdidx_T cmdidx));
+extern int ExpandMappings __ARGS((regmatch_T *regmatch, int *num_file, char_u ***file));
+extern int check_abbr __ARGS((int c, char_u *ptr, int col, int mincol));
+extern char_u *vim_strsave_escape_csi __ARGS((char_u *p));
+extern int makemap __ARGS((FILE *fd, buf_T *buf));
+extern int put_escstr __ARGS((FILE *fd, char_u *strstart, int what));
+extern void check_map_keycodes __ARGS((void));
+extern char_u *check_map __ARGS((char_u *keys, int mode, int exact, int ign_mod, int abbr));
+extern void init_mappings __ARGS((void));
+extern void add_map __ARGS((char_u *map, int mode));
 /* vim: set ft=c : */
--- a/src/proto/normal.pro
+++ b/src/proto/normal.pro
@@ -1,26 +1,26 @@
 /* normal.c */
-void init_normal_cmds __ARGS((void));
-void normal_cmd __ARGS((oparg_T *oap, int toplevel));
-void do_pending_operator __ARGS((cmdarg_T *cap, int old_col, int gui_yank));
-int do_mouse __ARGS((oparg_T *oap, int c, int dir, long count, int fixindent));
-void check_visual_highlight __ARGS((void));
-void end_visual_mode __ARGS((void));
-void reset_VIsual_and_resel __ARGS((void));
-void reset_VIsual __ARGS((void));
-int find_ident_under_cursor __ARGS((char_u **string, int find_type));
-int find_ident_at_pos __ARGS((win_T *wp, linenr_T lnum, colnr_T startcol, char_u **string, int find_type));
-void clear_showcmd __ARGS((void));
-int add_to_showcmd __ARGS((int c));
-void add_to_showcmd_c __ARGS((int c));
-void push_showcmd __ARGS((void));
-void pop_showcmd __ARGS((void));
-void do_check_scrollbind __ARGS((int check));
-void check_scrollbind __ARGS((linenr_T topline_diff, long leftcol_diff));
-int find_decl __ARGS((char_u *ptr, int len, int locally, int thisblock, int searchflags));
-void scroll_redraw __ARGS((int up, long count));
-void handle_tabmenu __ARGS((void));
-void do_nv_ident __ARGS((int c1, int c2));
-int get_visual_text __ARGS((cmdarg_T *cap, char_u **pp, int *lenp));
-void start_selection __ARGS((void));
-void may_start_select __ARGS((int c));
+extern void init_normal_cmds __ARGS((void));
+extern void normal_cmd __ARGS((oparg_T *oap, int toplevel));
+extern void do_pending_operator __ARGS((cmdarg_T *cap, int old_col, int gui_yank));
+extern int do_mouse __ARGS((oparg_T *oap, int c, int dir, long count, int fixindent));
+extern void check_visual_highlight __ARGS((void));
+extern void end_visual_mode __ARGS((void));
+extern void reset_VIsual_and_resel __ARGS((void));
+extern void reset_VIsual __ARGS((void));
+extern int find_ident_under_cursor __ARGS((char_u **string, int find_type));
+extern int find_ident_at_pos __ARGS((win_T *wp, linenr_T lnum, colnr_T startcol, char_u **string, int find_type));
+extern void clear_showcmd __ARGS((void));
+extern int add_to_showcmd __ARGS((int c));
+extern void add_to_showcmd_c __ARGS((int c));
+extern void push_showcmd __ARGS((void));
+extern void pop_showcmd __ARGS((void));
+extern void do_check_scrollbind __ARGS((int check));
+extern void check_scrollbind __ARGS((linenr_T topline_diff, long leftcol_diff));
+extern int find_decl __ARGS((char_u *ptr, int len, int locally, int thisblock, int searchflags));
+extern void scroll_redraw __ARGS((int up, long count));
+extern void handle_tabmenu __ARGS((void));
+extern void do_nv_ident __ARGS((int c1, int c2));
+extern int get_visual_text __ARGS((cmdarg_T *cap, char_u **pp, int *lenp));
+extern void start_selection __ARGS((void));
+extern void may_start_select __ARGS((int c));
 /* vim: set ft=c : */
--- a/src/proto/ops.pro
+++ b/src/proto/ops.pro
@@ -1,61 +1,61 @@
 /* ops.c */
-int get_op_type __ARGS((int char1, int char2));
-int op_on_lines __ARGS((int op));
-int get_op_char __ARGS((int optype));
-int get_extra_op_char __ARGS((int optype));
-void op_shift __ARGS((oparg_T *oap, int curs_top, int amount));
-void shift_line __ARGS((int left, int round, int amount));
-void op_reindent __ARGS((oparg_T *oap, int (*how)(void)));
-int get_expr_register __ARGS((void));
-void set_expr_line __ARGS((char_u *new_line));
-char_u *get_expr_line __ARGS((void));
-char_u *get_expr_line_src __ARGS((void));
-int valid_yank_reg __ARGS((int regname, int writing));
-void get_yank_register __ARGS((int regname, int writing));
-int may_get_selection __ARGS((int regname));
-void *get_register __ARGS((int name, int copy));
-void put_register __ARGS((int name, void *reg));
-int yank_register_mline __ARGS((int regname));
-int do_record __ARGS((int c));
-int do_execreg __ARGS((int regname, int colon, int addcr));
-int insert_reg __ARGS((int regname, int literally));
-int get_spec_reg __ARGS((int regname, char_u **argp, int *allocated, int errmsg));
-int cmdline_paste_reg __ARGS((int regname, int literally));
-void adjust_clip_reg __ARGS((int *rp));
-int op_delete __ARGS((oparg_T *oap));
-int op_replace __ARGS((oparg_T *oap, int c));
-void op_tilde __ARGS((oparg_T *oap));
-int swapchar __ARGS((int op_type, pos_T *pos));
-void op_insert __ARGS((oparg_T *oap, long count1));
-int op_change __ARGS((oparg_T *oap));
-void init_yank __ARGS((void));
-void clear_registers __ARGS((void));
-int op_yank __ARGS((oparg_T *oap, int deleting, int mess));
-void do_put __ARGS((int regname, int dir, long count, int flags));
-void adjust_cursor_eol __ARGS((void));
-int preprocs_left __ARGS((void));
-int get_register_name __ARGS((int num));
-void ex_display __ARGS((exarg_T *eap));
-void do_do_join __ARGS((long count, int insert_space));
-int do_join __ARGS((int insert_space));
-void op_format __ARGS((oparg_T *oap, int keep_cursor));
-void op_formatexpr __ARGS((oparg_T *oap));
-int fex_format __ARGS((linenr_T lnum, long count, int c));
-void format_lines __ARGS((linenr_T line_count));
-int paragraph_start __ARGS((linenr_T lnum));
-int do_addsub __ARGS((int command, linenr_T Prenum1));
-int read_viminfo_register __ARGS((vir_T *virp, int force));
-void write_viminfo_registers __ARGS((FILE *fp));
-void x11_export_final_selection __ARGS((void));
-void clip_free_selection __ARGS((VimClipboard *cbd));
-void clip_get_selection __ARGS((VimClipboard *cbd));
-void clip_yank_selection __ARGS((int type, char_u *str, long len, VimClipboard *cbd));
-int clip_convert_selection __ARGS((char_u **str, long_u *len, VimClipboard *cbd));
-void dnd_yank_drag_data __ARGS((char_u *str, long len));
-char_u get_reg_type __ARGS((int regname, long *reglen));
-char_u *get_reg_contents __ARGS((int regname, int allowexpr, int expr_src));
-void write_reg_contents __ARGS((int name, char_u *str, int maxlen, int must_append));
-void write_reg_contents_ex __ARGS((int name, char_u *str, int maxlen, int must_append, int yank_type, long block_len));
-void clear_oparg __ARGS((oparg_T *oap));
-void cursor_pos_info __ARGS((void));
+extern int get_op_type __ARGS((int char1, int char2));
+extern int op_on_lines __ARGS((int op));
+extern int get_op_char __ARGS((int optype));
+extern int get_extra_op_char __ARGS((int optype));
+extern void op_shift __ARGS((oparg_T *oap, int curs_top, int amount));
+extern void shift_line __ARGS((int left, int round, int amount));
+extern void op_reindent __ARGS((oparg_T *oap, int (*how)(void)));
+extern int get_expr_register __ARGS((void));
+extern void set_expr_line __ARGS((char_u *new_line));
+extern char_u *get_expr_line __ARGS((void));
+extern char_u *get_expr_line_src __ARGS((void));
+extern int valid_yank_reg __ARGS((int regname, int writing));
+extern void get_yank_register __ARGS((int regname, int writing));
+extern int may_get_selection __ARGS((int regname));
+extern void *get_register __ARGS((int name, int copy));
+extern void put_register __ARGS((int name, void *reg));
+extern int yank_register_mline __ARGS((int regname));
+extern int do_record __ARGS((int c));
+extern int do_execreg __ARGS((int regname, int colon, int addcr));
+extern int insert_reg __ARGS((int regname, int literally));
+extern int get_spec_reg __ARGS((int regname, char_u **argp, int *allocated, int errmsg));
+extern int cmdline_paste_reg __ARGS((int regname, int literally));
+extern void adjust_clip_reg __ARGS((int *rp));
+extern int op_delete __ARGS((oparg_T *oap));
+extern int op_replace __ARGS((oparg_T *oap, int c));
+extern void op_tilde __ARGS((oparg_T *oap));
+extern int swapchar __ARGS((int op_type, pos_T *pos));
+extern void op_insert __ARGS((oparg_T *oap, long count1));
+extern int op_change __ARGS((oparg_T *oap));
+extern void init_yank __ARGS((void));
+extern void clear_registers __ARGS((void));
+extern int op_yank __ARGS((oparg_T *oap, int deleting, int mess));
+extern void do_put __ARGS((int regname, int dir, long count, int flags));
+extern void adjust_cursor_eol __ARGS((void));
+extern int preprocs_left __ARGS((void));
+extern int get_register_name __ARGS((int num));
+extern void ex_display __ARGS((exarg_T *eap));
+extern void do_do_join __ARGS((long count, int insert_space));
+extern int do_join __ARGS((int insert_space));
+extern void op_format __ARGS((oparg_T *oap, int keep_cursor));
+extern void op_formatexpr __ARGS((oparg_T *oap));
+extern int fex_format __ARGS((linenr_T lnum, long count, int c));
+extern void format_lines __ARGS((linenr_T line_count));
+extern int paragraph_start __ARGS((linenr_T lnum));
+extern int do_addsub __ARGS((int command, linenr_T Prenum1));
+extern int read_viminfo_register __ARGS((vir_T *virp, int force));
+extern void write_viminfo_registers __ARGS((FILE *fp));
+extern void x11_export_final_selection __ARGS((void));
+extern void clip_free_selection __ARGS((VimClipboard *cbd));
+extern void clip_get_selection __ARGS((VimClipboard *cbd));
+extern void clip_yank_selection __ARGS((int type, char_u *str, long len, VimClipboard *cbd));
+extern int clip_convert_selection __ARGS((char_u **str, long_u *len, VimClipboard *cbd));
+extern void dnd_yank_drag_data __ARGS((char_u *str, long len));
+extern char_u get_reg_type __ARGS((int regname, long *reglen));
+extern char_u *get_reg_contents __ARGS((int regname, int allowexpr, int expr_src));
+extern void write_reg_contents __ARGS((int name, char_u *str, int maxlen, int must_append));
+extern void write_reg_contents_ex __ARGS((int name, char_u *str, int maxlen, int must_append, int yank_type, long block_len));
+extern void clear_oparg __ARGS((oparg_T *oap));
+extern void cursor_pos_info __ARGS((void));
 /* vim: set ft=c : */
--- a/src/proto/window.pro
+++ b/src/proto/window.pro
@@ -1,62 +1,62 @@
 /* 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));
-void free_tabpage __ARGS((tabpage_T *tp));
-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 goto_tabpage_win __ARGS((tabpage_T *tp, win_T *wp));
-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));
-win_T *buf_jump_open_tab __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 void free_tabpage __ARGS((tabpage_T *tp));
+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/quickfix.c
+++ b/src/quickfix.c
@@ -3071,9 +3071,9 @@ ex_vimgrep(eap)
 				regmatch.startpos[0].col + 1,
 				FALSE,      /* vis_col */
 				NULL,	    /* search pattern */
-				0,          /* nr */
-				0,          /* type */
-				TRUE        /* valid */
+				0,	    /* nr */
+				0,	    /* type */
+				TRUE	    /* valid */
 				) == FAIL)
 		    {
 			got_int = TRUE;
--- a/src/regexp.c
+++ b/src/regexp.c
@@ -101,8 +101,8 @@
  *		       +----------------------+
  *		       V		      |
  * <aa>\+	BRANCH <aa> --> BRANCH --> BACK  BRANCH --> NOTHING --> END
- *		     |	             |	         ^		        ^
- *		     |	             +-----------+		        |
+ *		     |		     |		 ^			^
+ *		     |		     +-----------+			|
  *		     +--------------------------------------------------+
  *
  *
@@ -1930,7 +1930,7 @@ regatom(flagp)
 			      }
 
 			      if (i < 0)
-			          EMSG_M_RET_NULL(
+				  EMSG_M_RET_NULL(
 					_("E678: Invalid character after %s%%[dxouU]"),
 					reg_magic == MAGIC_ALL);
 #ifdef FEAT_MBYTE
@@ -2834,7 +2834,7 @@ ungetchr()
  * Return -1 if there is no valid hex number.
  * The position is updated:
  *     blahblah\%x20asdf
- *         before-^ ^-after
+ *	   before-^ ^-after
  * The parameter controls the maximum number of input characters. This will be
  * 2 when reading a \%x20 sequence and 4 when reading a \%u20AC sequence.
  */
@@ -2893,7 +2893,7 @@ getdecchrs()
  * numbers > 377 correctly (for example, 400 is treated as 40) and doesn't
  * treat 8 or 9 as recognised characters. Position is updated:
  *     blahblah\%o210asdf
- *         before-^  ^-after
+ *	   before-^  ^-after
  */
     static int
 getoctchrs()
--- a/src/screen.c
+++ b/src/screen.c
@@ -9335,8 +9335,8 @@ number_width(wp)
     n = 0;
     do
     {
-        lnum /= 10;
-        ++n;
+	lnum /= 10;
+	++n;
     } while (lnum > 0);
 
     /* 'numberwidth' gives the minimal width plus one */
--- a/src/testdir/Make_amiga.mak
+++ b/src/testdir/Make_amiga.mak
@@ -25,7 +25,7 @@ SCRIPTS = test1.out test3.out test4.out 
 		test43.out test44.out test45.out test46.out test47.out \
 		test48.out test51.out test53.out test54.out test55.out \
 		test56.out test57.out test58.out test59.out test60.out \
-		test61.out
+		test61.out test62.out
 
 .SUFFIXES: .in .out
 
@@ -106,3 +106,4 @@ test58.out: test58.in
 test59.out: test59.in
 test60.out: test60.in
 test61.out: test61.in
+test62.out: test62.in
--- a/src/testdir/Make_dos.mak
+++ b/src/testdir/Make_dos.mak
@@ -19,7 +19,7 @@ SCRIPTS16 =	test1.out test19.out test20.
 		test44.out test45.out test46.out test47.out \
 		test48.out test51.out test53.out test54.out \
 		test55.out test56.out test57.out test58.out test59.out \
-		test60.out test61.out
+		test60.out test61.out test62.out
 
 SCRIPTS =	test3.out test4.out test5.out test6.out test7.out \
 		test8.out test9.out test11.out test13.out test14.out \
--- a/src/testdir/Make_os2.mak
+++ b/src/testdir/Make_os2.mak
@@ -25,7 +25,7 @@ SCRIPTS = test1.out test3.out test4.out 
 		test43.out test44.out test45.out test46.out test47.out \
 		test48.out test51.out test53.out test54.out test55.out \
 		test56.out test57.out test58.out test59.out test60.out \
-		test61.out
+		test61.out test62.out
 
 .SUFFIXES: .in .out
 
--- a/src/testdir/Make_vms.mms
+++ b/src/testdir/Make_vms.mms
@@ -4,7 +4,7 @@
 # Authors:	Zoltan Arpadffy, <arpadffy@polarhome.com>
 #		Sandor Kopanyi,  <sandor.kopanyi@mailbox.hu>
 #
-# Last change:  2006 Mar 15
+# Last change:  2006 Apr 30
 #
 # This has been tested on VMS 6.2 to 7.2 on DEC Alpha and VAX.
 # Edit the lines in the Configuration section below to select.
@@ -59,7 +59,7 @@ SCRIPT = test1.out  test2.out  test3.out
 	 test43.out test44.out test45.out test46.out \
 	 test48.out test51.out test53.out test54.out test55.out \
 	 test56.out test57.out test58.out test59.out test60.out \
-	 test61.out
+	 test61.out test62.out
 
 .IFDEF WANT_GUI
 SCRIPT_GUI = test16.out
--- a/src/testdir/Makefile
+++ b/src/testdir/Makefile
@@ -15,7 +15,7 @@ SCRIPTS = test1.out test2.out test3.out 
 		test43.out test44.out test45.out test46.out test47.out \
 		test48.out test49.out test51.out test52.out test53.out \
 		test54.out test55.out test56.out test57.out test58.out \
-		test59.out test60.out test61.out
+		test59.out test60.out test61.out test62.out
 
 SCRIPTS_GUI = test16.out
 
--- a/src/testdir/test34.in
+++ b/src/testdir/test34.in
@@ -1,4 +1,5 @@
-Test for user functions
+Test for user functions.
+Also test an <expr> mapping calling a function.
 
 STARTTEST
 :so small.vim
@@ -18,6 +19,27 @@ STARTTEST
 :  exe "let g:" . a:divname . " = ". a:n1 / a:n2
 :  return "ok"
 :endfunction
+:func Expr1()
+:  normal! v
+:  return "111"
+:endfunc
+:func Expr2()
+:  call search('XX', 'b')
+:  return "222"
+:endfunc
+:func ListItem()
+:  let g:counter += 1
+:  return g:counter . '. '
+:endfunc
+:func ListReset()
+:  let g:counter = 0
+:  return ''
+:endfunc
+:let counter = 0
+:inoremap <expr> ( ListItem()
+:inoremap <expr> [ ListReset()
+:imap <expr> + Expr1()
+:imap <expr> * Expr2()
 :let retval = "nop"
 /^here
 C=Table("xxx", 4, "asdf")
@@ -25,7 +47,12 @@ C=Table("xxx", 4, "asdf")
  =retval
  =Compute(45, 5, "retval")
  =retval
-:.wq! test.out
+
+XX+-XX
+---*---
+(one
+(two
+[(one again:$-5,$wq! test.out
 ENDTEST
 
 here
--- a/src/testdir/test34.ok
+++ b/src/testdir/test34.ok
@@ -1,1 +1,6 @@
 xxx4asdf fail nop ok 9
+XX111XX
+---222---
+1. one
+2. two
+1. one again
new file mode 100644
--- /dev/null
+++ b/src/testdir/test62.in
@@ -0,0 +1,32 @@
+Tests for tab pages
+
+STARTTEST
+:so small.vim
+:" Simple test for opening and closing a tab page
+:tabnew
+:let nr = tabpagenr()
+:q
+:call append(line('$'), 'tab page ' . nr)
+:"
+:" Open three tab pages and use ":tabdo"
+:0tabnew
+:1tabnew
+:888tabnew
+:tabdo call append(line('$'), 'this is tab page ' . tabpagenr())
+:tabclose! 2
+:tabrewind
+:let line1 = getline('$')
+:undo
+:q
+:tablast
+:let line2 = getline('$')
+:q!
+:call append(line('$'), line1)
+:call append(line('$'), line2)
+:"
+:"
+:/^Results/,$w! test.out
+:qa!
+ENDTEST
+
+Results:
new file mode 100644
--- /dev/null
+++ b/src/testdir/test62.ok
@@ -0,0 +1,5 @@
+Results:
+tab page 2
+this is tab page 3
+this is tab page 1
+this is tab page 4
--- 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		 260
-#define VIM_VERSION_BUILD_BCD		0x104
-#define VIM_VERSION_BUILD_STR		"260"
+#define VIM_VERSION_BUILD		 261
+#define VIM_VERSION_BUILD_BCD		0x105
+#define VIM_VERSION_BUILD_STR		"261"
 #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	"vim70f"
-#define VIM_VERSION_SHORT	"7.0f"
-#define VIM_VERSION_MEDIUM	"7.0f05 BETA"
-#define VIM_VERSION_LONG	"VIM - Vi IMproved 7.0f05 BETA (2006 Apr 29)"
-#define VIM_VERSION_LONG_DATE	"VIM - Vi IMproved 7.0f05 BETA (2006 Apr 29, compiled "
+#define VIM_VERSION_NODOT	"vim70g"
+#define VIM_VERSION_SHORT	"7.0g"
+#define VIM_VERSION_MEDIUM	"7.0g BETA"
+#define VIM_VERSION_LONG	"VIM - Vi IMproved 7.0g BETA (2006 Apr 30)"
+#define VIM_VERSION_LONG_DATE	"VIM - Vi IMproved 7.0g BETA (2006 Apr 30, compiled "
--- a/src/vim.h
+++ b/src/vim.h
@@ -253,7 +253,7 @@
 /* if we're compiling in C++ (currently only KVim), the system
  * headers must have the correct prototypes or nothing will build.
  * conversely, our prototypes might clash due to throw() specifiers and
- * cause compilation failures even though the headers are correct.  for
+ * cause compilation failures even though the headers are correct.  For
  * a concrete example, gcc-3.2 enforces exception specifications, and
  * glibc-2.2.5 has them in their system headers.
  */
@@ -352,7 +352,7 @@ typedef		 __int64 long_i;
 # define PRINTF_HEX_LONG_U "0x%Ix"
 #else
 typedef unsigned long	long_u;
-typedef	         long	long_i;
+typedef		 long	long_i;
 # define SCANF_HEX_LONG_U  "%lx"
 # define PRINTF_HEX_LONG_U "0x%lx"
 #endif
--- a/src/window.c
+++ b/src/window.c
@@ -1995,7 +1995,6 @@ win_close(win, free_buf)
     int		free_buf;
 {
     win_T	*wp;
-    buf_T	*old_curbuf = curbuf;
 #ifdef FEAT_AUTOCMD
     int		other_buffer = FALSE;
 #endif
@@ -2010,6 +2009,30 @@ win_close(win, free_buf)
 	return;
     }
 
+    /*
+     * When closing the last window in a tab page first go to another tab
+     * page and then close the window and the tab page.  This avoids that
+     * curwin and curtab are not invalid while we are freeing memory, they may
+     * be used in GUI events.
+     */
+    if (firstwin == lastwin)
+    {
+	goto_tabpage_tp(alt_tabpage());
+	redraw_tabline = TRUE;
+
+	/* Safety check: Autocommands may have closed the window when jumping
+	 * to the other tab page. */
+	if (valid_tabpage(prev_curtab) && prev_curtab->tp_firstwin == win)
+	{
+	    int	    h = tabline_height();
+
+	    win_close_othertab(win, free_buf, prev_curtab);
+	    if (h != tabline_height())
+		shell_new_rows();
+	}
+	return;
+    }
+
     /* When closing the help window, try restoring a snapshot after closing
      * the window.  Otherwise clear the snapshot, it's now invalid. */
     if (win->w_buffer->b_help)
@@ -2057,40 +2080,6 @@ win_close(win, free_buf)
     if (!win_valid(win) || last_window() || curtab != prev_curtab)
 	return;
 
-    /* When closing the last window in a tab page go to another tab page. This
-     * must be done before freeing memory to avoid that "topframe" becomes
-     * invalid (it may be used in GUI events). */
-    if (firstwin == lastwin)
-    {
-	tabpage_T   *ptp = NULL;
-	tabpage_T   *tp;
-	tabpage_T   *atp = alt_tabpage();
-
-	/* We don't do the window resizing stuff, let enter_tabpage() take
-	 * care of entering a window in another tab page. */
-	enter_tabpage(atp, old_curbuf);
-
-	for (tp = first_tabpage; tp != NULL && tp != prev_curtab;
-							     tp = tp->tp_next)
-	    ptp = tp;
-	if (tp != prev_curtab || tp->tp_firstwin != win)
-	{
-	    /* Autocommands must have closed it when jumping to the other tab
-	     * page. */
-	    return;
-	}
-
-	(void)win_free_mem(win, &dir, tp);
-
-	if (ptp == NULL)
-	    first_tabpage = tp->tp_next;
-	else
-	    ptp->tp_next = tp->tp_next;
-	free_tabpage(tp);
-
-	return;
-    }
-
     /* Free the memory used for the window. */
     wp = win_free_mem(win, &dir, NULL);
 
@@ -2174,7 +2163,8 @@ win_close(win, free_buf)
  * Close window "win" in tab page "tp", which is not the current tab page.
  * This may be the last window ih that tab page and result in closing the tab,
  * thus "tp" may become invalid!
- * Called must check if buffer is hidden.
+ * Caller must check if buffer is hidden and whether the tabline needs to be
+ * updated.
  */
     void
 win_close_othertab(win, free_buf, tp)
--- a/src/xxd/xxd.c
+++ b/src/xxd/xxd.c
@@ -278,7 +278,7 @@ long base_off;
 #if 0	/* this doesn't work when there is normal text after the hex codes in
 	   the last line that looks like hex */
       if (c == ' ' || c == '\n' || c == '\t')  /* allow multiple spaces */
-        continue;
+	continue;
 #endif
 
       n3 = n2;