From 551dbcc9b604c2992f908fb475e797fcc116315b Mon Sep 17 00:00:00 2001
From: Bram Moolenaar <Bram@vim.org>
Date: Tue, 25 Apr 2006 22:13:59 +0000
Subject: [PATCH] updated for version 7.0f01

---
 runtime/autoload/rubycomplete.vim    |  27 +++++--
 runtime/autoload/vimball.vim         |  32 +++++++-
 runtime/colors/slate.vim             |   4 +-
 runtime/doc/autocmd.txt              |  12 +--
 runtime/doc/change.txt               |   6 +-
 runtime/doc/digraph.txt              |   4 +-
 runtime/doc/eval.txt                 |  23 +++---
 runtime/doc/indent.txt               |   4 +-
 runtime/doc/insert.txt               |  15 ++--
 runtime/doc/map.txt                  |   4 +-
 runtime/doc/motion.txt               |   4 +-
 runtime/doc/options.txt              |   4 +-
 runtime/doc/starting.txt             |   8 +-
 runtime/doc/tabpage.txt              |   6 +-
 runtime/doc/tags                     |   5 +-
 runtime/doc/todo.txt                 |   4 +-
 runtime/doc/usr_21.txt               |   4 +-
 runtime/doc/various.txt              |   4 +-
 runtime/doc/version7.txt             |  10 ++-
 runtime/doc/vimball.txt              |   6 +-
 runtime/indent/ruby.vim              |  15 ++--
 runtime/lang/menu_chinese_gb.936.vim |   4 +-
 runtime/lang/menu_zh_cn.gb2312.vim   |   4 +-
 runtime/lang/menu_zh_cn.utf-8.vim    |   4 +-
 runtime/plugin/vimballPlugin.vim     |   1 +
 runtime/syntax/cs.vim                |  12 +--
 runtime/syntax/rnoweb.vim            |   5 +-
 runtime/syntax/sisu.vim              |  70 ++++++++--------
 runtime/syntax/vim.vim               |  12 +--
 src/Make_mvc.mak                     |  12 ++-
 src/gui.c                            |   6 +-
 src/gui.h                            |   5 ++
 src/gui_motif.c                      |   2 +
 src/gui_w32.c                        | 115 ++++++++++++++++++---------
 src/gui_w48.c                        |  10 +--
 src/hardcopy.c                       |   4 +-
 src/os_mswin.c                       |  10 ++-
 src/proto/os_mswin.pro               |   4 +-
 src/version.h                        |   6 +-
 39 files changed, 302 insertions(+), 185 deletions(-)

diff --git a/runtime/autoload/rubycomplete.vim b/runtime/autoload/rubycomplete.vim
index d1c8a26538..53dc869d6b 100644
--- a/runtime/autoload/rubycomplete.vim
+++ b/runtime/autoload/rubycomplete.vim
@@ -90,9 +90,15 @@ function! GetRubyVarType(v)
 		return vtp
 	endif
 	call setpos('.',pos)
-    let [lnum,lcol] = searchpos(''.a:v.'\>\s*[+\-*/]*=\s*\([^ \t]\+.\(now\|new\|open\|get_instance\)\>\|[\[{"''/]\|%r{\)','nb',stopline)
+    if g:rubycomplete_rails == 1 && g:rubycomplete_rails_loaded == 1
+        let ctors = '\(now\|new\|open\|get_instance\|find\|create\)'
+    else
+        let ctors = '\(now\|new\|open\|get_instance\)'
+    endif
+
+    let [lnum,lcol] = searchpos(''.a:v.'\>\s*[+\-*/]*=\s*\([^ \t]\+.' . ctors .'\>\|[\[{"''/]\|%r{\)','nb',stopline)
 	if lnum != 0 && lcol != 0
-        let str = matchstr(getline(lnum),'=\s*\([^ \t]\+.\(now\|new\|open\|get_instance\)\>\|[\[{"''/]\|%r{\)',lcol)
+        let str = matchstr(getline(lnum),'=\s*\([^ \t]\+.' . ctors . '\>\|[\[{"''/]\|%r{\)',lcol)
 		let str = substitute(str,'^=\s*','','')
 		call setpos('.',pos)
 		if str == '"' || str == ''''
@@ -255,7 +261,7 @@ def load_rails()
   file_name = VIM::evaluate('expand("%:t")')
   path = buf_path.gsub( file_name, '' ) 
   path.gsub!( /\\/, "/" )
-  pup = [ "../", "../../", "../../../", "../../../../" ]
+  pup = [ "./", "../", "../../", "../../../", "../../../../" ]
   pok = nil
 
   pup.each do |sup|
@@ -267,10 +273,19 @@ def load_rails()
   end
   
   return if pok == nil
+
   bootfile = pok + "/boot.rb"
-  if File.exists?( bootfile )
-    require bootfile 
-    VIM::evaluate('let g:rubycomplete_rails_loaded = 1') 
+  envfile = pok + "/environment.rb"
+  if File.exists?( bootfile ) && File.exists?( envfile )
+    begin
+      require bootfile 
+      require envfile
+      require 'console_app'
+      require 'console_with_helpers'
+      VIM::command('let g:rubycomplete_rails_loaded = 1') 
+    rescue
+      print "Error loading rails environment"
+    end  
   end
 end
 
diff --git a/runtime/autoload/vimball.vim b/runtime/autoload/vimball.vim
index 91c57b2eb8..61d5fa662a 100644
--- a/runtime/autoload/vimball.vim
+++ b/runtime/autoload/vimball.vim
@@ -1,7 +1,7 @@
 " vimball : construct a file containing both paths and files
 " Author: Charles E. Campbell, Jr.
-" Date:   Apr 24, 2006
-" Version: 7
+" Date:   Apr 25, 2006
+" Version: 8
 " GetLatestVimScripts: 1502 1 :AutoInstall: vimball.vim
 " Copyright: (c) 2004-2006 by Charles E. Campbell, Jr.
 "            The VIM LICENSE applies to Vimball.vim, and Vimball.txt
@@ -15,7 +15,7 @@ if &cp || exists("g:loaded_vimball")
  finish
 endif
 let s:keepcpo        = &cpo
-let g:loaded_vimball = "v7"
+let g:loaded_vimball = "v8"
 set cpo&vim
 
 " =====================================================================
@@ -255,6 +255,32 @@ fun! vimball#Vimball(really)
 "  call Dret("Vimball")
 endfun
 
+" ---------------------------------------------------------------------
+" vimball#Decompress: attempts to automatically decompress vimballs {{{2
+fun! vimball#Decompress(fname)
+"  call Dfunc("Decompress(fname<".a:fname.">)")
+
+  " decompression:
+  if     expand("%") =~ '.*\.gz'  && executable("gunzip")
+   exe "!gunzip ".a:fname
+   let fname= substitute(a:fname,'\.gz$','','')
+   exe "e ".fname
+   echohl WarningMsg | echo "Source this file to extract it! (:so ".fname.")" | echohl None
+  elseif expand("%") =~ '.*\.bz2' && executable("bunzip2")
+   exe "!bunzip2 ".a:fname
+   let fname= substitute(a:fname,'\.bz2$','','')
+   exe "e ".fname
+   echohl WarningMsg | echo "Source this file to extract it! (:so ".fname.")" | echohl None
+  elseif expand("%") =~ '.*\.zip' && executable("unzip")
+   exe "!unzip ".a:fname
+   let fname= substitute(a:fname,'\.zip$','','')
+   exe "e ".fname
+   echohl WarningMsg | echo "Source this file to extract it! (:so ".fname.")" | echohl None
+  endif
+
+"  call Dret("Decompress")
+endfun
+
 let &cpo= s:keepcpo
 unlet s:keepcpo
 " =====================================================================
diff --git a/runtime/colors/slate.vim b/runtime/colors/slate.vim
index 94d1c06585..12d91bab7d 100644
--- a/runtime/colors/slate.vim
+++ b/runtime/colors/slate.vim
@@ -1,6 +1,6 @@
 "%% SiSU Vim color file
 " Slate Maintainer: Ralph Amissah <ralph@amissah.com>
-" (originally looked at desert Hans Fugal <hans@fugal.net> http://hans.fugal.net/vim/colors/desert.vim (2003/05/06 16:37:49)
+" (originally looked at desert Hans Fugal <hans@fugal.net> http://hans.fugal.net/vim/colors/desert.vim (2003/05/06)
 :set background=dark
 :highlight clear
 if version > 580
@@ -35,10 +35,8 @@ endif
 :hi Include guifg=red ctermfg=red
 :hi PreProc guifg=red guibg=white ctermfg=red
 :hi Operator guifg=Red ctermfg=Red
-":hi Operator guifg=CornflowerBlue ctermfg=darkcyan
 :hi Define guifg=gold gui=bold ctermfg=yellow
 :hi Type guifg=CornflowerBlue ctermfg=2
-":hi Type guifg=darkkhaki ctermfg=2
 :hi Function guifg=navajowhite ctermfg=brown
 :hi Structure guifg=green ctermfg=green
 :hi LineNr guifg=grey50 ctermfg=3
diff --git a/runtime/doc/autocmd.txt b/runtime/doc/autocmd.txt
index dddb0e6df7..cf8a457f85 100644
--- 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 24
+*autocmd.txt*   For Vim version 7.0f.  Last change: 2006 Apr 25
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -196,7 +196,7 @@ Vim recognizes the following events.  Vim ignores the case of event names
 (e.g., you can use "BUFread" or "bufread" instead of "BufRead").
 
 First an overview by function with a short explanation.  Then the list
-alpabetically with full explanations |autocmd-events-abc|.
+alphabetically with full explanations |autocmd-events-abc|.
 
 Name			triggered by ~
 
@@ -209,7 +209,7 @@ Name			triggered by ~
 
 |FileReadPre|		before reading a file with a ":read" command
 |FileReadPost|		after reading a file with a ":read" command
-|FileReadCmd|		before reading a file with a ":read" comman |Cmd-event|
+|FileReadCmd|		before reading a file with a ":read" command |Cmd-event|
 
 |FilterReadPre|		before reading a file from a filter command
 |FilterReadPost|	after reading a file from a filter command
@@ -651,7 +651,7 @@ MenuPopup			Just before showing the popup menu (under the
 					v	Visual
 					o	Operator-pending
 					i	Insert
-					c	Commmand line
+					c	Command line
 							*QuickFixCmdPre*
 QuickFixCmdPre			Before a quickfix command is run (|:make|,
 				|:lmake|, |:grep|, |:lgrep|, |:grepadd|,
@@ -904,9 +904,9 @@ 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 autotommands for
+    :au! * <buffer>     	     " remove buffer-local autocommands for
                                      " current buffer
-    :au! * <buffer=33>  	     " remove buffer-local autotommands for
+    :au! * <buffer=33>  	     " remove buffer-local autocommands for
     				     " buffer #33
     :dobuf :au! CursorHold <buffer>  " remove autocmd for given event for all
     				     " buffers
diff --git a/runtime/doc/change.txt b/runtime/doc/change.txt
index 2420d5df3f..21b98d6dc9 100644
--- 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 11
+*change.txt*    For Vim version 7.0f.  Last change: 2006 Apr 25
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -687,7 +687,7 @@ When the {string} starts with "\=" it is evaluated as an expression, see
 |sub-replace-expression|.  You can use that for any special characters.
 Otherwise these characters in {string} have a special meaning:
 								*:s%*
-When {string} is equal to "%" and '/' is included with the 'cpotions' option,
+When {string} is equal to "%" and '/' is included with the 'cpoptions' option,
 then the {string} of the previous substitute command is used. |cpo-/|
 
 magic	nomagic	  action    ~
@@ -1178,7 +1178,7 @@ gq{motion}		Format the lines that {motion} moves over.
 			   evaluated.  This can differ for each buffer.
 			2. If 'formatprg' is not empty an external program
 			   is used.
-			3. Otherise formatting is done internally.
+			3. Otherwise formatting is done internally.
 
 			In the third case the 'textwidth' option controls the
 			length of each formatted line (see below).
diff --git a/runtime/doc/digraph.txt b/runtime/doc/digraph.txt
index 0c273ce06a..594d189f40 100644
--- a/runtime/doc/digraph.txt
+++ b/runtime/doc/digraph.txt
@@ -1,4 +1,4 @@
-*digraph.txt*   For Vim version 7.0f.  Last change: 2005 Sep 11
+*digraph.txt*   For Vim version 7.0f.  Last change: 2006 Apr 25
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -193,7 +193,7 @@ char  digraph	hex	dec	official name ~
 ^S	D3	0x13	 19	DEVICE CONTROL THREE (DC3)
 ^T	D4	0x14	 20	DEVICE CONTROL FOUR (DC4)
 ^U	NK	0x15	 21	NEGATIVE ACKNOWLEDGE (NAK)
-^V	SY	0x16	 22	SYNCRONOUS IDLE (SYN)
+^V	SY	0x16	 22	SYNCHRONOUS IDLE (SYN)
 ^W	EB	0x17	 23	END OF TRANSMISSION BLOCK (ETB)
 ^X	CN	0x18	 24	CANCEL (CAN)
 ^Y	EM	0x19	 25	END OF MEDIUM (EM)
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index b8ad7a96b8..6b9a6ad305 100644
--- 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 24
+*eval.txt*      For Vim version 7.0f.  Last change: 2006 Apr 25
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -2457,7 +2457,7 @@ extend({expr1}, {expr2} [, {expr3}])			*extend()*
 
 feedkeys({string} [, {mode}])				*feedkeys()*
 		Characters in {string} are queued for processing as if they
-		come from a mapping or where typed by user.  They are added to
+		come from a mapping or were typed by user.  They are added to
 		the end of the typeahead buffer, thus if a mapping is still
 		being executed these characters come after them.
 		The function does not wait for processing of keys contained in
@@ -2468,10 +2468,11 @@ feedkeys({string} [, {mode}])				*feedkeys()*
 		feedkeys('\<CR>') pushes 5 characters.
 		If {mode} is absent, keys are remapped.
 		{mode} is a String, which can contain these character flags:
-		'm'	remap keys. This is default.
-		'n'	do not remap keys
-		't'	handle keys as if typed; otherwise they are handled as
-			if coming from a mapping
+		'm'	Remap keys. This is default.
+		'n'	Do not remap keys.
+		't'	Handle keys as if typed; otherwise they are handled as
+			if coming from a mapping.  This matters for undo,
+			opening folds, etc.
 		Return value is always 0.
 
 filereadable({file})					*filereadable()*
@@ -3259,7 +3260,7 @@ islocked({expr})					*islocked()* *E786*
 			:echo islocked('alist[1]')	" 0
 
 <		When {expr} is a variable that does not exist you get an error
-		message.  Use |exists()| to check for existance.
+		message.  Use |exists()| to check for existence.
 
 items({dict})						*items()*
 		Return a |List| with all the key-value pairs of {dict}.  Each
@@ -3597,7 +3598,7 @@ min({list})	Return the minumum value of all items in {list}.
 		be used as a Number this results in an error.
 		An empty |List| results in zero.
 
-							*mkdir()* *E749*
+							*mkdir()* *E739*
 mkdir({name} [, {path} [, {prot}]])
 		Create directory {name}.
 		If {path} is "p" then intermediate directories are created as
@@ -3872,7 +3873,7 @@ reltime([{start} [, {end}]])				*reltime()*
 		Without an argument it returns the current time.
 		With one argument is returns the time passed since the time
 		specified in the argument.
-		With two arguments it returns the time passed betweein {start}
+		With two arguments it returns the time passed between {start}
 		and {end}.
 		The {start} and {end} arguments must be values returned by
 		reltime().
@@ -3997,7 +3998,7 @@ rename({from}, {to})					*rename()*
 repeat({expr}, {count})					*repeat()*
 		Repeat {expr} {count} times and return the concatenated
 		result.  Example: >
-			:let seperator = repeat('-', 80)
+			:let separator = repeat('-', 80)
 <		When {count} is zero or negative the result is empty.
 		When {expr} is a |List| the result is {expr} concatenated
 		{count} times.  Example: >
@@ -7287,7 +7288,7 @@ A few options contain an expression.  When this expression is evaluated it may
 have to be done in the sandbox to avoid a security risk.  But the sandbox is
 restrictive, thus this only happens when the option was set from an insecure
 location.  Insecure in this context are:
-- sourcing a .vimrc or .exrc in the current directlry
+- sourcing a .vimrc or .exrc in the current directory
 - while executing in the sandbox
 - value coming from a modeline
 
diff --git a/runtime/doc/indent.txt b/runtime/doc/indent.txt
index 3c5e2eb3c2..384462b3b2 100644
--- 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 16
+*indent.txt*    For Vim version 7.0f.  Last change: 2006 Apr 25
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -288,7 +288,7 @@ assume a 'shiftwidth' of 4.
 		      int	      int			 int
 		  func()	      func()		  func()
 <
-	iN    Indent C++ base class declarations and contructor
+	iN    Indent C++ base class declarations and constructor
 	      initializations, if they start in a new line (otherwise they
 	      are aligned at the right side of the ':').
 	      (default 'shiftwidth').
diff --git a/runtime/doc/insert.txt b/runtime/doc/insert.txt
index a6060a0919..61aaa6f783 100644
--- 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 23
+*insert.txt*    For Vim version 7.0f.  Last change: 2006 Apr 25
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -594,7 +594,7 @@ Also see the 'infercase' option if you want to adjust the case of the match.
 
 							*complete_CTRL-E*
 When completion is active you can use CTRL-E to stop it and go back to the
-orignally typed text.  The CTRL-E will not be inserted.
+originally typed text.  The CTRL-E will not be inserted.
 
 							*complete_CTRL-Y*
 When the popup menu is displayed you can use CTRL-Y to stop completion and
@@ -1353,7 +1353,7 @@ Script completes:
 <
     Still, to find myClass contents tags file is required.
 
-- function names with additonal info:
+- function names with additional info:
   - in case of built-in functions list of possible arguments and after | type
     data returned by function
   - in case of user function arguments and name of file were function was
@@ -1396,13 +1396,18 @@ The completions provided by CTRL-X CTRL-O are sensitive to the context:
 Notes:
  - Vim will load/evaluate code in order to provide completions.  This may
    cause some code execution, which may be a concern.
+ - In context 1 above, Vim can parse the entire buffer to add a list of
+   classes to the completion results. This feature is turned off by default,
+   to enable it add >
+     let g:rubycomplete_classes_in_global = 1
+<  to your vimrc
  - In context 2 above, anonymous classes are not supported.
  - In context 3 above, Vim will attempt to determine the methods supported by
    the object.
  - Vim can detect and load the Rails environment for files within a rails
    project. The feature is disabled by default, to enable it add >
-	   let g:rubycomplete_rails = 1
-<  to your vimrc.
+     let g:rubycomplete_rails = 1
+<  to your vimrc
 
 
 SYNTAX							*ft-syntax-omni*
diff --git a/runtime/doc/map.txt b/runtime/doc/map.txt
index cef90b4626..2c515c22f6 100644
--- 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 20
+*map.txt*       For Vim version 7.0f.  Last change: 2006 Apr 25
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -219,7 +219,7 @@ 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 disfunctional.
+file, etc. you may very well make command dysfunctional.
 
 Here is an example that inserts a list number that increases: >
 	let counter = 0
diff --git a/runtime/doc/motion.txt b/runtime/doc/motion.txt
index 7fd51ae635..fa69b9ee47 100644
--- 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 22
+*motion.txt*    For Vim version 7.0f.  Last change: 2006 Apr 25
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -769,7 +769,7 @@ g'{mark}  g`{mark}
 						*:marks*
 :marks			List all the current marks (not a motion command).
 			The |'(|, |')|, |'{| and |'}| marks are not listed.
-			The first column is number zero.
+			The first column has number zero.
 			{not in Vi}
 						*E283*
 :marks {arg}		List the marks that are mentioned in {arg} (not a
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index 28a7fe462d..ebcb6c9a2d 100644
--- 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 24
+*options.txt*	For Vim version 7.0f.  Last change: 2006 Apr 25
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -1465,7 +1465,7 @@ A jump table for the options with a short description can be found at |Q_op|.
 	to use the size for the GUI, put the command in your |gvimrc| file.
 	When you set this option and Vim is unable to change the physical
 	number of columns of the display, the display may be messed up.
-	Mimimum value is 12, maximum value is 10000.
+	Minimum value is 12, maximum value is 10000.
 
 					*'comments'* *'com'* *E524* *E525*
 'comments' 'com'	string	(default
diff --git a/runtime/doc/starting.txt b/runtime/doc/starting.txt
index d7c9a8a47a..77cabaa3c2 100644
--- 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 24
+*starting.txt*  For Vim version 7.0f.  Last change: 2006 Apr 25
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -1233,9 +1233,9 @@ triggered.
 			current window.
 			When [!] is included an existing file is overwritten.
 			When [file] is omitted or is a number from 1 to 9, a
-			name is generated and 'viewdir' prepended.  When last
-			directory name in 'viewdir' does not exist, this
-			directory is created.			*E739*
+			name is generated and 'viewdir' prepended.  When the
+			last directory name in 'viewdir' does not exist, this
+			directory is created.
 			An existing file is always overwritten then.  Use
 			|:loadview| to load this view again.
 			When [file] is the name of a file ('viewdir' is not
diff --git a/runtime/doc/tabpage.txt b/runtime/doc/tabpage.txt
index 2fe366c719..6fbdeb5b4c 100644
--- 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 24
+*tabpage.txt*   For Vim version 7.0f.  Last change: 2006 Apr 25
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -162,8 +162,8 @@ Other commands:
 
 REORDERING TAB PAGES:
 
-							*:tabm* *:tabmove*
-:tabmove N	Move the current tab page to after tab page N.  Use zero to
+:tabm[ove] [N]						*:tabm* *:tabmove*
+		Move the current tab page to after tab page N.  Use zero to
 		make the current tab page the first one.  Without N the tab
 		page is made the last one.
 
diff --git a/runtime/doc/tags b/runtime/doc/tags
index 71c9d0603c..282b79a5c4 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -3954,7 +3954,7 @@ E735	eval.txt	/*E735*
 E736	eval.txt	/*E736*
 E737	eval.txt	/*E737*
 E738	eval.txt	/*E738*
-E739	starting.txt	/*E739*
+E739	eval.txt	/*E739*
 E74	message.txt	/*E74*
 E740	eval.txt	/*E740*
 E741	eval.txt	/*E741*
@@ -3965,7 +3965,7 @@ E745	eval.txt	/*E745*
 E746	eval.txt	/*E746*
 E747	editing.txt	/*E747*
 E748	repeat.txt	/*E748*
-E749	eval.txt	/*E749*
+E749	various.txt	/*E749*
 E75	vi_diff.txt	/*E75*
 E750	repeat.txt	/*E750*
 E751	spell.txt	/*E751*
@@ -5627,6 +5627,7 @@ hebrew	hebrew.txt	/*hebrew*
 hebrew.txt	hebrew.txt	/*hebrew.txt*
 help	various.txt	/*help*
 help-context	help.txt	/*help-context*
+help-tags	tags	1
 help-translated	various.txt	/*help-translated*
 help-xterm-window	various.txt	/*help-xterm-window*
 help.txt	help.txt	/*help.txt*
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index 29919d8d95..3dd56c05c3 100644
--- 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 24
+*todo.txt*      For Vim version 7.0f.  Last change: 2006 Apr 25
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -30,6 +30,8 @@ be worked on, but only if you sponsor Vim development.  See |sponsor|.
 							*known-bugs*
 -------------------- Known bugs and current work -----------------------
 
+GTK: when executing shell disable tab page labels. (Sean)
+
 Add more tests for all new functionality in Vim 7.  Especially new functions.
 
 Darren Hiebert is including the patch for omni completion in ctags.  A new
diff --git a/runtime/doc/usr_21.txt b/runtime/doc/usr_21.txt
index d07fbe869d..a43f024bbe 100644
--- 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 24
+*usr_21.txt*	For Vim version 7.0f.  Last change: 2006 Apr 25
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
@@ -165,7 +165,7 @@ And you are right back where you left Vim.  So you can get on with your work.
    Vim creates a mark each time you exit Vim.  The last one is '0.  The
 position that '0 pointed to is made '1.  And '1 is made to '2, and so forth.
 Mark '9 is lost.
-   The ":marks" command is useful to find out where '0 to '9 will take you.
+   The |:marks| command is useful to find out where '0 to '9 will take you.
 
 
 MOVE INFO FROM ONE VIM TO ANOTHER
diff --git a/runtime/doc/various.txt b/runtime/doc/various.txt
index 99f4a45c3e..601f17b386 100644
--- 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 24
+*various.txt*   For Vim version 7.0f.  Last change: 2006 Apr 25
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -85,7 +85,7 @@ g8			Print the hex values of the bytes used in the
 			{not in Vi} {only when compiled with the |+multi_byte|
 			feature}
 
-							*:p* *:pr* *:print*
+						*:p* *:pr* *:print* *E749*
 :[range]p[rint] [flags]
 			Print [range] lines (default current line).
 			Note: If you are looking for a way to print your text
diff --git a/runtime/doc/version7.txt b/runtime/doc/version7.txt
index c04223de73..06a0aeb2d4 100644
--- 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 24
+*version7.txt*  For Vim version 7.0f.  Last change: 2006 Apr 25
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -1104,7 +1104,7 @@ IMPROVEMENTS						*improvements-7*
 Move the help for printing to a separate help file.  It's quite a lot now.
 
 When doing completion for ":!cmd", ":r !cmd" or ":w !cmd" executable files are
-found in $PATH instead of looking for ordinary files in the current directlry.
+found in $PATH instead of looking for ordinary files in the current directory.
 
 When ":silent" is used and a backwards range is given for an Ex command the
 range is swapped automatically instead of asking if that is OK.
@@ -2609,5 +2609,11 @@ problems.
 
 Line completion on "/**" gave error messages when scanning an unloaded buffer.
 
+--- fixes and changes since Vim 7.0f ---
+
+Win32: The height of the tab page labels is now adjusted to the font height.
+(Yegappan Lakshmanan)
+
+Win32: selecting the tab label was off by one. (Yegappan Lakshmanan)
 
  vim:tw=78:ts=8:ft=help:norl:
diff --git a/runtime/doc/vimball.txt b/runtime/doc/vimball.txt
index 99843cb22b..ce8bc49c12 100644
--- a/runtime/doc/vimball.txt
+++ b/runtime/doc/vimball.txt
@@ -1,4 +1,4 @@
-*vimball.txt*	For Vim version 7.0f.  Last change: 2006 Apr 24
+*vimball.txt*	For Vim version 7.0f.  Last change: 2006 Apr 25
 
 	Vimball Archiver
 
@@ -56,6 +56,10 @@ Copyright: (c) 2004-2006 by Charles E. Campbell, Jr.	*Vimball-copyright*
 ==============================================================================
 3. Vimball History					*vimball-history*
 
+	7  : Apr 25, 2006 * bypasses foldenable
+	                  * 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..."
 			    message is now issued only once.
diff --git a/runtime/indent/ruby.vim b/runtime/indent/ruby.vim
index 5d48a798cc..3a2837e046 100644
--- a/runtime/indent/ruby.vim
+++ b/runtime/indent/ruby.vim
@@ -1,11 +1,10 @@
 " Vim indent file
-" Language:	Ruby
-" Maintainer:	Gavin Sinclair <gsinclair at soyabean.com.au>
-" Developer:	Nikolai Weibull <source at pcppopper.org>
-" Info:		$Id$
-" URL:		http://vim-ruby.rubyforge.org
-" Anon CVS:	See above site
-" ----------------------------------------------------------------------------
+" Language:		Ruby
+" Maintainer:		Nikolai Weibull <now at bitwi.se>
+" Info:			$Id$
+" URL:			http://vim-ruby.rubyforge.org
+" Anon CVS:		See above site
+" Release Coordinator:	Doug Kearns <dougkearns@gmail.com>
 
 " 0. Initialization {{{1
 " =================
@@ -16,6 +15,8 @@ if exists("b:did_indent")
 endif
 let b:did_indent = 1
 
+setlocal nosmartindent
+
 " Now, set up our indentation expression and keys that trigger it.
 setlocal indentexpr=GetRubyIndent()
 setlocal indentkeys=0{,0},0),0],!^F,o,O,e
diff --git a/runtime/lang/menu_chinese_gb.936.vim b/runtime/lang/menu_chinese_gb.936.vim
index d11a4b2267..496e2d8e45 100644
--- a/runtime/lang/menu_chinese_gb.936.vim
+++ b/runtime/lang/menu_chinese_gb.936.vim
@@ -14,7 +14,7 @@ scriptencoding cp936
 
 " Help menu
 menutrans &Help			帮助(&H)
-menutrans &Overview<Tab><F1>	预览(&O)<Tab><F1>
+menutrans &Overview<Tab><F1>	纵览(&O)<Tab><F1>
 menutrans &User\ Manual		用户手册(&U)
 menutrans &How-to\ links	How-to\ 连接(&H)
 menutrans &Find\.\.\.		查找(&F)\.\.\.
@@ -80,7 +80,7 @@ menutrans Search\ &Path\.\.\.			
 menutrans Ta&g\ Files\.\.\.			Tag\ 文件(&T)\.\.\.
 
 " GUI options
-menutrans Toggle\ &Toolbar			开/关工具条(&T)
+menutrans Toggle\ &Toolbar			开/关工具栏(&T)
 menutrans Toggle\ &Bottom\ Scrollbar		开/关底部滚动条(&B)
 menutrans Toggle\ &Left\ Scrollbar		开/关左端滚动条(&L)
 menutrans Toggle\ &Right\ Scrollbar		开/关右端滚动条(&R)
diff --git a/runtime/lang/menu_zh_cn.gb2312.vim b/runtime/lang/menu_zh_cn.gb2312.vim
index 1ec0fbdcd6..daa4d0e8de 100644
--- a/runtime/lang/menu_zh_cn.gb2312.vim
+++ b/runtime/lang/menu_zh_cn.gb2312.vim
@@ -14,7 +14,7 @@ scriptencoding gb2312
 
 " Help menu
 menutrans &Help			帮助(&H)
-menutrans &Overview<Tab><F1>	预览(&O)<Tab><F1>
+menutrans &Overview<Tab><F1>	纵览(&O)<Tab><F1>
 menutrans &User\ Manual		用户手册(&U)
 menutrans &How-to\ links	How-to\ 连接(&H)
 menutrans &Find\.\.\.		查找(&F)\.\.\.
@@ -80,7 +80,7 @@ menutrans Search\ &Path\.\.\.			
 menutrans Ta&g\ Files\.\.\.			Tag\ 文件(&T)\.\.\.
 
 " GUI options
-menutrans Toggle\ &Toolbar			开/关工具条(&T)
+menutrans Toggle\ &Toolbar			开/关工具栏(&T)
 menutrans Toggle\ &Bottom\ Scrollbar		开/关底部滚动条(&B)
 menutrans Toggle\ &Left\ Scrollbar		开/关左端滚动条(&L)
 menutrans Toggle\ &Right\ Scrollbar		开/关右端滚动条(&R)
diff --git a/runtime/lang/menu_zh_cn.utf-8.vim b/runtime/lang/menu_zh_cn.utf-8.vim
index d3edd58e88..c8eb1acae3 100644
--- a/runtime/lang/menu_zh_cn.utf-8.vim
+++ b/runtime/lang/menu_zh_cn.utf-8.vim
@@ -14,7 +14,7 @@ scriptencoding utf-8
 
 " Help menu
 menutrans &Help			甯姪(&H)
-menutrans &Overview<Tab><F1>	棰勮(&O)<Tab><F1>
+menutrans &Overview<Tab><F1>	绾佃(&O)<Tab><F1>
 menutrans &User\ Manual		鐢ㄦ埛鎵嬪唽(&U)
 menutrans &How-to\ links	How-to\ 杩炴帴(&H)
 menutrans &Find\.\.\.		鏌ユ壘(&F)\.\.\.
@@ -80,7 +80,7 @@ menutrans Search\ &Path\.\.\.			鏌ユ壘璺緞(&P)\.\.\.
 menutrans Ta&g\ Files\.\.\.			Tag\ 鏂囦欢(&T)\.\.\.
 
 " GUI options
-menutrans Toggle\ &Toolbar			寮€/鍏冲伐鍏锋潯(&T)
+menutrans Toggle\ &Toolbar			寮€/鍏冲伐鍏锋爮(&T)
 menutrans Toggle\ &Bottom\ Scrollbar		寮€/鍏冲簳閮ㄦ粴鍔ㄦ潯(&B)
 menutrans Toggle\ &Left\ Scrollbar		寮€/鍏冲乏绔粴鍔ㄦ潯(&L)
 menutrans Toggle\ &Right\ Scrollbar		寮€/鍏冲彸绔粴鍔ㄦ潯(&R)
diff --git a/runtime/plugin/vimballPlugin.vim b/runtime/plugin/vimballPlugin.vim
index 35158893ff..e1ea57e26e 100644
--- a/runtime/plugin/vimballPlugin.vim
+++ b/runtime/plugin/vimballPlugin.vim
@@ -21,6 +21,7 @@ set cpo&vim
 com! -ra -na=+ -bang MkVimball call vimball#MkVimball(<line1>,<line2>,<bang>0,<f-args>)
 com! -na=0 UseVimball  call vimball#Vimball(1)
 com! -na=0 VimballList call vimball#Vimball(0)
+au BufEnter *.vba.gz,*.vba.bz2,*.vba.zip call vimball#Decompress(expand("<amatch>"))
 au BufEnter *.vba echohl WarningMsg | echo "Source this file to extract it! (:so %)" | echohl None
 
 let &cpo= s:keepcpo
diff --git a/runtime/syntax/cs.vim b/runtime/syntax/cs.vim
index 948b12554e..6a61ed261e 100644
--- a/runtime/syntax/cs.vim
+++ b/runtime/syntax/cs.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:	C#
 " Maintainer:	Johannes Zellner <johannes@zellner.org>
-" Last Change:	Mi, 13 Apr 2005 22:52:57 CEST
+" Last Change:	Mo, 24 Apr 2006 10:11:07 CEST
 " Filenames:	*.cs
 " $Id$
 "
@@ -20,7 +20,7 @@ set cpo&vim
 syn keyword csType			bool byte char decimal double float int long object sbyte short string uint ulong ushort void
 " storage
 syn keyword csStorage			class delegate enum interface namespace struct
-" repeate / condition / label
+" repeat / condition / label
 syn keyword csRepeat			break continue do for foreach goto return while
 syn keyword csConditional		else if switch
 syn keyword csLabel			case default
@@ -51,8 +51,8 @@ syn keyword csUnspecifiedKeyword	explicit implicit
 " TODO: include strings ?
 "
 syn keyword csTodo		contained TODO FIXME XXX NOTE
-syn region  csComment		start="/\*"  end="\*/" contains=@csCommentHook,csTodo
-syn match   csComment		"//.*$" contains=@csCommentHook,csTodo
+syn region  csComment		start="/\*"  end="\*/" contains=@csCommentHook,csTodo,@Spell
+syn match   csComment		"//.*$" contains=@csCommentHook,csTodo,@Spell
 
 " xml markup inside '///' comments
 syn cluster xmlRegionHook	add=csXmlCommentLeader
@@ -92,9 +92,9 @@ syn match   csSpecialChar	contained +\\["\\'0abfnrtvx]+
 " unicode characters
 syn match   csUnicodeNumber	+\\\(u\x\{4}\|U\x\{8}\)+ contained contains=csUnicodeSpecifier
 syn match   csUnicodeSpecifier	+\\[uU]+ contained
-syn region  csVerbatimString	start=+@"+ end=+"+ end=+$+ skip=+""+ contains=csVerbatimSpec
+syn region  csVerbatimString	start=+@"+ end=+"+ end=+$+ skip=+""+ contains=csVerbatimSpec,@Spell
 syn match   csVerbatimSpec	+@"+he=s+1 contained
-syn region  csString		start=+"+  end=+"+ end=+$+ contains=csSpecialChar,csSpecialError,csUnicodeNumber
+syn region  csString		start=+"+  end=+"+ end=+$+ contains=csSpecialChar,csSpecialError,csUnicodeNumber,@Spell
 syn match   csCharacter		"'[^']*'" contains=csSpecialChar,csSpecialCharError
 syn match   csCharacter		"'\\''" contains=csSpecialChar
 syn match   csCharacter		"'[^\\]'"
diff --git a/runtime/syntax/rnoweb.vim b/runtime/syntax/rnoweb.vim
index 7a106ecb9d..9805f677c8 100644
--- a/runtime/syntax/rnoweb.vim
+++ b/runtime/syntax/rnoweb.vim
@@ -1,8 +1,8 @@
 " Vim syntax file
 " Language:    R noweb Files
 " Maintainer:  Johannes Ranke <jranke@uni-bremen.de>
-" Last Change: 2006 Apr 18
-" Version:     0.5 
+" Last Change: 2006 Apr 25
+" Version:     0.6
 " SVN:	       $Id$
 " Remarks:     - This file is inspired by the proposal of 
 "				 Fernando Henrique Ferraz Pereira da Rosa <feferraz@ime.usp.br>
@@ -50,6 +50,7 @@ syn cluster rnoweb contains=rnowebChunk,rnowebChunkReference,rnowebDelimiter,rno
 " Highlighting {{{1
 hi def link rnowebDelimiter	Delimiter
 hi def link rnowebSweaveOpts Statement
+hi def link rnowebChunkReference Delimiter
 
 let   b:current_syntax = "rnoweb"
 " vim: foldmethod=marker:
diff --git a/runtime/syntax/sisu.vim b/runtime/syntax/sisu.vim
index d56b41cb68..399b7a4ee4 100644
--- a/runtime/syntax/sisu.vim
+++ b/runtime/syntax/sisu.vim
@@ -5,12 +5,11 @@
 if version < 600
   syntax clear
 elseif exists("b:current_syntax")
-"  :colorscheme green
   finish
 else
 endif
 "% 11 Errors?
-syn match sisu_error contains=sisu_contain,sisu_control,sisu_markpara,sisu_mark,sisu_content_alt,sisu_error_wspace "<![^ei]\S\+!>"
+syn match sisu_error contains=sisu_link,sisu_error_wspace "<![^ei]\S\+!>"
 "% 10 Markers: Endnote Identifiers, Pagebreaks etc.: 
 if !exists("sisu_no_identifiers")
   syn match   sisu_mark_endnote   "\~^"
@@ -33,63 +32,64 @@ if !exists("sisu_no_identifiers")
 endif
 "% 9 URLs Numbers: and ASCII Codes
 syn match   sisu_number           "\<\(0x\x\+\|0b[01]\+\|0\o\+\|0\.\d\+\|0\|[1-9][\.0-9_]*\)\>"
-syn match   sisu_link             "\(http://\|\.\./\)\S\+"
 syn match   sisu_number           "?\(\\M-\\C-\|\\c\|\\C-\|\\M-\)\=\(\\\o\{3}\|\\x\x\{2}\|\\\=\w\)"
 "% 8 Tuned Error - is error if not already matched
 syn match sisu_error              "[\~/\*!_]{\|}[\~/\*!_]" contains=sisu_error
 syn match sisu_error              "<a href\|</a>]" contains=sisu_error
 "% 7 Simple Enclosed Markup:
 " Simple Markup:
+"%   url/link
+syn region sisu_link contains=sisu_error,@NoSpell matchgroup=sisu_link start="\(http://\|\.\.\/\)" end="\(\s\|$\)"
+syn region sisu_link contains=sisu_error,sisu_error_wspace matchgroup=sisu_action start="^<<\s*|[a-zA-Z0-9^._-]\+|@|[a-zA-Z0-9^._-]\+|"rs=s+2 end="$"
 "%   header
 syn region sisu_header_content contains=sisu_error,sisu_error_wspace,sisu_content_alt,sisu_link,sisu_linked,sisu_break matchgroup=sisu_header start="^0\~\(\S\+\|[^-]\)" end="$"
 syn region sisu_header_content contains=sisu_error,sisu_error_wspace,sisu_content_alt,sisu_link,sisu_linked,sisu_break matchgroup=sisu_header start="^0\~\(tags\?\|date\)\s\+"rs=e-1 end="\n$"
 syn region sisu_header_content contains=sisu_error,sisu_error_wspace,sisu_content_alt,sisu_link,sisu_linked,sisu_break matchgroup=sisu_header start="^@\S\+:[+-]\?\s"rs=e-1 end="$"
 syn region sisu_header_content contains=sisu_error,sisu_error_wspace,sisu_content_alt,sisu_link,sisu_linked,sisu_break matchgroup=sisu_header start="^@\(tags\?\|date\):\s\+"rs=e-1 end="\n$"
 "%   headings
-syn region sisu_heading contains=sisu_mark_endnote,sisu_content_endnote,sisu_marktail,sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_ocn,sisu_error,sisu_error_wspace,sisu_error_spell,@Spell matchgroup=sisu_structure start="^\([1-8]\|:\?[A-C]\)\~\(\S\+\|[^-]\)" end="$"
+syn region sisu_heading contains=sisu_mark_endnote,sisu_content_endnote,sisu_marktail,sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_ocn,sisu_error,sisu_error_wspace,@Spell matchgroup=sisu_structure start="^\([1-8]\|:\?[A-C]\)\~\(\S\+\|[^-]\)" end="$"
 "%   grouped text
-syn region sisu_content_alt contains=sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error,sisu_error_spell,@Spell matchgroup=sisu_contain start="table{.\+" end="}table"
-syn region sisu_content_alt contains=sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error,sisu_error_spell,@Spell matchgroup=sisu_contain start="{t\~h}" end="$$"
-syn region sisu_content_alt contains=sisu_mark_endnote,sisu_content_endnote,sisu_link,sisu_mark,sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error,sisu_error_spell,@Spell matchgroup=sisu_contain start="^\(alt\|group\|poem\){" end="^}\(alt\|group\|poem\)"
+syn region sisu_content_alt contains=sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error,@Spell matchgroup=sisu_contain start="table{.\+" end="}table"
+syn region sisu_content_alt contains=sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error,@Spell matchgroup=sisu_contain start="{t\~h}" end="$$"
+syn region sisu_content_alt contains=sisu_mark_endnote,sisu_content_endnote,sisu_link,sisu_mark,sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error,@Spell matchgroup=sisu_contain start="^\(alt\|group\|poem\){" end="^}\(alt\|group\|poem\)"
 syn region sisu_content_alt contains=sisu_error matchgroup=sisu_contain start="^code{" end="^}code"
 "%   endnotes
-syn region sisu_content_endnote contains=sisu_link,sisu_strikeout,sisu_underline,sisu_number,sisu_control,sisu_identifier,sisu_error,sisu_error_wspace,sisu_error_spell,@Spell,sisu_mark,sisu_break matchgroup=sisu_mark_endnote start="\~{" end="}\~" skip="\n"
-syn region sisu_content_endnote contains=sisu_strikeout,sisu_number,sisu_control,sisu_link,sisu_identifier,sisu_error,sisu_error_wspace,sisu_error_spell,@Spell,sisu_mark,sisu_break matchgroup=sisu_mark_endnote start="\^\~" end="\n\n"
+syn region sisu_content_endnote contains=@Spell,sisu_link,sisu_strikeout,sisu_underline,sisu_number,sisu_control,sisu_identifier,sisu_error,sisu_error_wspace,sisu_mark,sisu_break matchgroup=sisu_mark_endnote start="\~{" end="}\~" skip="\n"
+syn region sisu_content_endnote contains=sisu_strikeout,sisu_number,sisu_control,sisu_link,sisu_identifier,sisu_error,sisu_error_wspace,@Spell,sisu_mark,sisu_break matchgroup=sisu_mark_endnote start="\^\~" end="\n\n"
 "%   images
-syn region sisu_linked contains=sisu_fontface,sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error,sisu_error_spell,@Spell matchgroup=sisu_link start="{" end="}\(\(http://\|\.\./\)\S\+\|image\)" oneline
-"%   line operations
-syn region sisu_link contains=sisu_error,sisu_error_wspace,sisu_error_spell,@Spell matchgroup=sisu_action start="^<<\s*|[a-zA-Z0-9^._-]\+|@|[a-zA-Z0-9^._-]\+|"rs=s+2 end="$"
-syn region sisu_control contains=sisu_strikeout,sisu_identifier,sisu_content_endnote,sisu_mark_endnote,sisu_error,sisu_error_wspace,sisu_error_spell,@Spell matchgroup=sisu_control start="\(\(^\| \)!_ \|<:b>\)" end="$"
-syn region sisu_normal contains=sisu_strikeout,sisu_identifier,sisu_content_endnote,sisu_mark_endnote,sisu_link,sisu_linked,sisu_error,sisu_error_wspace,sisu_error_spell,@Spell matchgroup=sisu_markpara start="^_\([12*]\|[12]\*\) " end="$"
-syn region sisu_normal contains=sisu_strikeout,sisu_identifier,sisu_content_endnote,sisu_mark_endnote,sisu_link,sisu_linked,sisu_error,sisu_error_wspace,sisu_error_spell,@Spell matchgroup=sisu_markpara start="^\(#[ 1]\|_# \)" end="$"
-syn region sisu_comment contains=sisu_error_spell,@Spell matchgroup=sisu_comment start="^%\{1,2\} " end="$"
+syn region sisu_linked contains=sisu_fontface,sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error,@Spell matchgroup=sisu_link start="{" end="}\(\(http://\|\.\./\)\S\+\|image\)" oneline
+"%   some line operations
+syn region sisu_control contains=sisu_strikeout,sisu_identifier,sisu_content_endnote,sisu_mark_endnote,sisu_error,sisu_error_wspace,@Spell matchgroup=sisu_control start="\(\(^\| \)!_ \|<:b>\)" end="$"
+syn region sisu_normal contains=sisu_strikeout,sisu_identifier,sisu_content_endnote,sisu_mark_endnote,sisu_link,sisu_linked,sisu_error,sisu_error_wspace,@Spell matchgroup=sisu_markpara start="^_\([12*]\|[12]\*\) " end="$"
+syn region sisu_normal contains=sisu_strikeout,sisu_identifier,sisu_content_endnote,sisu_mark_endnote,sisu_link,sisu_linked,sisu_error,sisu_error_wspace,@Spell matchgroup=sisu_markpara start="^\(#[ 1]\|_# \)" end="$"
+syn region sisu_comment contains=@Spell matchgroup=sisu_comment start="^%\{1,2\} " end="$"
 "%   font face curly brackets
-syn region sisu_control contains=sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error,sisu_error_spell,@Spell matchgroup=sisu_fontface start="\*{" end="}\*"
-syn region sisu_control contains=sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error,sisu_error_spell,@Spell matchgroup=sisu_fontface start="!{" end="}!"
-syn region sisu_underline contains=sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error,sisu_error_spell,@Spell matchgroup=sisu_fontface start="_{" end="}_"
-syn region sisu_identifier contains=sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error,sisu_error_spell,@Spell matchgroup=sisu_fontface start="/{" end="}/"
-syn region sisu_underline contains=sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error,sisu_error_spell,@Spell matchgroup=sisu_fontface start="+{" end="}+"
-syn region sisu_identifier contains=sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error,sisu_error_spell,@Spell matchgroup=sisu_fontface start="\^{" end="}\^"
-syn region sisu_identifier contains=sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error,sisu_error_spell,@Spell matchgroup=sisu_fontface start=",{" end="}," 
+syn region sisu_control contains=sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error,@Spell matchgroup=sisu_fontface start="\*{" end="}\*"
+syn region sisu_control contains=sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error,@Spell matchgroup=sisu_fontface start="!{" end="}!"
+syn region sisu_underline contains=sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error,@Spell matchgroup=sisu_fontface start="_{" end="}_"
+syn region sisu_identifier contains=sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error,@Spell matchgroup=sisu_fontface start="/{" end="}/"
+syn region sisu_underline contains=sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error,@Spell matchgroup=sisu_fontface start="+{" end="}+"
+syn region sisu_identifier contains=sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error,@Spell matchgroup=sisu_fontface start="\^{" end="}\^"
+syn region sisu_identifier contains=sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error,@Spell matchgroup=sisu_fontface start=",{" end="},"
 syn region sisu_strikeout contains=sisu_error matchgroup=sisu_fontface start="-{" end="}-" 
 syn region sisu_html contains=sisu_error contains=sisu_strikeout matchgroup=sisu_contain start="<a href=\".\{-}\">" end="</a>" oneline
 "%   single words bold italicise etc. "workon
 syn region sisu_control contains=sisu_error matchgroup=sisu_control start="\([ (]\|^\)\*[^\|{\n\~\\]"hs=e-1 end="\*"he=e-0 skip="[a-zA-Z0-9']" oneline
 syn region sisu_identifier contains=sisu_error matchgroup=sisu_content_alt start="\([ ]\|^\)/[^{ \|\n\\]"hs=e-1 end="/\[ \.\]" skip="[a-zA-Z0-9']" oneline
-"%   html
-syn region sisu_number contains=sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error,sisu_error_spell,@Spell,sisu_mark matchgroup=sisu_html start="<b>" end="</b>" skip="\n" oneline
-syn region sisu_number contains=sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error,sisu_error_spell,@Spell,sisu_mark matchgroup=sisu_html start="<em>" end="</em>" oneline
-syn region sisu_content_alt contains=sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error,sisu_error_spell,@Spell,sisu_mark matchgroup=sisu_html start="<i>" end="</i>" skip="\n" oneline
-syn region sisu_content_alt contains=sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error,sisu_error_spell,@Spell,sisu_mark matchgroup=sisu_html start="<u>" end="</u>" skip="\n" oneline
-syn region sisu_identifier contains=sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error,sisu_error_spell,@Spell,sisu_mark matchgroup=sisu_html start="<ins>" end="</ins>" skip="\\\\\|\\'" oneline
-syn region sisu_identifier contains=sisu_error matchgroup=sisu_html start="<del>" end="</del>" oneline
 "%   misc
 syn region sisu_identifier contains=sisu_error matchgroup=sisu_fontface start="\^[^ {\|\n\\]"rs=s+1 end="\^[ ,.;:'})\\\n]" skip="[a-zA-Z0-9']" oneline
-"% metaverse
-syn region sisu_content_alt contains=sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error,sisu_error_spell,@Spell matchgroup=sisu_contain start="<:Table.\{-}>" end="<:Table[-_]end>"
+"%   metaverse html
+syn region sisu_number contains=sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error,@Spell,sisu_mark matchgroup=sisu_html start="<b>" end="</b>" skip="\n" oneline
+syn region sisu_number contains=sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error,@Spell,sisu_mark matchgroup=sisu_html start="<em>" end="</em>" oneline
+syn region sisu_content_alt contains=sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error,@Spell,sisu_mark matchgroup=sisu_html start="<i>" end="</i>" skip="\n" oneline
+syn region sisu_content_alt contains=sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error,@Spell,sisu_mark matchgroup=sisu_html start="<u>" end="</u>" skip="\n" oneline
+syn region sisu_identifier contains=sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error,@Spell,sisu_mark matchgroup=sisu_html start="<ins>" end="</ins>" skip="\\\\\|\\'" oneline
+syn region sisu_identifier contains=sisu_error matchgroup=sisu_html start="<del>" end="</del>" oneline
+"%   metaverse <:>
+syn region sisu_content_alt contains=sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error,@Spell matchgroup=sisu_contain start="<:Table.\{-}>" end="<:Table[-_]end>"
 syn region sisu_content_alt contains=sisu_error matchgroup=sisu_contain start="<:code>" end="<:code[-_]end>"
-syn region sisu_content_alt contains=sisu_mark_endnote,sisu_content_endnote,sisu_link,sisu_mark,sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error,sisu_error_spell,@Spell matchgroup=sisu_contain start="<:alt>" end="<:alt[-_]end>"
-syn region sisu_content_alt contains=sisu_mark_endnote,sisu_content_endnote,sisu_link,sisu_mark,sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error,sisu_error_spell,@Spell matchgroup=sisu_contain start="<:poem>" end="<:poem[-_]end>"
+syn region sisu_content_alt contains=sisu_mark_endnote,sisu_content_endnote,sisu_link,sisu_mark,sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error,@Spell matchgroup=sisu_contain start="<:alt>" end="<:alt[-_]end>"
+syn region sisu_content_alt contains=sisu_mark_endnote,sisu_content_endnote,sisu_link,sisu_mark,sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error,@Spell matchgroup=sisu_contain start="<:poem>" end="<:poem[-_]end>"
 "% 6 Expensive Mode
 " Expensive Mode:
 if !exists("sisu_no_expensive")
@@ -160,8 +160,6 @@ if version >= 508 || !exists("did_sisu_syntax_inits")
   HiLink sisu_html            Type
   HiLink sisu_action          Identifier
   HiLink sisu_comment         Comment
-  HiLink sisu_error_spell     SpellErrors "line does nothing
-"  HiLink sisu_error_spell     ErrorMsg
   HiLink sisu_error_wspace    Error
   HiLink sisu_error           Error
   delcommand HiLink
diff --git a/runtime/syntax/vim.vim b/runtime/syntax/vim.vim
index 099d8e4c58..fcc8f72121 100644
--- a/runtime/syntax/vim.vim
+++ b/runtime/syntax/vim.vim
@@ -1,8 +1,8 @@
 " Vim syntax file
 " Language:	Vim 7.0 script
 " Maintainer:	Dr. Charles E. Campbell, Jr. <NdrOchipS@PcampbellAfamily.Mbiz>
-" Last Change:	April 19, 2006
-" Version:	7.0-45
+" Last Change:	April 25, 2006
+" Version:	7.0-46
 " Automatically generated keyword lists: {{{1
 
 " Quit when a syntax file was already loaded {{{2
@@ -20,13 +20,13 @@ syn keyword vimCommand contained	ab[breviate] abc[lear] abo[veleft] al[l] arga[d
 syn match   vimCommand contained	"\<z[-+^.=]"
 
 " vimOptions are caught only when contained in a vimSet {{{2
-syn keyword vimOption contained	: acd ai akm al aleph allowrevins altkeymap ambiwidth ambw anti antialias ar arab arabic arabicshape ari arshape autochdir autoindent autoread autowrite autowriteall aw awa background backspace backup backupcopy backupdir backupext backupskip balloondelay ballooneval balloonexpr bdir bdlay beval bex bexpr bg bh bin binary biosk bioskey bk bkc bl bomb breakat brk browsedir bs bsdir bsk bt bufhidden buflisted buftype casemap cb ccv cd cdpath cedit cf cfu ch charconvert ci cin cindent cink cinkeys cino cinoptions cinw cinwords clipboard cmdheight cmdwinheight cmp cms co columns com comments commentstring compatible complete completefunc completeopt confirm consk conskey copyindent cot cp cpo cpoptions cpt cscopepathcomp cscopeprg cscopequickfix cscopetag cscopetagorder cscopeverbose cspc csprg csqf cst csto csverb cuc cul cursorcolumn cursorline cwh debug deco def define delcombine dex dg dict dictionary diff diffexpr diffopt digraph dip dir directory display dy ea ead eadirection eb ed edcompatible ef efm ei ek enc encoding endofline eol ep equalalways equalprg errorbells errorfile errorformat esckeys et eventignore ex expandtab exrc fcl fcs fdc fde fdi fdl fdls fdm fdn fdo fdt fen fenc fencs fex ff ffs fileencoding fileencodings fileformat fileformats filetype fillchars fk fkmap flp fml fmr fo foldclose foldcolumn foldenable foldexpr foldignore foldlevel foldlevelstart foldmarker foldmethod foldminlines foldnestmax foldopen foldtext formatexpr formatlistpat formatoptions formatprg fp fs fsync ft gcr gd gdefault gfm gfn gfs gfw ghr go gp grepformat grepprg gtl guicursor guifont guifontset guifontwide guiheadroom guioptions guipty guitablabel helpfile helpheight helplang hf hh hi hid hidden highlight history hk hkmap hkmapp hkp hl hlg hls hlsearch ic icon iconstring ignorecase im imactivatekey imak imc imcmdline imd imdisable imi iminsert ims imsearch inc include includeexpr incsearch inde indentexpr indentkeys indk inex inf infercase insertmode is isf isfname isi isident isk iskeyword isp isprint joinspaces js key keymap keymodel keywordprg km kmp kp langmap langmenu laststatus lazyredraw lbr lcs linebreak lines linespace lisp lispwords list listchars lm lmap loadplugins lpl ls lsp lw lz ma magic makeef makeprg mat matchpairs matchtime maxcombine maxfuncdepth maxmapdepth maxmem maxmempattern maxmemtot mco mef menuitems mfd mh mis mkspellmem ml mls mm mmd mmp mmt mod modeline modelines modifiable modified more mouse mousef mousefocus mousehide mousem mousemodel mouses mouseshape mouset mousetime mp mps msm mzq mzquantum nf nrformats nu number numberwidth nuw oft ofu omnifunc operatorfunc opfunc osfiletype pa para paragraphs paste pastetoggle patchexpr patchmode path pdev penc pex pexpr pfn ph pheader pi pm pmbcs pmbfn popt preserveindent previewheight previewwindow printdevice printencoding printexpr printfont printheader printmbcharset printmbfont printoptions prompt pt pumheight pvh pvw qe quoteescape readonly remap report restorescreen revins ri rightleft rightleftcmd rl rlc ro rs rtp ru ruf ruler rulerformat runtimepath sb sbo sbr sc scb scr scroll scrollbind scrolljump scrolloff scrollopt scs sect sections secure sel selection selectmode sessionoptions sft sh shcf shell shellcmdflag shellpipe shellquote shellredir shellslash shelltemp shelltype shellxquote shiftround shiftwidth shm shortmess shortname showbreak showcmd showfulltag showmatch showmode showtabline shq si sidescroll sidescrolloff siso sj slm sm smartcase smartindent smarttab smc smd sn so softtabstop sol sp spc spell spellcapcheck spellfile spelllang spellsuggest spf spl splitbelow splitright spr sps sr srr ss ssl ssop st sta stal startofline statusline stl stmp sts su sua suffixes suffixesadd sw swapfile swapsync swb swf switchbuf sws sxq syn synmaxcol syntax ta tabline tabpagemax tabstop tag tagbsearch taglength tagrelative tags tagstack tal tb tbi tbidi tbis tbs tenc term termbidi termencoding terse textauto textmode textwidth tf tgst thesaurus tildeop timeout timeoutlen title titlelen titleold titlestring tl tm to toolbar toolbariconsize top tpm tr ts tsl tsr ttimeout ttimeoutlen ttm tty ttybuiltin ttyfast ttym ttymouse ttyscroll ttytype tw tx uc ul undolevels updatecount updatetime ut vb vbs vdir ve verbose verbosefile vfile vi viewdir viewoptions viminfo virtualedit visualbell vop wa wak warn wb wc wcm wd weirdinvert wfh wfw wh whichwrap wi wig wildchar wildcharm wildignore wildmenu wildmode wildoptions wim winaltkeys window winfixheight winfixwidth winheight winminheight winminwidth winwidth wiv wiw wm wmh wmnu wmw wop wrap wrapmargin wrapscan write writeany writebackup writedelay ws ww 
+syn keyword vimOption contained	: acd ai akm al aleph allowrevins altkeymap ambiwidth ambw anti antialias ar arab arabic arabicshape ari arshape autochdir autoindent autoread autowrite autowriteall aw awa background backspace backup backupcopy backupdir backupext backupskip balloondelay ballooneval balloonexpr bdir bdlay beval bex bexpr bg bh bin binary biosk bioskey bk bkc bl bomb breakat brk browsedir bs bsdir bsk bt bufhidden buflisted buftype casemap cb ccv cd cdpath cedit cf cfu ch charconvert ci cin cindent cink cinkeys cino cinoptions cinw cinwords clipboard cmdheight cmdwinheight cmp cms co columns com comments commentstring compatible complete completefunc completeopt confirm consk conskey copyindent cot cp cpo cpoptions cpt cscopepathcomp cscopeprg cscopequickfix cscopetag cscopetagorder cscopeverbose cspc csprg csqf cst csto csverb cuc cul cursorcolumn cursorline cwh debug deco def define delcombine dex dg dict dictionary diff diffexpr diffopt digraph dip dir directory display dy ea ead eadirection eb ed edcompatible ef efm ei ek enc encoding endofline eol ep equalalways equalprg errorbells errorfile errorformat esckeys et eventignore ex expandtab exrc fcl fcs fdc fde fdi fdl fdls fdm fdn fdo fdt fen fenc fencs fex ff ffs fileencoding fileencodings fileformat fileformats filetype fillchars fk fkmap flp fml fmr fo foldclose foldcolumn foldenable foldexpr foldignore foldlevel foldlevelstart foldmarker foldmethod foldminlines foldnestmax foldopen foldtext formatexpr formatlistpat formatoptions formatprg fp fs fsync ft gcr gd gdefault gfm gfn gfs gfw ghr go gp grepformat grepprg gtl gtt guicursor guifont guifontset guifontwide guiheadroom guioptions guipty guitablabel guitabtooltip helpfile helpheight helplang hf hh hi hid hidden highlight history hk hkmap hkmapp hkp hl hlg hls hlsearch ic icon iconstring ignorecase im imactivatekey imak imc imcmdline imd imdisable imi iminsert ims imsearch inc include includeexpr incsearch inde indentexpr indentkeys indk inex inf infercase insertmode is isf isfname isi isident isk iskeyword isp isprint joinspaces js key keymap keymodel keywordprg km kmp kp langmap langmenu laststatus lazyredraw lbr lcs linebreak lines linespace lisp lispwords list listchars lm lmap loadplugins lpl ls lsp lw lz ma macatsui magic makeef makeprg mat matchpairs matchtime maxcombine maxfuncdepth maxmapdepth maxmem maxmempattern maxmemtot mco mef menuitems mfd mh mis mkspellmem ml mls mm mmd mmp mmt mod modeline modelines modifiable modified more mouse mousef mousefocus mousehide mousem mousemodel mouses mouseshape mouset mousetime mp mps msm mzq mzquantum nf nrformats nu number numberwidth nuw oft ofu omnifunc operatorfunc opfunc osfiletype pa para paragraphs paste pastetoggle patchexpr patchmode path pdev penc pex pexpr pfn ph pheader pi pm pmbcs pmbfn popt preserveindent previewheight previewwindow printdevice printencoding printexpr printfont printheader printmbcharset printmbfont printoptions prompt pt pumheight pvh pvw qe quoteescape readonly remap report restorescreen revins ri rightleft rightleftcmd rl rlc ro rs rtp ru ruf ruler rulerformat runtimepath sb sbo sbr sc scb scr scroll scrollbind scrolljump scrolloff scrollopt scs sect sections secure sel selection selectmode sessionoptions sft sh shcf shell shellcmdflag shellpipe shellquote shellredir shellslash shelltemp shelltype shellxquote shiftround shiftwidth shm shortmess shortname showbreak showcmd showfulltag showmatch showmode showtabline shq si sidescroll sidescrolloff siso sj slm sm smartcase smartindent smarttab smc smd sn so softtabstop sol sp spc spell spellcapcheck spellfile spelllang spellsuggest spf spl splitbelow splitright spr sps sr srr ss ssl ssop st sta stal startofline statusline stl stmp sts su sua suffixes suffixesadd sw swapfile swapsync swb swf switchbuf sws sxq syn synmaxcol syntax ta tabline tabpagemax tabstop tag tagbsearch taglength tagrelative tags tagstack tal tb tbi tbidi tbis tbs tenc term termbidi termencoding terse textauto textmode textwidth tf tgst thesaurus tildeop timeout timeoutlen title titlelen titleold titlestring tl tm to toolbar toolbariconsize top tpm tr ts tsl tsr ttimeout ttimeoutlen ttm tty ttybuiltin ttyfast ttym ttymouse ttyscroll ttytype tw tx uc ul undolevels updatecount updatetime ut vb vbs vdir ve verbose verbosefile vfile vi viewdir viewoptions viminfo virtualedit visualbell vop wa wak warn wb wc wcm wd weirdinvert wfh wfw wh whichwrap wi wig wildchar wildcharm wildignore wildmenu wildmode wildoptions wim winaltkeys window winfixheight winfixwidth winheight winminheight winminwidth winwidth wiv wiw wm wmh wmnu wmw wop wrap wrapmargin wrapscan write writeany writebackup writedelay ws ww 
 
 " vimOptions: These are the turn-off setting variants {{{2
-syn keyword vimOption contained	noacd noai noakm noallowrevins noaltkeymap noanti noantialias noar noarab noarabic noarabicshape noari noarshape noautochdir noautoindent noautoread noautowrite noautowriteall noaw noawa nobackup noballooneval nobeval nobin nobinary nobiosk nobioskey nobk nobl nobomb nobuflisted nocf noci nocin nocindent nocompatible noconfirm noconsk noconskey nocopyindent nocp nocscopetag nocscopeverbose nocst nocsverb nocuc nocul nocursorcolumn nocursorline nodeco nodelcombine nodg nodiff nodigraph nodisable noea noeb noed noedcompatible noek noendofline noeol noequalalways noerrorbells noesckeys noet noex noexpandtab noexrc nofen nofk nofkmap nofoldenable nogd nogdefault noguipty nohid nohidden nohk nohkmap nohkmapp nohkp nohls nohlsearch noic noicon noignorecase noim noimc noimcmdline noimd noincsearch noinf noinfercase noinsertmode nois nojoinspaces nojs nolazyredraw nolbr nolinebreak nolisp nolist noloadplugins nolpl nolz noma nomagic nomh noml nomod nomodeline nomodifiable nomodified nomore nomousef nomousefocus nomousehide nonu nonumber nopaste nopi nopreserveindent nopreviewwindow noprompt nopvw noreadonly noremap norestorescreen norevins nori norightleft norightleftcmd norl norlc noro nors noru noruler nosb nosc noscb noscrollbind noscs nosecure nosft noshellslash noshelltemp noshiftround noshortname noshowcmd noshowfulltag noshowmatch noshowmode nosi nosm nosmartcase nosmartindent nosmarttab nosmd nosn nosol nospell nosplitbelow nosplitright nospr nosr nossl nosta nostartofline nostmp noswapfile noswf nota notagbsearch notagrelative notagstack notbi notbidi notbs notermbidi noterse notextauto notextmode notf notgst notildeop notimeout notitle noto notop notr nottimeout nottybuiltin nottyfast notx novb novisualbell nowa nowarn nowb noweirdinvert nowfh nowfw nowildmenu nowinfixheight nowinfixwidth nowiv nowmnu nowrap nowrapscan nowrite nowriteany nowritebackup nows 
+syn keyword vimOption contained	noacd noai noakm noallowrevins noaltkeymap noanti noantialias noar noarab noarabic noarabicshape noari noarshape noautochdir noautoindent noautoread noautowrite noautowriteall noaw noawa nobackup noballooneval nobeval nobin nobinary nobiosk nobioskey nobk nobl nobomb nobuflisted nocf noci nocin nocindent nocompatible noconfirm noconsk noconskey nocopyindent nocp nocscopetag nocscopeverbose nocst nocsverb nocuc nocul nocursorcolumn nocursorline nodeco nodelcombine nodg nodiff nodigraph nodisable noea noeb noed noedcompatible noek noendofline noeol noequalalways noerrorbells noesckeys noet noex noexpandtab noexrc nofen nofk nofkmap nofoldenable nogd nogdefault noguipty nohid nohidden nohk nohkmap nohkmapp nohkp nohls nohlsearch noic noicon noignorecase noim noimc noimcmdline noimd noincsearch noinf noinfercase noinsertmode nois nojoinspaces nojs nolazyredraw nolbr nolinebreak nolisp nolist noloadplugins nolpl nolz noma nomacatsui nomagic nomh noml nomod nomodeline nomodifiable nomodified nomore nomousef nomousefocus nomousehide nonu nonumber nopaste nopi nopreserveindent nopreviewwindow noprompt nopvw noreadonly noremap norestorescreen norevins nori norightleft norightleftcmd norl norlc noro nors noru noruler nosb nosc noscb noscrollbind noscs nosecure nosft noshellslash noshelltemp noshiftround noshortname noshowcmd noshowfulltag noshowmatch noshowmode nosi nosm nosmartcase nosmartindent nosmarttab nosmd nosn nosol nospell nosplitbelow nosplitright nospr nosr nossl nosta nostartofline nostmp noswapfile noswf nota notagbsearch notagrelative notagstack notbi notbidi notbs notermbidi noterse notextauto notextmode notf notgst notildeop notimeout notitle noto notop notr nottimeout nottybuiltin nottyfast notx novb novisualbell nowa nowarn nowb noweirdinvert nowfh nowfw nowildmenu nowinfixheight nowinfixwidth nowiv nowmnu nowrap nowrapscan nowrite nowriteany nowritebackup nows 
 
 " vimOptions: These are the invertible variants {{{2
-syn keyword vimOption contained	invacd invai invakm invallowrevins invaltkeymap invanti invantialias invar invarab invarabic invarabicshape invari invarshape invautochdir invautoindent invautoread invautowrite invautowriteall invaw invawa invbackup invballooneval invbeval invbin invbinary invbiosk invbioskey invbk invbl invbomb invbuflisted invcf invci invcin invcindent invcompatible invconfirm invconsk invconskey invcopyindent invcp invcscopetag invcscopeverbose invcst invcsverb invcuc invcul invcursorcolumn invcursorline invdeco invdelcombine invdg invdiff invdigraph invdisable invea inveb inved invedcompatible invek invendofline inveol invequalalways inverrorbells invesckeys invet invex invexpandtab invexrc invfen invfk invfkmap invfoldenable invgd invgdefault invguipty invhid invhidden invhk invhkmap invhkmapp invhkp invhls invhlsearch invic invicon invignorecase invim invimc invimcmdline invimd invincsearch invinf invinfercase invinsertmode invis invjoinspaces invjs invlazyredraw invlbr invlinebreak invlisp invlist invloadplugins invlpl invlz invma invmagic invmh invml invmod invmodeline invmodifiable invmodified invmore invmousef invmousefocus invmousehide invnu invnumber invpaste invpi invpreserveindent invpreviewwindow invprompt invpvw invreadonly invremap invrestorescreen invrevins invri invrightleft invrightleftcmd invrl invrlc invro invrs invru invruler invsb invsc invscb invscrollbind invscs invsecure invsft invshellslash invshelltemp invshiftround invshortname invshowcmd invshowfulltag invshowmatch invshowmode invsi invsm invsmartcase invsmartindent invsmarttab invsmd invsn invsol invspell invsplitbelow invsplitright invspr invsr invssl invsta invstartofline invstmp invswapfile invswf invta invtagbsearch invtagrelative invtagstack invtbi invtbidi invtbs invtermbidi invterse invtextauto invtextmode invtf invtgst invtildeop invtimeout invtitle invto invtop invtr invttimeout invttybuiltin invttyfast invtx invvb invvisualbell invwa invwarn invwb invweirdinvert invwfh invwfw invwildmenu invwinfixheight invwinfixwidth invwiv invwmnu invwrap invwrapscan invwrite invwriteany invwritebackup invws 
+syn keyword vimOption contained	invacd invai invakm invallowrevins invaltkeymap invanti invantialias invar invarab invarabic invarabicshape invari invarshape invautochdir invautoindent invautoread invautowrite invautowriteall invaw invawa invbackup invballooneval invbeval invbin invbinary invbiosk invbioskey invbk invbl invbomb invbuflisted invcf invci invcin invcindent invcompatible invconfirm invconsk invconskey invcopyindent invcp invcscopetag invcscopeverbose invcst invcsverb invcuc invcul invcursorcolumn invcursorline invdeco invdelcombine invdg invdiff invdigraph invdisable invea inveb inved invedcompatible invek invendofline inveol invequalalways inverrorbells invesckeys invet invex invexpandtab invexrc invfen invfk invfkmap invfoldenable invgd invgdefault invguipty invhid invhidden invhk invhkmap invhkmapp invhkp invhls invhlsearch invic invicon invignorecase invim invimc invimcmdline invimd invincsearch invinf invinfercase invinsertmode invis invjoinspaces invjs invlazyredraw invlbr invlinebreak invlisp invlist invloadplugins invlpl invlz invma invmacatsui invmagic invmh invml invmod invmodeline invmodifiable invmodified invmore invmousef invmousefocus invmousehide invnu invnumber invpaste invpi invpreserveindent invpreviewwindow invprompt invpvw invreadonly invremap invrestorescreen invrevins invri invrightleft invrightleftcmd invrl invrlc invro invrs invru invruler invsb invsc invscb invscrollbind invscs invsecure invsft invshellslash invshelltemp invshiftround invshortname invshowcmd invshowfulltag invshowmatch invshowmode invsi invsm invsmartcase invsmartindent invsmarttab invsmd invsn invsol invspell invsplitbelow invsplitright invspr invsr invssl invsta invstartofline invstmp invswapfile invswf invta invtagbsearch invtagrelative invtagstack invtbi invtbidi invtbs invtermbidi invterse invtextauto invtextmode invtf invtgst invtildeop invtimeout invtitle invto invtop invtr invttimeout invttybuiltin invttyfast invtx invvb invvisualbell invwa invwarn invwb invweirdinvert invwfh invwfw invwildmenu invwinfixheight invwinfixwidth invwiv invwmnu invwrap invwrapscan invwrite invwriteany invwritebackup invws 
 
 " termcap codes (which can also be set) {{{2
 syn keyword vimOption contained	t_AB t_AF t_al t_AL t_bc t_cd t_ce t_Ce t_cl t_cm t_Co t_cs t_Cs t_CS t_CV t_da t_db t_dl t_DL t_EI    end insert mode (block cursor shape)            *t_EI* *'t_EI'* t_F1 t_F2 t_F3 t_F4 t_F5 t_F6 t_F7 t_F8 t_F9 t_fs t_IE t_IS t_k1 t_K1 t_k2 t_k3 t_K3 t_k4 t_K4 t_k5 t_K5 t_k6 t_K6 t_k7 t_K7 t_k8 t_K8 t_k9 t_K9 t_KA t_kb t_kB t_KB t_KC t_kd t_kD t_KD t_ke t_KE t_KF t_KG t_kh t_KH t_kI t_KI t_KJ t_KK t_kl t_KL t_kN t_kP t_kr t_ks t_ku t_le t_mb t_md t_me t_mr t_ms t_nd t_op t_RI t_RV t_Sb t_se t_Sf t_SI    start insert mode (bar cursor shape)            *t_SI* *'t_SI'* t_so t_sr t_te t_ti t_ts t_ue t_us t_ut t_vb t_ve t_vi t_vs t_WP t_WS t_xs t_ZH t_ZR 
@@ -55,7 +55,7 @@ syn match vimHLGroup contained	"Conceal"
 syn case match
 
 " Function Names {{{2
-syn keyword vimFuncName contained	add append argc argidx argv browse browsedir bufexists buflisted bufloaded bufname bufnr bufwinnr byte2line byteidx call changenr char2nr cindent col complete complete_add complete_check confirm copy count cscope_connection cursor deepcopy delete did_filetype diff_filler diff_hlID empty escape eval eventhandler executable exists expand expr8 extend filereadable filewritable filter finddir findfile fnamemodify foldclosed foldclosedend foldlevel foldtext foldtextresult foreground function garbagecollect get getbufline getbufvar getchar getcharmod getcmdline getcmdpos getcmdtype getcwd getfontname getfperm getfsize getftime getftype getline getloclist getpos getqflist getreg getregtype gettabwinvar getwinposx getwinposy getwinvar glob globpath has has_key hasmapto histadd histdel histget histnr hlexists hlID hostname iconv indent index input inputdialog inputlist inputrestore inputsave inputsecret insert isdirectory islocked items join keys len libcall libcallnr line line2byte lispindent localtime map maparg mapcheck match matcharg matchend matchlist matchstr max min mkdir mode nextnonblank nr2char pathshorten prevnonblank printf pumvisible range readfile reltime reltimestr remote_expr remote_foreground remote_peek remote_read remote_send remove rename repeat resolve reverse search searchdecl searchpair searchpairpos searchpos server2client serverlist setbufvar setcmdpos setline setloclist setpos setqflist setreg settabwinvar setwinvar simplify sort soundfold spellbadword spellsuggest split str2nr strftime stridx string strlen strpart strridx strtrans submatch substitute synID synIDattr synIDtrans system tabpagebuflist tabpagenr tabpagewinnr tagfiles taglist tempname tolower toupper tr type values virtcol visualmode winbufnr wincol winheight winline winnr winrestcmd winrestview winsaveview winwidth writefile 
+syn keyword vimFuncName contained	add append argc argidx argv browse browsedir bufexists buflisted bufloaded bufname bufnr bufwinnr byte2line byteidx call changenr char2nr cindent col complete complete_add complete_check confirm copy count cscope_connection cursor deepcopy delete did_filetype diff_filler diff_hlID empty escape eval eventhandler executable exists expand expr8 extend feedkeys filereadable filewritable filter finddir findfile fnamemodify foldclosed foldclosedend foldlevel foldtext foldtextresult foreground function garbagecollect get getbufline getbufvar getchar getcharmod getcmdline getcmdpos getcmdtype getcwd getfontname getfperm getfsize getftime getftype getline getloclist getpos getqflist getreg getregtype gettabwinvar getwinposx getwinposy getwinvar glob globpath has has_key hasmapto histadd histdel histget histnr hlexists hlID hostname iconv indent index input inputdialog inputlist inputrestore inputsave inputsecret insert isdirectory islocked items join keys len libcall libcallnr line line2byte lispindent localtime map maparg mapcheck match matcharg matchend matchlist matchstr max min mkdir mode nextnonblank nr2char pathshorten prevnonblank printf pumvisible range readfile reltime reltimestr remote_expr remote_foreground remote_peek remote_read remote_send remove rename repeat resolve reverse search searchdecl searchpair searchpairpos searchpos server2client serverlist setbufvar setcmdpos setline setloclist setpos setqflist setreg settabwinvar setwinvar simplify sort soundfold spellbadword spellsuggest split str2nr strftime stridx string strlen strpart strridx strtrans submatch substitute synID synIDattr synIDtrans system tabpagebuflist tabpagenr tabpagewinnr tagfiles taglist tempname tolower toupper tr type values virtcol visualmode winbufnr wincol winheight winline winnr winrestcmd winrestview winsaveview winwidth writefile 
 
 "--- syntax above generated by mkvimvim ---
 " Special Vim Highlighting (not automatic) {{{1
diff --git a/src/Make_mvc.mak b/src/Make_mvc.mak
index 9c11aa0e82..afc05d5275 100644
--- a/src/Make_mvc.mak
+++ b/src/Make_mvc.mak
@@ -1046,8 +1046,16 @@ proto.h: \
 	proto/window.pro \
 	$(NETBEANS_PRO)
 
-.cod.c:
-	$(CC) $(CFLAGS) /FAc $<
+.SUFFIXES: .cod
+
+# Generate foo.cod (mixed source and assembly listing) from foo.c via "nmake
+# foo.cod"
+.c.cod:
+	$(CC) $(CFLAGS) /FAcs $<
+
+# Generate foo.i (preprocessor listing) from foo.c via "nmake foo.i"
+.c.i:
+	$(CC) $(CFLAGS) /P /C $<
 
 
 # vim: set noet sw=8 ts=8 sts=0 wm=0 tw=0:
diff --git a/src/gui.c b/src/gui.c
index 0fdcabe5a4..4006891783 100644
--- a/src/gui.c
+++ b/src/gui.c
@@ -1160,7 +1160,7 @@ gui_position_components(total_width)
 # if defined(FEAT_GUI_TABLINE) && (defined(FEAT_GUI_MSWIN) \
 	|| defined(FEAT_GUI_MOTIF))
     if (gui_has_tabline())
-	text_area_y += TABLINE_HEIGHT;
+	text_area_y += gui.tabline_height;
 #endif
 
 #if defined(FEAT_TOOLBAR) && (defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_ATHENA))
@@ -1247,7 +1247,7 @@ gui_get_base_height()
 # if defined(FEAT_GUI_TABLINE) && (defined(FEAT_GUI_MSWIN) \
 	|| defined(FEAT_GUI_MOTIF))
     if (gui_has_tabline())
-	base_height += TABLINE_HEIGHT;
+	base_height += gui.tabline_height;
 # endif
 # ifdef FEAT_FOOTER
     if (vim_strchr(p_go, GO_FOOTER) != NULL)
@@ -3992,7 +3992,7 @@ gui_update_scrollbars(force)
 
 #if defined(FEAT_GUI_TABLINE) && defined(FEAT_GUI_MSWIN)
 	    if (gui_has_tabline())
-		y += TABLINE_HEIGHT;
+		y += gui.tabline_height;
 #endif
 
 #ifdef FEAT_WINDOWS
diff --git a/src/gui.h b/src/gui.h
index 36156f9ddc..e654a21b60 100644
--- a/src/gui.h
+++ b/src/gui.h
@@ -412,6 +412,11 @@ typedef struct Gui
     char_u	*browse_fname;	    /* file name from filedlg */
 #endif	/* FEAT_GUI_GTK */
 
+#if defined(FEAT_GUI_TABLINE) \
+	&& (defined(FEAT_GUI_W32) || defined(FEAT_GUI_MOTIF))
+    int		tabline_height;
+#endif
+
 #ifdef FEAT_FOOTER
     int		footer_height;	    /* height of the message footer */
 #endif
diff --git a/src/gui_motif.c b/src/gui_motif.c
index ccc97782da..69399b0dad 100644
--- a/src/gui_motif.c
+++ b/src/gui_motif.c
@@ -493,6 +493,8 @@ gui_x11_create_widgets()
     XtAddEventHandler(tabLine, ButtonPressMask, False,
 			(XtEventHandler)tabline_menu_cb, NULL);
 
+    gui.tabline_height = TABLINE_HEIGHT;
+
     /*
      * Set the size of the minor next/prev scrollers to zero, so
      * that they are not displayed. Due to a bug in OpenMotif 2.3,
diff --git a/src/gui_w32.c b/src/gui_w32.c
index d6718798b0..4b4e9a9c03 100644
--- a/src/gui_w32.c
+++ b/src/gui_w32.c
@@ -181,7 +181,9 @@
 # define ID_BEVAL_TOOLTIP   200
 # define BEVAL_TEXT_LEN	    MAXPATHL
 
-#ifndef UINT_PTR
+#if _MSC_VER < 1300
+/* Work around old versions of basetsd.h which wrongly declare
+ * UINT_PTR as unsigned long */
 # define UINT_PTR UINT
 #endif
 
@@ -195,7 +197,7 @@ static DWORD	    LastActivity = 0;
 
 /*
  * excerpts from headers since this may not be presented
- * in the extremelly old compilers
+ * in the extremely old compilers
  */
 #include <pshpack1.h>
 
@@ -568,6 +570,70 @@ _OnMouseWheel(
 	_OnScroll(hwnd, hwndCtl, zDelta >= 0 ? SB_PAGEUP : SB_PAGEDOWN, 0);
 }
 
+#ifdef USE_SYSMENU_FONT
+/*
+ * Get Menu Font.
+ * Return OK or FAIL.
+ */
+    static int
+gui_w32_get_menu_font(LOGFONT *lf)
+{
+    NONCLIENTMETRICS nm;
+
+    nm.cbSize = sizeof(NONCLIENTMETRICS);
+    if (!SystemParametersInfo(
+	    SPI_GETNONCLIENTMETRICS,
+	    sizeof(NONCLIENTMETRICS),
+	    &nm,
+	    0))
+	return FAIL;
+    *lf = nm.lfMenuFont;
+    return OK;
+}
+#endif
+
+
+#if defined(FEAT_GUI_TABLINE) && defined(USE_SYSMENU_FONT)
+/*
+ * Set the GUI tabline font to the system menu font
+ */
+    static void
+set_tabline_font(void)
+{
+    LOGFONT	lfSysmenu;
+    HFONT	font;
+    HWND	hwnd;
+    HDC		hdc;
+    HFONT	hfntOld;
+    TEXTMETRIC	tm;
+
+    if (gui_w32_get_menu_font(&lfSysmenu) != OK)
+	return;
+
+    font = CreateFontIndirect(&lfSysmenu);
+
+    SendMessage(s_tabhwnd, WM_SETFONT, (WPARAM)font, TRUE);
+
+    /*
+     * Compute the height of the font used for the tab text
+     */
+    hwnd = GetDesktopWindow();
+    hdc = GetWindowDC(hwnd);
+    hfntOld = SelectFont(hdc, font);
+
+    GetTextMetrics(hdc, &tm);
+
+    SelectFont(hdc, hfntOld);
+    ReleaseDC(hwnd, hdc);
+
+    /*
+     * The space used by the tab border and the space between the tab label
+     * and the tab border is included as 7.
+     */
+    gui.tabline_height = tm.tmHeight + tm.tmInternalLeading + 7;
+}
+#endif
+
 /*
  * Invoked when a setting was changed.
  */
@@ -577,6 +643,10 @@ _OnSettingChange(UINT n)
     if (n == SPI_SETWHEELSCROLLLINES)
 	SystemParametersInfo(SPI_GETWHEELSCROLLLINES, 0,
 		&mouse_scroll_lines, 0);
+#if defined(FEAT_GUI_TABLINE) && defined(USE_SYSMENU_FONT)
+    if (n == SPI_SETNONCLIENTMETRICS)
+	set_tabline_font();
+#endif
     return 0;
 }
 
@@ -873,7 +943,7 @@ _WndProc(
 				    {
 					int wlen;
 
-					wlen = (wcslen(wstr) + 1)
+					wlen = ((int)wcslen(wstr) + 1)
 							      * sizeof(WCHAR);
 					if (tt_text_len < wlen)
 					{
@@ -893,7 +963,7 @@ _WndProc(
 				{
 				    int len;
 
-				    len = STRLEN(NameBuff) + 1;
+				    len = (int)STRLEN(NameBuff) + 1;
 				    if (tt_text_len < len)
 				    {
 					tt_text = vim_realloc(tt_text, len);
@@ -2870,28 +2940,6 @@ static const char_u *dlg_icons[] = /* must match names in resource file */
     "IDR_VIM_QUESTION"
 };
 
-#ifdef USE_SYSMENU_FONT
-/*
- * Get Menu Font.
- * Return OK or FAIL.
- */
-    static int
-gui_w32_get_menu_font(LOGFONT *lf)
-{
-    NONCLIENTMETRICS nm;
-
-    nm.cbSize = sizeof(NONCLIENTMETRICS);
-    if (!SystemParametersInfo(
-	    SPI_GETNONCLIENTMETRICS,
-	    sizeof(NONCLIENTMETRICS),
-	    &nm,
-	    0))
-	return FAIL;
-    *lf = nm.lfMenuFont;
-    return OK;
-}
-#endif
-
     int
 gui_mch_dialog(
     int		 type,
@@ -4070,10 +4118,6 @@ get_toolbar_bitmap(vimmenu_T *menu)
     static void
 initialise_tabline(void)
 {
-# ifdef USE_SYSMENU_FONT
-    LOGFONT    lfSysmenu;
-# endif
-
     InitCommonControls();
 
     s_tabhwnd = CreateWindow(WC_TABCONTROL, "Vim tabline",
@@ -4081,12 +4125,10 @@ initialise_tabline(void)
 	    CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,
 	    CW_USEDEFAULT, s_hwnd, NULL, s_hinst, NULL);
 
+    gui.tabline_height = TABLINE_HEIGHT;
+
 # ifdef USE_SYSMENU_FONT
-    if (gui_w32_get_menu_font(&lfSysmenu) == OK)
-    {
-	HFONT font = CreateFontIndirect(&lfSysmenu);
-	SendMessage(s_tabhwnd, WM_SETFONT, (WPARAM) font, TRUE);
-    }
+    set_tabline_font();
 # endif
 }
 #endif
@@ -4559,8 +4601,7 @@ gui_mch_enable_beval_area(beval)
     if (beval == NULL)
 	return;
     // TRACE0("gui_mch_enable_beval_area {{{");
-    BevalTimerId = SetTimer(s_textArea, 0, p_bdlay / 2,
-						   (TIMERPROC)BevalTimerProc);
+    BevalTimerId = SetTimer(s_textArea, 0, p_bdlay / 2, BevalTimerProc);
     // TRACE0("gui_mch_enable_beval_area }}}");
 }
 
diff --git a/src/gui_w48.c b/src/gui_w48.c
index 2e43557f24..44d03d067a 100644
--- a/src/gui_w48.c
+++ b/src/gui_w48.c
@@ -1122,12 +1122,12 @@ gui_mch_set_text_area_pos(int x, int y, int w, int h)
 	int	top = 0;
 	RECT	rect;
 
-#ifdef FEAT_TOOLBAR
+# ifdef FEAT_TOOLBAR
 	if (vim_strchr(p_go, GO_TOOLBAR) != NULL)
 	    top = TOOLBAR_BUTTON_HEIGHT + TOOLBAR_BORDER_HEIGHT;
-#endif
+# endif
 	GetClientRect(s_hwnd, &rect);
-	MoveWindow(s_tabhwnd, 0, top, rect.right, TABLINE_HEIGHT, TRUE);
+	MoveWindow(s_tabhwnd, 0, top, rect.right, gui.tabline_height, TRUE);
     }
 #endif
 
@@ -2379,8 +2379,8 @@ gui_mch_set_curtab(nr)
     if (s_tabhwnd == NULL)
 	return;
 
-    if (TabCtrl_GetCurSel(s_tabhwnd) != nr)
-	TabCtrl_SetCurSel(s_tabhwnd, nr);
+    if (TabCtrl_GetCurSel(s_tabhwnd) != nr -1)
+	TabCtrl_SetCurSel(s_tabhwnd, nr -1);
 }
 
 #endif
diff --git a/src/hardcopy.c b/src/hardcopy.c
index bc5a219fc6..3b4c2d12c9 100644
--- a/src/hardcopy.c
+++ b/src/hardcopy.c
@@ -53,11 +53,11 @@
  * void mch_print_set_font(int Bold, int Italic, int Underline);
  * Called whenever the font style changes.
  *
- * void mch_print_set_bg(long bgcol);
+ * void mch_print_set_bg(long_u bgcol);
  * Called to set the background color for the following text. Parameter is an
  * RGB value.
  *
- * void mch_print_set_fg(long fgcol);
+ * void mch_print_set_fg(long_u fgcol);
  * Called to set the foreground color for the following text. Parameter is an
  * RGB value.
  *
diff --git a/src/os_mswin.c b/src/os_mswin.c
index 9e8b64d2dc..efbd01d736 100644
--- a/src/os_mswin.c
+++ b/src/os_mswin.c
@@ -2323,9 +2323,10 @@ mch_print_set_font(int iBold, int iItalic, int iUnderline)
 }
 
     void
-mch_print_set_bg(unsigned long bgcol)
+mch_print_set_bg(long_u bgcol)
 {
-    SetBkColor(prt_dlg.hDC, GetNearestColor(prt_dlg.hDC, swap_me(bgcol)));
+    SetBkColor(prt_dlg.hDC, GetNearestColor(prt_dlg.hDC,
+						   swap_me((COLORREF)bgcol)));
     /*
      * With a white background we can draw characters transparent, which is
      * good for italic characters that overlap to the next char cell.
@@ -2337,9 +2338,10 @@ mch_print_set_bg(unsigned long bgcol)
 }
 
     void
-mch_print_set_fg(unsigned long fgcol)
+mch_print_set_fg(long_u fgcol)
 {
-    SetTextColor(prt_dlg.hDC, GetNearestColor(prt_dlg.hDC, swap_me(fgcol)));
+    SetTextColor(prt_dlg.hDC, GetNearestColor(prt_dlg.hDC,
+						   swap_me((COLORREF)fgcol)));
 }
 
 #endif /*FEAT_PRINTER && !FEAT_POSTSCRIPT*/
diff --git a/src/proto/os_mswin.pro b/src/proto/os_mswin.pro
index aaef05b1a3..f46a3f852b 100644
--- a/src/proto/os_mswin.pro
+++ b/src/proto/os_mswin.pro
@@ -46,8 +46,8 @@ extern int mch_print_blank_page __ARGS((void));
 extern void mch_print_start_line __ARGS((int margin, int page_line));
 extern int mch_print_text_out __ARGS((char_u *p, int len));
 extern void mch_print_set_font __ARGS((int iBold, int iItalic, int iUnderline));
-extern void mch_print_set_bg __ARGS((unsigned long bgcol));
-extern void mch_print_set_fg __ARGS((unsigned long fgcol));
+extern void mch_print_set_bg __ARGS((long_u bgcol));
+extern void mch_print_set_fg __ARGS((long_u fgcol));
 extern char_u *mch_resolve_shortcut __ARGS((char_u *fname));
 extern void win32_set_foreground __ARGS((void));
 extern void serverInitMessaging __ARGS((void));
diff --git a/src/version.h b/src/version.h
index faaa755984..216f604745 100644
--- a/src/version.h
+++ b/src/version.h
@@ -35,6 +35,6 @@
  */
 #define VIM_VERSION_NODOT	"vim70f"
 #define VIM_VERSION_SHORT	"7.0f"
-#define VIM_VERSION_MEDIUM	"7.0f BETA"
-#define VIM_VERSION_LONG	"VIM - Vi IMproved 7.0f BETA (2006 Apr 24)"
-#define VIM_VERSION_LONG_DATE	"VIM - Vi IMproved 7.0f BETA (2006 Apr 24, compiled "
+#define VIM_VERSION_MEDIUM	"7.0f01 BETA"
+#define VIM_VERSION_LONG	"VIM - Vi IMproved 7.0f01 BETA (2006 Apr 25)"
+#define VIM_VERSION_LONG_DATE	"VIM - Vi IMproved 7.0f01 BETA (2006 Apr 25, compiled "
-- 
GitLab