changeset 857:b933657f7c9d

updated for version 7.0g01
author vimboss
date Tue, 02 May 2006 22:08:30 +0000
parents 8cd729851562
children ca82de29ac19
files runtime/autoload/netrw.vim runtime/autoload/netrwFileHandlers.vim runtime/autoload/tar.vim runtime/autoload/vimball.vim runtime/autoload/zip.vim runtime/doc/debug.txt runtime/doc/eval.txt runtime/doc/insert.txt runtime/doc/options.txt runtime/doc/pi_netrw.txt runtime/doc/pi_tar.txt runtime/doc/pi_vimball.txt runtime/doc/pi_zip.txt runtime/doc/syntax.txt runtime/doc/tabpage.txt runtime/doc/tags runtime/doc/todo.txt runtime/doc/version7.txt runtime/filetype.vim runtime/ftplugin/verilog.vim runtime/lang/menu_chinese_gb.936.vim runtime/lang/menu_zh_cn.gb2312.vim runtime/lang/menu_zh_cn.utf-8.vim runtime/plugin/vimballPlugin.vim runtime/syntax/c.vim runtime/syntax/debcontrol.vim runtime/syntax/sisu.vim runtime/syntax/snobol4.vim runtime/syntax/vim.vim src/digraph.c src/edit.c src/ex_docmd.c src/gui.c src/gui_gtk_x11.c src/gui_mac.c src/gui_x11.c src/option.c src/os_unix.c src/po/de.po src/po/fr.po src/quickfix.c src/spell.c src/version.c src/version.h src/window.c
diffstat 45 files changed, 669 insertions(+), 231 deletions(-) [+]
line wrap: on
line diff
--- a/runtime/autoload/netrw.vim
+++ b/runtime/autoload/netrw.vim
@@ -1,7 +1,7 @@
 " netrw.vim: Handles file transfer and remote directory listing across a network
 "            AUTOLOAD PORTION
-" Date:		Apr 28, 2006
-" Version:	95
+" Date:		May 02, 2006
+" Version:	98
 " Maintainer:	Charles E Campbell, Jr <drchipNOSPAM at campbellfamily dot biz>
 " GetLatestVimScripts: 1075 1 :AutoInstall: netrw.vim
 " Copyright:    Copyright (C) 1999-2005 Charles E. Campbell, Jr. {{{1
@@ -23,7 +23,7 @@
 if &cp || exists("g:loaded_netrw")
   finish
 endif
-let g:loaded_netrw = "v95"
+let g:loaded_netrw = "v98"
 if v:version < 700
  echohl WarningMsg | echo "***netrw*** you need vim version 7.0 or later for version ".g:loaded_netrw." of netrw" | echohl None
  finish
@@ -328,7 +328,7 @@ fun! netrw#NetRead(mode,...)
   if !isdirectory(substitute(tmpfile,'[^/]\+$','','e'))
    echohl Error | echo "***netrw*** your <".substitute(tmpfile,'[^/]\+$','','e')."> directory is missing!" | echohl None
    call inputsave()|call input("Press <cr> to continue")|call inputrestore()
-"   call Dret("NetRead")
+"   call Dret("NetRead :1 getcwd<".getcwd().">")
    return
   endif
 "  call Decho("tmpfile<".tmpfile.">")
@@ -380,7 +380,7 @@ fun! netrw#NetRead(mode,...)
          echohl Error | echo "***netrw*** Unbalanced string in filename '". wholechoice ."'" | echohl None
          call inputsave()|call input("Press <cr> to continue")|call inputrestore()
 	endif
-"        call Dret("NetRead")
+"        call Dret("NetRead :2 getcwd<".getcwd().">")
         return
        endif
        let choice= a:{ichoice}
@@ -398,7 +398,9 @@ fun! netrw#NetRead(mode,...)
     let choice = substitute(choice,'\\','/','ge')
 "    call Decho("fixing up windows url to <".choice."> tmpfile<".tmpfile)
 
-    exe 'cd ' . fnamemodify(tmpfile,':h')
+    if !g:netrw_keepdir
+     exe 'lcd ' . fnamemodify(tmpfile,':h')
+    endif
     let tmpfile = fnamemodify(tmpfile,':t')
    endif
 
@@ -410,7 +412,7 @@ fun! netrw#NetRead(mode,...)
    if choice =~ "^.*[\/]$"
 "    call Decho("yes, choice matches '^.*[\/]$'")
     keepjumps call s:NetBrowse(choice)
-"    call Dret("NetRead")
+"    call Dret("NetRead :3 getcwd<".getcwd().">")
     return
    endif
 
@@ -432,7 +434,7 @@ fun! netrw#NetRead(mode,...)
    " rcp:  NetRead Method #1 {{{3
    if  b:netrw_method == 1 " read with rcp
 "    call Decho("read via rcp (method #1)")
-   " ER: noting done with g:netrw_uid yet?
+   " ER: nothing done with g:netrw_uid yet?
    " ER: on Win2K" rcp machine[.user]:file tmpfile
    " ER: if machine contains '.' adding .user is required (use $USERNAME)
    " ER: the tmpfile is full path: rcp sees C:\... as host C
@@ -566,7 +568,7 @@ fun! netrw#NetRead(mode,...)
       echohl Error | echo "***netrw*** neither wget nor fetch command is available" | echohl None
       call inputsave()|call input("Press <cr> to continue")|call inputrestore()
      endif
-"     call Dret("NetRead")
+"     call Dret("NetRead :4 getcwd<".getcwd().">")
      return
     endif
 
@@ -701,7 +703,7 @@ fun! netrw#NetRead(mode,...)
   endif
   call s:NetOptionRestore()
 
-"  call Dret("NetRead")
+"  call Dret("NetRead :5 getcwd<".getcwd().">")
 endfun
 
 " ------------------------------------------------------------------------
@@ -894,8 +896,9 @@ fun! netrw#NetWrite(...) range
    " fix up windows urls
    if has("win32") || has("win95") || has("win64") || has("win16")
     let choice= substitute(choice,'\\','/','ge')
-    "ER: see NetRead()
-    exe 'cd ' . fnamemodify(tmpfile,':h')
+    if !g:netrw_keepdir
+     exe 'lcd ' . fnamemodify(tmpfile,':h')
+    endif
     let tmpfile = fnamemodify(tmpfile,':t')
    endif
 
@@ -1212,6 +1215,7 @@ fun! s:NetBrowse(dirname)
    elseif g:netrw_sort_by =~ "^s"
     let listcmd= listcmd."S"
    endif
+
    " optionally sort in reverse
    if g:netrw_sort_direction =~ "^r" && listcmd == "dir"
     let listcmd= listcmd."r"
@@ -2464,15 +2468,21 @@ fun! netrw#NetObtain(...)
   " NetrwStatusLine support - for obtaining support
   call s:SetupNetrwStatusLine('%f %h%m%r%=%9*Obtaining '.fname)
 
-"  call Decho("method=".w:netrw_method)
   if exists("w:netrw_method") && w:netrw_method =~ '[235]'
+"   call Decho("method=".w:netrw_method)
    if executable("ftp")
+"    call Decho("ftp is executable, method=".w:netrw_method)
     let curdir = expand("%")
     let path   = substitute(curdir,'ftp://[^/]\+/','','e')
     let curline= line(".")
     let endline= line("$")+1
     set ma
     keepjumps $
+"    call Decho("getcwd<".getcwd().">")
+"    call Decho("curdir<".curdir.">")
+"    call Decho("path<".path.">")
+"    call Decho("curline=".curline)
+"    call Decho("endline=".endline)
 
     ".........................................
     if w:netrw_method == 2
@@ -2484,6 +2494,8 @@ fun! netrw#NetObtain(...)
      endif
      put ='get '.fname
 "     call Decho("ftp:  get ".fname)
+     put ='quit'
+"     call Decho("ftp:  quit")
      if exists("g:netrw_port") && g:netrw_port != ""
 "      call Decho("exe ".g:netrw_silentxfer.endline.",$!".g:netrw_ftp_cmd." -i ".g:netrw_machine." ".g:netrw_port)
       exe g:netrw_silentxfer.endline.",$!".g:netrw_ftp_cmd." -i ".g:netrw_machine." ".g:netrw_port
@@ -2537,6 +2549,7 @@ fun! netrw#NetObtain(...)
     exe "keepjumps ".curline
     setlocal noma nomod
    else
+"    call Decho("ftp not executable")
     if !exists("g:netrw_quiet")
      echohl Error | echo "***netrw*** this system doesn't support ftp" | echohl None
      call inputsave()|call input("Press <cr> to continue")|call inputrestore()
@@ -2556,6 +2569,7 @@ fun! netrw#NetObtain(...)
   ".........................................
   else
    " scp: Method#4
+"   call Decho("using scp")
    let curdir = expand("%")
    let path   = substitute(curdir,'scp://[^/]\+/','','e')
 "   call Decho("path<".path.">")
@@ -2788,7 +2802,7 @@ fun! netrw#DirBrowse(dirname)
   endif
 
   call s:NetOptionSave()
-  if w:acdkeep
+  if exists("w:acdkeep") && w:acdkeep
    exe 'cd '.escape(a:dirname,s:netrw_cd_escape)
 "   call Decho("cd ".escape(a:dirname,s:netrw_cd_escape))
 "   call Decho("getcwd<".getcwd().">")
@@ -3486,7 +3500,7 @@ fun! s:LocalPreview(path) range
 "  call Dfunc("LocalPreview(path<".a:path.">)")
   if has("quickfix")
    if !isdirectory(a:path)
-    exe "pedit ".a:path
+    exe "pedit ".escape(a:path,g:netrw_fname_escape)
    elseif !exists("g:netrw_quiet")
     echohl WarningMsg | echo "***netrw*** sorry, cannot preview a directory such as <".a:path.">" | echohl None
     call inputsave()|call input("Press <cr> to continue")|call inputrestore()
@@ -4033,7 +4047,9 @@ fun! s:NetOptionSave()
   endif
 
   " Get Temporary Filename
-  let w:acdkeep   = &acd
+  if exists("&acd")
+   let w:acdkeep  = &acd
+  endif
   let w:aikeep    = &ai
   let w:fokeep    = &fo
   let w:cikeep    = &ci
@@ -4043,6 +4059,9 @@ fun! s:NetOptionSave()
   let w:cpokeep   = &cpo
   let w:hidkeep   = &hidden
   let w:magickeep = &magic
+  if !g:netrw_keepdir
+   let w:dirkeep  = getcwd()
+  endif
   let w:gdkeep    = &gd
   let w:repkeep   = &report
   let w:spellkeep = &spell
@@ -4050,7 +4069,11 @@ fun! s:NetOptionSave()
   setlocal cino =
   setlocal com  =
   setlocal cpo -=aA
-  setlocal noacd nocin noai noci magic nospell fo=nroql2 nohid
+  if exists("&acd")
+   setlocal noacd nocin noai noci magic nospell fo=nroql2 nohid
+  else
+   setlocal nocin noai noci magic nospell fo=nroql2 nohid
+  endif
   setlocal tw   =0
   setlocal report=10000
   if has("win32") && !has("win95")
@@ -4072,13 +4095,16 @@ fun! s:NetOptionRestore()
   endif
   unlet w:netoptionsave
 
-  if exists("w:acdkeep")  |let &acd    = w:acdkeep     |unlet w:acdkeep  |endif
+  if exists("&acd")
+   if exists("w:acdkeep") |let &acd    = w:acdkeep     |unlet w:acdkeep  |endif
+  endif
   if exists("w:aikeep")   |let &ai     = w:aikeep      |unlet w:aikeep   |endif
   if exists("w:cikeep")   |let &ci     = w:cikeep      |unlet w:cikeep   |endif
   if exists("w:cinkeep")  |let &cin    = w:cinkeep     |unlet w:cinkeep  |endif
   if exists("w:cinokeep") |let &cino   = w:cinokeep    |unlet w:cinokeep |endif
   if exists("w:comkeep")  |let &com    = w:comkeep     |unlet w:comkeep  |endif
   if exists("w:cpokeep")  |let &cpo    = w:cpokeep     |unlet w:cpokeep  |endif
+  if exists("w:dirkeep")  |exe "lcd ".w:dirkeep        |unlet w:dirkeep  |endif
   if exists("w:fokeep")   |let &fo     = w:fokeep      |unlet w:fokeep   |endif
   if exists("w:gdkeep")   |let &gd     = w:gdkeep      |unlet w:gdkeep   |endif
   if exists("w:hidkeep")  |let &hidden = w:hidkeep     |unlet w:hidkeep  |endif
--- a/runtime/autoload/netrwFileHandlers.vim
+++ b/runtime/autoload/netrwFileHandlers.vim
@@ -1,7 +1,7 @@
 " netrwFileHandlers: contains various extension-based file handlers for
 "                    netrw's browsers' x command ("eXecute launcher")
 " Author:	Charles E. Campbell, Jr.
-" Date:		Mar 22, 2006
+" Date:		May 01, 2006
 " Version:	8
 " Copyright:    Copyright (C) 1999-2005 Charles E. Campbell, Jr. {{{1
 "               Permission is hereby granted to use and distribute this code,
@@ -25,7 +25,7 @@ set cpo&vim
 let g:loaded_netrwFileHandlers= "v8"
 
 " ---------------------------------------------------------------------
-" netrwFileHandlers#Invoke: {{{2
+" netrwFileHandlers#Invoke: {{{1
 fun! netrwFileHandlers#Invoke(exten,fname)
 "  call Dfunc("netrwFileHandlers#Invoke(exten<".a:exten."> fname<".a:fname.">)")
 
--- a/runtime/autoload/tar.vim
+++ b/runtime/autoload/tar.vim
@@ -1,7 +1,7 @@
 " tar.vim: Handles browsing tarfiles
 "            AUTOLOAD PORTION
-" Date:			Mar 27, 2006
-" Version:		7
+" Date:			May 02, 2006
+" Version:		9
 " Maintainer:	Charles E Campbell, Jr <drchipNOSPAM at campbellfamily dot biz>
 " License:		Vim License  (see vim's :help license)
 "
@@ -24,7 +24,7 @@ set cpo&vim
 if exists("g:loaded_tar")
  finish
 endif
-let g:loaded_tar= "v7"
+let g:loaded_tar= "v9"
 "call Decho("loading autoload/tar.vim")
 
 " ---------------------------------------------------------------------
@@ -97,6 +97,7 @@ fun! tar#Browse(tarfile)
    " assuming cygwin
    let tarfile=substitute(system("cygpath -u ".tarfile),'\n$','','e')
   endif
+  let curlast= line("$")
   if tarfile =~# '\.\(gz\|tgz\)$'
 "   call Decho("exe silent r! gzip -d -c '".tarfile."'| tar -".g:tar_browseoptions." - ")
    exe "silent r! gzip -d -c '".tarfile."'| tar -".g:tar_browseoptions." - "
@@ -108,8 +109,27 @@ fun! tar#Browse(tarfile)
    exe "silent r! ".g:tar_cmd." -".g:tar_browseoptions." '".tarfile."'"
   endif
   if v:shell_error != 0
-   echohl Error | echo '***error*** (tar#Browse) while browsing; check your g:tar_browseoptions<".g:tar_browseoptions.">"
-"  call Dret("tar#Browse : w:tarfile<".w:tarfile.">")
+   echohl WarningMsg | echo "***warning*** (tar#Browse) please check your g:tar_browseoptions<".g:tar_browseoptions.">"
+   call inputsave()|call input("Press <cr> to continue")|call inputrestore()
+"   call Dret("tar#Browse : a:tarfile<".a:tarfile.">")
+   silent %d
+   let eikeep= &ei
+   set ei=BufReadCmd,FileReadCmd
+   exe "r ".a:tarfile
+   let &ei= eikeep
+   1d
+   return
+  endif
+  if line("$") == curlast || ( line("$") == (curlast + 1) && getline("$") =~? '\c\%(warning\|error\|inappropriate\|unrecognized\)')
+   echohl WarningMsg | echo "***warning*** (tar#Browse) ".a:tarfile." doesn't appear to be a tar file" | echohl None
+   call inputsave()|call input("Press <cr> to continue")|call inputrestore()
+   silent %d
+   let eikeep= &ei
+   set ei=BufReadCmd,FileReadCmd
+   exe "r ".a:tarfile
+   let &ei= eikeep
+   1d
+"   call Dret("tar#Browse : a:tarfile<".a:tarfile.">")
    return
   endif
 
@@ -147,12 +167,6 @@ fun! s:TarBrowseSelect()
   new
   wincmd _
   let s:tblfile_{winnr()}= curfile
-"  if has("unix")
-""   call Decho("exe e tarfile:".tarfile.':'.fname)
-"   exe "e tarfile:".tarfile.':'.fname
-"  elseif has("win32")
-"   call tar#Read("tarfile:".tarfile.':'.fname,1)
-"  endif
   call tar#Read("tarfile:".tarfile.':'.fname,1)
   filetype detect
 
--- 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 27, 2006
-" Version: 11
+" Date:   May 01, 2006
+" Version: 13
 " 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 = "v11"
+let g:loaded_vimball = "v13"
 set cpo&vim
 
 " =====================================================================
@@ -351,14 +351,20 @@ fun! s:SaveSettings()
 "  call Dfunc("SaveSettings()")
   let s:makeep  = getpos("'a")
   let s:regakeep= @a
-  let s:acdkeep = &acd
+  if exists("&acd")
+   let s:acdkeep = &acd
+  endif
   let s:eikeep  = &ei
   let s:fenkeep = &fen
   let s:hidkeep = &hidden
   let s:ickeep  = &ic
   let s:repkeep = &report
   let s:vekeep  = &ve
-  set ei=all ve=all noacd nofen noic report=999 nohid
+  if exists("&acd")
+   set ei=all ve=all noacd nofen noic report=999 nohid
+  else
+   set ei=all ve=all nofen noic report=999 nohid
+  endif
 "  call Dret("SaveSettings")
 endfun
 
@@ -367,7 +373,9 @@ endfun
 fun! s:RestoreSettings()
 "  call Dfunc("RestoreSettings()")
   let @a      = s:regakeep
-  let &acd    = s:acdkeep
+  if exists("&acd")
+   let &acd   = s:acdkeep
+  endif
   let &ei     = s:eikeep
   let &fen    = s:fenkeep
   let &hidden = s:hidkeep
@@ -379,7 +387,11 @@ fun! s:RestoreSettings()
 "   call Decho("restore mark-a: makeep=".string(makeep))
    call setpos("'a",s:makeep)
   endif
-  unlet s:regakeep s:acdkeep s:eikeep s:fenkeep s:hidkeep s:ickeep s:repkeep s:vekeep s:makeep
+  if exists("&acd")
+   unlet s:regakeep s:acdkeep s:eikeep s:fenkeep s:hidkeep s:ickeep s:repkeep s:vekeep s:makeep
+  else
+   unlet s:regakeep s:eikeep s:fenkeep s:hidkeep s:ickeep s:repkeep s:vekeep s:makeep
+  endif
 "  call Dret("RestoreSettings")
 endfun
 
--- a/runtime/autoload/zip.vim
+++ b/runtime/autoload/zip.vim
@@ -1,7 +1,7 @@
 " zip.vim: Handles browsing zipfiles
 "            AUTOLOAD PORTION
-" Date:			Apr 10, 2006
-" Version:		8
+" Date:			May 01, 2006
+" Version:		9
 " Maintainer:	Charles E Campbell, Jr <drchipNOSPAM at campbellfamily dot biz>
 " License:		Vim License  (see vim's :help license)
 " Copyright:    Copyright (C) 2005 Charles E. Campbell, Jr. {{{1
@@ -22,7 +22,7 @@ if exists("g:loaded_zip")
  finish
 endif
 
-let g:loaded_zip     = "v8"
+let g:loaded_zip     = "v9"
 let s:zipfile_escape = ' ?&;\'
 
 " ----------------
@@ -77,6 +77,18 @@ fun! zip#Browse(zipfile)
 
 "  call Decho("exe silent r! unzip -l '".a:zipfile."'")
   exe "silent r! unzip -l '".a:zipfile."'"
+  if v:shell_error != 0
+   echohl WarningMsg | echo "***warning*** (zip#Browse) ".a:zipfile." is not a zip file" | echohl None
+   call inputsave()|call input("Press <cr> to continue")|call inputrestore()
+   silent %d
+   let eikeep= &ei
+   set ei=BufReadCmd,FileReadCmd
+   exe "r ".a:zipfile
+   let &ei= eikeep
+   1d
+"   call Dret("zip#Browse")
+   return
+  endif
 "  call Decho("line 6: ".getline(6))
   let namecol= stridx(getline(6),'Name') + 1
 "  call Decho("namecol=".namecol)
@@ -127,8 +139,8 @@ fun! s:ZipBrowseSelect()
   new
   wincmd _
   let s:zipfile_{winnr()}= curfile
-"  call Decho("exe e zipfile:".escape(zipfile,s:zipfile_escape).':'.escape(fname,s:zipfile_escape))
-  exe "e zipfile:".escape(zipfile,s:zipfile_escape).':'.escape(fname,s:zipfile_escape)
+"  call Decho("exe e zipfile:".escape(zipfile,s:zipfile_escape).'::'.escape(fname,s:zipfile_escape))
+  exe "e zipfile:".escape(zipfile,s:zipfile_escape).'::'.escape(fname,s:zipfile_escape)
   filetype detect
 
   let &report= repkeep
@@ -142,9 +154,15 @@ fun! zip#Read(fname,mode)
   let repkeep= &report
   set report=10
 
-  let zipfile = substitute(a:fname,'zipfile:\(.\{-}\):[^\\].*$','\1','')
-  let fname   = substitute(a:fname,'zipfile:.\{-}:\([^\\].*\)$','\1','')
-"  call Decho("zipfile<".zipfile."> fname<".fname.">")
+  if has("unix")
+   let zipfile = substitute(a:fname,'zipfile:\(.\{-}\)::[^\\].*$','\1','')
+   let fname   = substitute(a:fname,'zipfile:.\{-}::\([^\\].*\)$','\1','')
+  else
+   let zipfile = substitute(a:fname,'^.\{-}zipfile:\(.\{-}\)::[^\\].*$','\1','')
+   let fname   = substitute(a:fname,'^.\{-}zipfile:.\{-}::\([^\\].*\)$','\1','')
+  endif
+"  call Decho("zipfile<".zipfile.">")
+"  call Decho("fname  <".fname.">")
 
 "  call Decho("exe r! unzip -p '".zipfile."' '".fname."'")
   exe "silent r! unzip -p '".zipfile."' '".fname."'"
@@ -209,8 +227,15 @@ fun! zip#Write(fname)
   cd _ZIPVIM_
 "  call Decho("current directory now: ".getcwd())
 
-  let zipfile = substitute(a:fname,'zipfile:\(.\{-}\):.*$','\1','')
-  let fname   = substitute(a:fname,'zipfile:.\{-}:\(.*\)$','\1','')
+  if has("unix")
+   let zipfile = substitute(a:fname,'zipfile:\(.\{-}\)::[^\\].*$','\1','')
+   let fname   = substitute(a:fname,'zipfile:.\{-}::\([^\\].*\)$','\1','')
+  else
+   let zipfile = substitute(a:fname,'^.\{-}zipfile:\(.\{-}\)::[^\\].*$','\1','')
+   let fname   = substitute(a:fname,'^.\{-}zipfile:.\{-}::\([^\\].*\)$','\1','')
+  endif
+"  call Decho("zipfile<".zipfile.">")
+"  call Decho("fname  <".fname.">")
 
   if fname =~ '/'
    let dirpath = substitute(fname,'/[^/]\+$','','e')
--- a/runtime/doc/debug.txt
+++ b/runtime/doc/debug.txt
@@ -1,4 +1,4 @@
-*debug.txt*     For Vim version 7.0g.  Last change: 2006 Apr 30
+*debug.txt*     For Vim version 7.0g.  Last change: 2006 May 01
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -47,9 +47,9 @@ some steps to provide a useful bug repor
 GENERIC ~
 
 You must obtain the debugger symbols (PDB) file for your executable: gvim.pdb
-for gvim.exe, or vim.pdb for vim.exe. It should be available from the same
-place that you obtained the executable. Be sure to use the PDB that matches
-the EXE (same date).
+for gvim.exe, or vim.pdb for vim.exe. The PDB should be available from the
+same place that you obtained the executable. Be sure to use the PDB that
+matches the EXE (same date).
 
 If you built the executable yourself with the Microsoft Visual C++ compiler,
 then the PDB was built with the EXE.
@@ -65,10 +65,11 @@ a Vim executable compiled with the Borla
 |debug-gcc|) for the Cygwin and MinGW compilers.
 
 
-Debugging Vim crashes with Visual Studio 2005/Visual C++ 2005 Express ~
+								*debug-vs2005*
+2.2 Debugging Vim crashes with Visual Studio 2005/Visual C++ 2005 Express ~
 
 First launch vim.exe or gvim.exe and then launch Visual Studio.  (If you don't
-have Visual Studio, follow the instructions in src/INSTALLpc.txt to obtain a
+have Visual Studio, follow the instructions at |get-ms-debuggers| to obtain a
 free copy of Visual C++ 2005 Express Edition.)
 
 On the Tools menu, click Attach to Process.  Choose the Vim process.
@@ -94,18 +95,57 @@ at ":help bug-reports".  Paste the call 
 If you have a non-free version of Visual Studio, you can save a minidump via
 the Debug menu and send it with the bug report.  A minidump is a small file
 (<100KB), which contains information about the state of your process.
+Visual C++ 2005 Express Edition cannot save minidumps and it cannot be
+installed as a just-in-time debugger. Use WinDbg, |debug-windbg|, if you
+need to save minidumps or you want a just-in-time (postmortem) debugger.
 
+								*debug-windbg*
+2.3 Debugging Vim crashes with WinDbg ~
+
+See |get-ms-debuggers| to obtain a copy of WinDbg.
 
-Debugging Vim with Debugging Tools ~
+As with the Visual Studio IDE, you can attach WinDbg to a running Vim process.
+You can also have your system automatically invoke WinDbg as a postmortem
+debugger. To set WinDbg as your postmortem debugger, run "windbg -I".
+
+To attach WinDbg to a running Vim process, launch WinDbg. On the File menu,
+choose Attach to a Process. Select the Vim process and click OK.
+
+At this point, choose Symbol File Path on the File menu, and add the folder
+containing your Vim PDB to the sympath. If you have Vim source available,
+use Source File Path on the File menu. You can now open source files in WinDbg
+and set breakpoints, if you like. Reproduce your crash. WinDbg should open the
+source file at the point of the crash. Using the View menu, you can examine
+the call stack, local variables, watch windows, and so on.
 
-You can download the Microsoft Visual C++ Toolkit from
-    http://msdn.microsoft.com/visualc/vctoolkit2003/
-This contains the command-line tools, but not the Visual Studio IDE.
+If WinDbg is your postmortem debugger, you do not need to attach WinDbg to
+your Vim process. Simply reproduce the crash and WinDbg will launch
+automatically. As above, set the Symbol File Path and the Source File Path.
+
+To save a minidump, type the following at the WinDbg command line: >
+        .dump vim.dmp
+<
+							*debug-minidump*
+2.4 Opening a Minidump ~
+
+If you have a minidump file, you can open it in Visual Studio or in WinDbg.
 
-The Debugging Tools for Windows can be downloaded from
+In Visual Studio 2005: on the File menu, choose Open, then Project/Solution.
+Navigate to the .dmp file and open it. Now press F5 to invoke the debugger.
+Follow the instructions in |debug-vs2005| to set the Symbol File Path.
+
+In WinDbg: choose Open Crash Dump on the File menu. Follow the instructions in
+|debug-windbg| to set the Symbol File Path.
+
+							*get-ms-debuggers*
+2.5 Obtaining Microsoft Debugging Tools ~
+
+The Debugging Tools for Windows (including WinDbg) can be downloaded from
     http://www.microsoft.com/whdc/devtools/debugging/default.mspx
 This includes the WinDbg debugger.
 
+Visual C++ 2005 Express Edition can be downloaded for free from:
+    http://msdn.microsoft.com/vstudio/express/visualC/default.aspx
 
 =========================================================================
  vim:tw=78:ts=8:ft=help:norl:
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1,4 +1,4 @@
-*eval.txt*      For Vim version 7.0g.  Last change: 2006 Apr 30
+*eval.txt*      For Vim version 7.0g.  Last change: 2006 May 01
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -5178,6 +5178,7 @@ profile			Compiled with |:profile| suppo
 python			Compiled with Python interface.
 qnx			QNX version of Vim.
 quickfix		Compiled with |quickfix| support.
+reltime			Compiled with |reltime()| support.
 rightleft		Compiled with 'rightleft' support.
 ruby			Compiled with Ruby interface |ruby|.
 scrollbind		Compiled with 'scrollbind' support.
--- a/runtime/doc/insert.txt
+++ b/runtime/doc/insert.txt
@@ -1,4 +1,4 @@
-*insert.txt*    For Vim version 7.0g.  Last change: 2006 Apr 30
+*insert.txt*    For Vim version 7.0g.  Last change: 2006 May 01
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -1109,7 +1109,7 @@ Vim can display the matches in a simplis
 The menu is used when:
 - The 'completeopt' option contains "menu" or "menuone".
 - The terminal supports at least 8 colors.
-- There are at least two matches.  One of "menuone" is used.
+- There are at least two matches.  One if "menuone" is used.
 
 The 'pumheight' option can be used to set a maximum height.  The default is to
 use all space available.
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -1,4 +1,4 @@
-*options.txt*	For Vim version 7.0g.  Last change: 2006 Apr 30
+*options.txt*	For Vim version 7.0g.  Last change: 2006 May 02
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -3342,8 +3342,8 @@ A jump table for the options with a shor
 	  'e'	Add tab pages when indicated with 'showtabline'.
 		'guitablabel' can be used to change the text in the labels.
 		When 'e' is missing a non-GUI tab pages line may be used.
-		The GUI tabs are only supported on some systens, currently
-		only for GTK.
+		The GUI tabs are only supported on some systems, currently
+		GTK, Motif and MS-Windows.
 
 	  'f'	Foreground: Don't use fork() to detach the GUI from the shell
 		where it was started.  Use this for programs that wait for the
@@ -3412,8 +3412,8 @@ A jump table for the options with a shor
 			{only available when compiled with GUI enabled and
 			with the +windows feature}
 	When nonempty describes the text to use in a label of the GUI tab
-	pages line.  When empty Vim will use a default label.  See
-	|setting-guitablabel| for more info.
+	pages line.  When empty and when the result is empty Vim will use a
+	default label.  See |setting-guitablabel| for more info.
 
 	The format of this option is like that of 'statusline'.
 	'guitabtooltip' is used for the tooltip, see below.
@@ -3432,8 +3432,6 @@ A jump table for the options with a shor
 	pages line.  When empty Vim will use a default tooltip.
 	This option is otherwise just like 'guitablabel' above.
 
-	The tooltip only works for some systems.
-
 
 						*'helpfile'* *'hf'*
 'helpfile' 'hf'		string	(default (MSDOS)  "$VIMRUNTIME\doc\help.txt"
--- a/runtime/doc/pi_netrw.txt
+++ b/runtime/doc/pi_netrw.txt
@@ -1,6 +1,6 @@
-*pi_netrw.txt*  For Vim version 7.0g.  Last change: 2006 Apr 30
+*pi_netrw.txt*  For Vim version 7.0g.  Last change: 2006 May 02
 
-		VIM REFERENCE MANUAL    by Charles E. Campbell, Jr.
+		NETRW REFERENCE MANUAL	  by Charles E. Campbell, Jr.
 
 
 *dav*		*http*		*network*	*rcp*		*scp*
@@ -458,7 +458,7 @@ see |netrw-urls|).
 		effectively remove the user-id and password by using ""
 		strings.
 
-:NetrwSettings  This command is desribed in |netrw-settings| -- used to
+:NetrwSettings	This command is desribed in |netrw-settings| -- used to
 		display netrw settings and change netrw behavior.
 
 
@@ -672,7 +672,7 @@ MAPS								*netrw-maps*
 
 QUICK REFERENCE COMMANDS TABLE				*netrw-browse-cmds*
 >
-	-------	-----------
+        -------	-----------
 	Command	Explanation
 	-------	-----------
 <	<F1>	Causes Netrw to issue help
@@ -1473,6 +1473,13 @@ which is loaded automatically at startup
 ==============================================================================
 11. History						*netrw-history* {{{1
 
+	v98: May 02, 2006 * the "p" key didn't work properly when the browsing
+			    directory name had spaces in it.
+	v97: May 01, 2006 * exists("&acd") now used to determine if
+			    the 'acd' option exists
+			  * "obtain" now works again under Windows
+	v96: * bugfix - the |'acd'| option is not always defined but is
+	       now bypassed only when it is
 	v95: * bugfix - Hiding mode worked correctly (don't show any file
 	       matching any of the g:netrw_hide patterns), but
 	       but showing mode was showing only those files that didn't
--- a/runtime/doc/pi_tar.txt
+++ b/runtime/doc/pi_tar.txt
@@ -1,4 +1,4 @@
-*pi_tar.txt*	For Vim version 7.0g.  Last change: 2006 Apr 30
+*pi_tar.txt*	For Vim version 7.0g.  Last change: 2006 May 02
 
 		       +====================+
 		       | Tar File Interface |
@@ -36,12 +36,15 @@ 3. Options						*tar-options*
    *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_writeoptions*   "uf"    used to update/replace a file
+   *g:tar_writeoptions*   "uf"	  used to update/replace a file
 
 
 ==============================================================================
 4. History						*tar-history*
 
+   v9 May 02, 2006 * improved detection of masquerading as tar file
+   v8 May 02, 2006 * allows editing of files that merely masquerade as tar
+		     files
    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,
--- a/runtime/doc/pi_vimball.txt
+++ b/runtime/doc/pi_vimball.txt
@@ -1,4 +1,4 @@
-*pi_vimball.txt*	For Vim version 7.0g.  Last change: 2006 Apr 30
+*pi_vimball.txt*	For Vim version 7.0g.  Last change: 2006 May 01
 
 			       ----------------
 			       Vimball Archiver
@@ -61,6 +61,9 @@ 2. Vimball Manual					*vimball-manual*
 ==============================================================================
 3. Vimball History					*vimball-history* {{{1
 
+	13 : May 01, 2006 * exists("&acd") used to determine if the acd
+			    option exists
+	12 : May 01, 2006 * bugfix - the |'acd'| option is not always defined
 	11 : Apr 27, 2006 * VimballList would create missing subdirectories that
 			    the vimball specified were needed.	Fixed.
 	10 : Apr 27, 2006 * moved all setting saving/restoration to a pair of
--- a/runtime/doc/pi_zip.txt
+++ b/runtime/doc/pi_zip.txt
@@ -1,4 +1,4 @@
-*pi_zip.txt*	For Vim version 7.0g.  Last change: 2006 Apr 30
+*pi_zip.txt*	For Vim version 7.0g.  Last change: 2006 May 01
 
 				+====================+
 				| Zip File Interface |
--- a/runtime/doc/syntax.txt
+++ b/runtime/doc/syntax.txt
@@ -1021,6 +1021,23 @@ your .vimrc: >
 	:let erlang_characters = 1
 
 
+FLEXWIKI				*flexwiki.vim* *ft-flexwiki-syntax*
+
+FlexWiki is an ASP.NET-based wiki package available at http://www.flexwiki.com
+
+Syntax highlighting is available for the most common elements of FlexWiki
+syntax. The associated ftplugin script sets some buffer-local options to make
+editing FlexWiki pages more convenient. FlexWiki considers a newline as the
+start of a new paragraph, so the ftplugin sets 'tw'=0 (unlimited line length),
+'wrap' (wrap long lines instead of using horizontal scrolling), 'linebreak'
+(to wrap at a character in 'breakat' instead of at the last char on screen),
+and so on. It also includes some keymaps that are disabled by default.
+
+If you want to enable the keymaps that make "j" and "k" and the cursor keys
+move up and down by display lines, add this to your .vimrc: >
+	:let flexwiki_maps = 1
+
+
 FORM						*form.vim* *ft-form-syntax*
 
 The coloring scheme for syntax elements in the FORM file uses the default
--- a/runtime/doc/tabpage.txt
+++ b/runtime/doc/tabpage.txt
@@ -1,4 +1,4 @@
-*tabpage.txt*   For Vim version 7.0g.  Last change: 2006 Apr 26
+*tabpage.txt*   For Vim version 7.0g.  Last change: 2006 May 02
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -362,5 +362,10 @@ windows in the tab page and a '+' if the
 Note that the function must be defined before setting the option, otherwise
 you get an error message for the function not being known.
 
+If you want to fall back to the default label, return an empty string.
+
+If you want to show something specific for a tab page, you might want to use a
+tab page local variable. |t:var|
+
 
  vim:tw=78:ts=8:ft=help:norl:
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -4897,11 +4897,14 @@ daw	motion.txt	/*daw*
 dd	change.txt	/*dd*
 debug-gcc	debug.txt	/*debug-gcc*
 debug-highlight	debugger.txt	/*debug-highlight*
+debug-minidump	debug.txt	/*debug-minidump*
 debug-mode	repeat.txt	/*debug-mode*
 debug-scripts	repeat.txt	/*debug-scripts*
 debug-signs	debugger.txt	/*debug-signs*
 debug-vim	debug.txt	/*debug-vim*
+debug-vs2005	debug.txt	/*debug-vs2005*
 debug-win32	debug.txt	/*debug-win32*
+debug-windbg	debug.txt	/*debug-windbg*
 debug.txt	debug.txt	/*debug.txt*
 debugger-compilation	debugger.txt	/*debugger-compilation*
 debugger-features	debugger.txt	/*debugger-features*
@@ -5196,6 +5199,7 @@ fixed-6.1	version6.txt	/*fixed-6.1*
 fixed-6.2	version6.txt	/*fixed-6.2*
 fixed-6.3	version6.txt	/*fixed-6.3*
 fixed-6.4	version6.txt	/*fixed-6.4*
+flexwiki.vim	syntax.txt	/*flexwiki.vim*
 fname_diff-variable	eval.txt	/*fname_diff-variable*
 fname_in-variable	eval.txt	/*fname_in-variable*
 fname_new-variable	eval.txt	/*fname_new-variable*
@@ -5273,6 +5277,7 @@ ft-dosbatch-syntax	syntax.txt	/*ft-dosba
 ft-dtd-syntax	syntax.txt	/*ft-dtd-syntax*
 ft-eiffel-syntax	syntax.txt	/*ft-eiffel-syntax*
 ft-erlang-syntax	syntax.txt	/*ft-erlang-syntax*
+ft-flexwiki-syntax	syntax.txt	/*ft-flexwiki-syntax*
 ft-form-syntax	syntax.txt	/*ft-form-syntax*
 ft-fortran-indent	indent.txt	/*ft-fortran-indent*
 ft-fortran-plugin	filetype.txt	/*ft-fortran-plugin*
@@ -5473,6 +5478,7 @@ garbagecollect()	eval.txt	/*garbagecolle
 gd	pattern.txt	/*gd*
 ge	motion.txt	/*ge*
 get()	eval.txt	/*get()*
+get-ms-debuggers	debug.txt	/*get-ms-debuggers*
 getbufline()	eval.txt	/*getbufline()*
 getbufvar()	eval.txt	/*getbufvar()*
 getchar()	eval.txt	/*getchar()*
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 7.0g.  Last change: 2006 Apr 30
+*todo.txt*      For Vim version 7.0g.  Last change: 2006 May 02
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -30,6 +30,27 @@ be worked on, but only if you sponsor Vi
 							*known-bugs*
 -------------------- Known bugs and current work -----------------------
 
+Session file can contain:
+    args version.c main.c
+    edit version.c
+Can that be avoided?
+
+With 'mousefocus' set and using text tabline don't select first window.
+
+The Hungarian spell file uses different FOL/UPP/LOW items than other spell
+files with the same encoding, that causes problem when changing 'spelllang'.
+Clear character table when switching it?  Adjust Hungarian?
+
+Quickfix windows in different tabs should use same buffer, there is only one
+quickfix list.
+
+let exists() not ignore trailing text?
+
+Include new Python syntax file? (dharana)
+
+indent/html.vim doesn't restore 'ignorecase' and 'cpo'.
+
+
 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?
@@ -584,6 +605,8 @@ 8   Handling of non-fixed width fonts is
 
 
 "Small" problems:
+9   For Turkish vim_tolower() and vim_toupper() also need to use utf_
+    functions for characters below 0x80. (Sertacyildiz)
 9   When the last edited file is a help file, using '0 in a new Vim doesn't
     edit the file as a help file.
 8   When an ":edit" is inside a try command and the ATTENTION prompt is used,
@@ -1810,6 +1833,9 @@ 9   With ":set tags=./tags,../tags" and 
     match.  Remove tag_fname from the match and combine it with the fname in
     the match (without expanding or other things that take time).  When
     'tagrelative' is off tag_fname isn't needed at all.
+8   Use a mechanism similar to omni completion to figure out the kind of tab
+    for CTRL-] and jump to the appropriate matching tag (if there are
+    several).
 7   Can CTRL-] (jump to tag) include a following "." and "->" to restrict the
     number of possible matches? Check tags file for an item that has members.
     (Flemming Madsen)
--- a/runtime/doc/version7.txt
+++ b/runtime/doc/version7.txt
@@ -1,4 +1,4 @@
-*version7.txt*  For Vim version 7.0g.  Last change: 2006 Apr 30
+*version7.txt*  For Vim version 7.0g.  Last change: 2006 May 02
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -2830,5 +2830,40 @@ towupper() and towlower() were not used,
 For ":map <expr>" forbid changing the text, jumping to another buffer and
 using ":normal" to avoid nasty side effects.
 
+--- fixes and changes since Vim 7.0g ---
+
+Compilation error on HP-UX, use of "dlerr" must be inside a #ifdef.
+(Gary Johnson)
+
+Report +reltime feature in ":version" output.
+
+The tar and zip plugins detect failure to get the contents of the archive and
+edit the file as-is.
+
+When the result of 'guitablabel' is empty fall back to the default label.
+
+Fixed crash when using ":insert" in a while loop and missing "endwhile".
+
+"gt" and other commands could move to another window when |textlock| active
+and when the command line window was open.
+
+Spell checking a file with syntax highlighting and a bad word at the end of
+the line is ignored could make "]s" hang.
+
+Mac: inputdialog() didn't work when compiled with big features.
+
+Interrupting ":vimgrep" while it is busy loading a file left a modified and
+hidden buffer behind.  Use enter_cleanup() and leave_cleanup() around
+wipe_buffer().
+
+When making 'keymap' empty the b:keymap_name variable wasn't deleted.
+
+Using CTRL-N that searches a long time, pressing space to interrupt the
+searching and accept the first match, the popup menu was still displayed
+briefly.
+
+When setting the Vim window height with -geometry the 'window' option could be
+at a value that makes CTRL-F behave differently.
+
 
  vim:tw=78:ts=8:ft=help:norl:
--- 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 30
+" Last Change:	2006 May 02
 
 " Listen very carefully, I will say this only once
 if exists("did_load_filetypes")
@@ -1589,7 +1589,7 @@ au BufNewFile,BufRead *.sim			setf simul
 au BufNewFile,BufRead *.sin,*.s85		setf sinda
 
 " SiSU
-au BufNewFile,BufRead *.sst,*.ssm,*.ssi,*.-sst,*._ssi setf sisu
+au BufNewFile,BufRead *.sst,*.ssm,*.ssi,*.-sst,*._sst setf sisu
 au BufNewFile,BufRead *.sst.meta,*.-sst.meta,*._sst.meta setf sisu
 
 " SKILL
@@ -1630,8 +1630,8 @@ au BufNewFile,BufRead *.smi
 " SMITH
 au BufNewFile,BufRead *.smt,*.smith		setf smith
 
-" Snobol4
-au BufNewFile,BufRead *.sno			setf snobol4
+" Snobol4 and spitbol
+au BufNewFile,BufRead *.sno,*.spt		setf snobol4
 
 " SNMP MIB files
 au BufNewFile,BufRead *.mib,*.my		setf mib
--- a/runtime/ftplugin/verilog.vim
+++ b/runtime/ftplugin/verilog.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:	Verilog HDL
 " Maintainer:	Chih-Tsun Huang <cthuang@larc.ee.nthu.edu.tw>
-" Last Change:	Mon Sep  5 11:05:54 CST 2005
+" Last Change:	Mon Sep  5 11:05:54 CST 2005 and 2006 April 30
 " URL:		http://larc.ee.nthu.edu.tw/~cthuang/vim/ftplugin/verilog.vim
 
 " Only do this when not done yet for this buffer
@@ -14,7 +14,7 @@ let b:did_ftplugin = 1
 
 " Undo the plugin effect
 let b:undo_ftplugin = "setlocal fo< com< tw<"
-    \ . "| unlet b:browsefilter b:match_ignorecase b:match_words"
+    \ . "| unlet! b:browsefilter b:match_ignorecase b:match_words"
 
 " Set 'formatoptions' to break comment lines but not other lines,
 " and insert the comment leader when hitting <CR> or using "o".
--- a/runtime/lang/menu_chinese_gb.936.vim
+++ b/runtime/lang/menu_chinese_gb.936.vim
@@ -16,11 +16,10 @@ scriptencoding cp936
 menutrans &Help			°ïÖú(&H)
 menutrans &Overview<Tab><F1>	×ÝÀÀ(&O)<Tab><F1>
 menutrans &User\ Manual		Óû§ÊÖ²á(&U)
-menutrans &How-to\ links	How-to\ Á¬½Ó(&H)
+menutrans &How-to\ links	How-to\ Ö¸Òý(&H)
 menutrans &Find\.\.\.		²éÕÒ(&F)\.\.\.
-menutrans &Credits		×÷Õß(&C)
+menutrans &Credits		ÖÂл(&C)
 menutrans Co&pying		°æȨ(&P)
-menutrans &Version		°æ±¾(&V)
 menutrans &Sponsor/Register	ÔÞÖú/×¢²á(&S)
 menutrans O&rphans		¹Â¶ù(&R)
 menutrans &Version		°æ±¾(&V)
@@ -104,7 +103,7 @@ menutrans Te&xt\ Width\.\.\.		Îı¾¿í¶È(&X)\.\.\.
 menutrans &File\ Format\.\.\.		Îļþ¸ñʽ(&F)\.\.\.
 menutrans C&olor\ Scheme		ÅäÉ«·½°¸(&O)
 menutrans Select\ Fo&nt\.\.\.		Ñ¡Ôñ×ÖÌå(&N)\.\.\.
-menutrans &Keymap			Keymap(&K)
+menutrans &Keymap			¼üÅÌÓ³Éä(&K)
 
 " Programming menu
 menutrans &Tools			¹¤¾ß(&T)
@@ -252,11 +251,11 @@ endif
 
 " Syntax menu
 menutrans &Syntax			Óï·¨(&S)
+menutrans &Show\ filetypes\ in\ menu	Ôڲ˵¥ÖÐÏÔʾÎļþÀàÐÍ(&S)
+menutrans &Off				¹Ø±Õ(&O)
 menutrans &Manual			ÊÖ¹¤(&M)
 menutrans A&utomatic			×Ô¶¯(&U)
 menutrans on/off\ for\ &This\ file	½ö¶ÔÕâ¸öÎļþ¿ª/¹Ø(&T)
-menutrans &Show\ filetypes\ in\ menu	Ôڲ˵¥ÖÐÏÔʾÎļþÀàÐÍ(&S)
-menutrans &Off				¹Ø±Õ(&O)
 menutrans Co&lor\ test			É«²Ê²âÊÔ(&L)
 menutrans &Highlight\ test		¸ßÁÁ²âÊÔ(&H)
 menutrans &Convert\ to\ HTML		ת»»³É\ HTML(&C)
--- a/runtime/lang/menu_zh_cn.gb2312.vim
+++ b/runtime/lang/menu_zh_cn.gb2312.vim
@@ -16,11 +16,10 @@ scriptencoding gb2312
 menutrans &Help			°ïÖú(&H)
 menutrans &Overview<Tab><F1>	×ÝÀÀ(&O)<Tab><F1>
 menutrans &User\ Manual		Óû§ÊÖ²á(&U)
-menutrans &How-to\ links	How-to\ Á¬½Ó(&H)
+menutrans &How-to\ links	How-to\ Ö¸Òý(&H)
 menutrans &Find\.\.\.		²éÕÒ(&F)\.\.\.
-menutrans &Credits		×÷Õß(&C)
+menutrans &Credits		ÖÂл(&C)
 menutrans Co&pying		°æȨ(&P)
-menutrans &Version		°æ±¾(&V)
 menutrans &Sponsor/Register	ÔÞÖú/×¢²á(&S)
 menutrans O&rphans		¹Â¶ù(&R)
 menutrans &Version		°æ±¾(&V)
@@ -104,7 +103,7 @@ menutrans Te&xt\ Width\.\.\.		Îı¾¿í¶È(&X)\.\.\.
 menutrans &File\ Format\.\.\.		Îļþ¸ñʽ(&F)\.\.\.
 menutrans C&olor\ Scheme		ÅäÉ«·½°¸(&O)
 menutrans Select\ Fo&nt\.\.\.		Ñ¡Ôñ×ÖÌå(&N)\.\.\.
-menutrans &Keymap			Keymap(&K)
+menutrans &Keymap			¼üÅÌÓ³Éä(&K)
 
 " Programming menu
 menutrans &Tools			¹¤¾ß(&T)
@@ -252,11 +251,11 @@ endif
 
 " Syntax menu
 menutrans &Syntax			Óï·¨(&S)
+menutrans &Show\ filetypes\ in\ menu	Ôڲ˵¥ÖÐÏÔʾÎļþÀàÐÍ(&S)
+menutrans &Off				¹Ø±Õ(&O)
 menutrans &Manual			ÊÖ¹¤(&M)
 menutrans A&utomatic			×Ô¶¯(&U)
 menutrans on/off\ for\ &This\ file	½ö¶ÔÕâ¸öÎļþ¿ª/¹Ø(&T)
-menutrans &Show\ filetypes\ in\ menu	Ôڲ˵¥ÖÐÏÔʾÎļþÀàÐÍ(&S)
-menutrans &Off				¹Ø±Õ(&O)
 menutrans Co&lor\ test			É«²Ê²âÊÔ(&L)
 menutrans &Highlight\ test		¸ßÁÁ²âÊÔ(&H)
 menutrans &Convert\ to\ HTML		ת»»³É\ HTML(&C)
--- a/runtime/lang/menu_zh_cn.utf-8.vim
+++ b/runtime/lang/menu_zh_cn.utf-8.vim
@@ -16,11 +16,10 @@ scriptencoding utf-8
 menutrans &Help			帮助(&H)
 menutrans &Overview<Tab><F1>	纵览(&O)<Tab><F1>
 menutrans &User\ Manual		用户手册(&U)
-menutrans &How-to\ links	How-to\ 连接(&H)
+menutrans &How-to\ links	How-to\ 指引(&H)
 menutrans &Find\.\.\.		查找(&F)\.\.\.
-menutrans &Credits		作者(&C)
+menutrans &Credits		致谢(&C)
 menutrans Co&pying		版æƒ(&P)
-menutrans &Version		版本(&V)
 menutrans &Sponsor/Register	赞助/注册(&S)
 menutrans O&rphans		孤儿(&R)
 menutrans &Version		版本(&V)
@@ -104,7 +103,7 @@ menutrans Te&xt\ Width\.\.\.		文本宽度(&X)\.\.\.
 menutrans &File\ Format\.\.\.		文件格å¼(&F)\.\.\.
 menutrans C&olor\ Scheme		é…色方案(&O)
 menutrans Select\ Fo&nt\.\.\.		选择字体(&N)\.\.\.
-menutrans &Keymap			Keymap(&K)
+menutrans &Keymap			键盘映射(&K)
 
 " Programming menu
 menutrans &Tools			工具(&T)
@@ -252,11 +251,11 @@ endif
 
 " Syntax menu
 menutrans &Syntax			语法(&S)
+menutrans &Show\ filetypes\ in\ menu	在èœå•ä¸­æ˜¾ç¤ºæ–‡ä»¶ç±»åž‹(&S)
+menutrans &Off				关闭(&O)
 menutrans &Manual			手工(&M)
 menutrans A&utomatic			自动(&U)
 menutrans on/off\ for\ &This\ file	仅对这个文件开/关(&T)
-menutrans &Show\ filetypes\ in\ menu	在èœå•ä¸­æ˜¾ç¤ºæ–‡ä»¶ç±»åž‹(&S)
-menutrans &Off				关闭(&O)
 menutrans Co&lor\ test			色彩测试(&L)
 menutrans &Highlight\ test		高亮测试(&H)
 menutrans &Convert\ to\ HTML		转æ¢æˆ\ HTML(&C)
--- a/runtime/plugin/vimballPlugin.vim
+++ b/runtime/plugin/vimballPlugin.vim
@@ -12,7 +12,7 @@
 if &cp || exists("g:loaded_vimball") || exists("g:loaded_vimballplugin")
  finish
 endif
-let g:loaded_vimballplugin = 1
+let g:loaded_vimballplugin= 1
 
 let s:keepcpo= &cpo
 set cpo&vim
--- a/runtime/syntax/c.vim
+++ b/runtime/syntax/c.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:	C
 " Maintainer:	Bram Moolenaar <Bram@vim.org>
-" Last Change:	2006 Apr 24
+" Last Change:	2006 May 01
 
 " Quit when a (custom) syntax file was already loaded
 if exists("b:current_syntax")
@@ -289,8 +289,8 @@ syn match	cUserCont	display ";\s*\I\i*\s
 syn match	cUserLabel	display "\I\i*" contained
 
 " Avoid recognizing most bitfields as labels
-syn match	cBitField	display "^\s*\I\i*\s*:\s*[1-9]"me=e-1
-syn match	cBitField	display ";\s*\I\i*\s*:\s*[1-9]"me=e-1
+syn match	cBitField	display "^\s*\I\i*\s*:\s*[1-9]"me=e-1 contains=cType
+syn match	cBitField	display ";\s*\I\i*\s*:\s*[1-9]"me=e-1 contains=cType
 
 if exists("c_minlines")
   let b:c_minlines = c_minlines
--- a/runtime/syntax/debcontrol.vim
+++ b/runtime/syntax/debcontrol.vim
@@ -1,10 +1,10 @@
 " Vim syntax file
 " Language:	Debian control files
-" Maintainer:	Gerfried Fuchs <alfie@debian.org>
-" Last Change:  29 Oct 2004
-" URL:          http://alfie.ist.org/software/vim/syntax/debcontrol.vim
-"
-" Original Version: Wichert Akkerman <wakkerma@debian.org>
+" Maintainer:  Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
+" Former Maintainers: Gerfried Fuchs <alfie@ist.org>
+"                     Wichert Akkerman <wakkerma@debian.org>
+" Last Change: $LastChangedDate: 2006-04-16 21:50:31 -0400 (Sun, 16 Apr 2006) $
+" URL: http://svn.debian.org/wsvn/pkg-vim/trunk/runtime/syntax/debcontrol.vim?op=file&rev=0&sc=0
 
 " Comments are very welcome - but please make sure that you are commenting on
 " the latest version of this file.
@@ -25,7 +25,7 @@ syn match debControlComma ", *"
 syn match debControlSpace " "
 
 " Define some common expressions we can use later on
-syn match debcontrolArchitecture contained "\(all\|any\|alpha\|amd64\|arm\|hppa\|i386\|ia64\|m68k\|mipsel\|mips\|powerpc\|s390\|sheb\|sh\|sparc64\|sparc\|hurd-i386\|kfreebsd-i386\|knetbsd-i386\|netbsd-i386\)"
+syn match debcontrolArchitecture contained "\(all\|any\|alpha\|amd64\|arm\(eb\)\=\|hppa\|i386\|ia64\|m32r\|m68k\|mipsel\|mips\|powerpc\|ppc64\|s390\|sheb\|sh\|sparc64\|sparc\|hurd-i386\|kfreebsd-\(i386\|gnu\)\|knetbsd-i386\|netbsd-\(alpha\|i386\)\)"
 syn match debcontrolName contained "[a-z][a-z0-9+-]*"
 syn match debcontrolPriority contained "\(extra\|important\|optional\|required\|standard\)"
 syn match debcontrolSection contained "\(\(contrib\|non-free\|non-US/main\|non-US/contrib\|non-US/non-free\)/\)\=\(admin\|base\|comm\|devel\|doc\|editors\|electronics\|embedded\|games\|gnome\|graphics\|hamradio\|interpreters\|kde\|libs\|libdevel\|mail\|math\|misc\|net\|news\|oldlibs\|otherosfs\|perl\|python\|science\|shells\|sound\|text\|tex\|utils\|web\|x11\|debian-installer\)"
--- a/runtime/syntax/sisu.vim
+++ b/runtime/syntax/sisu.vim
@@ -22,7 +22,7 @@ if !exists("sisu_no_identifiers")
   syn match   sisu_control                           "\""
   syn match   sisu_underline                         "\(^\| \)_[a-zA-Z0-9]\+_\([ .,]\|$\)"
   syn match   sisu_number        contains=@NoSpell   "[0-9a-f]\{32\}\|[0-9a-f]\{64\}"
-  syn match   sisu_link          contains=@NoSpell   "\(http://\|\.\.\/\)\S\+"
+  syn match   sisu_link          contains=@NoSpell   "\(https\?://\|\.\.\/\)\S\+"
   "metaverse specific
   syn match   sisu_ocn           contains=@NoSpell   "<\~\d\+;\w\d\+;\w\d\+>"
   syn match   sisu_marktail                          "<\~#>"
@@ -57,7 +57,7 @@ syn region sisu_content_alt contains=sis
 syn region sisu_content_endnote contains=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,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 matchgroup=sisu_link start="{" end="}\(\(http://\|\.\./\)\S\+\|image\)" oneline
+syn region sisu_linked contains=sisu_fontface,sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_link start="{" end="}\(\(https\?://\|\.\./\)\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 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 matchgroup=sisu_markpara start="^_\([12*]\|[12]\*\) " end="$"
@@ -103,9 +103,9 @@ syn region  sisu_markpara contains=sisu_
 syn match sisu_error_wspace contains=sisu_error_wspace "^\s\+"
 syn match sisu_error_wspace contains=sisu_error_wspace "\s\s\+"
 syn match sisu_error_wspace contains=sisu_error_wspace  " \s*$"
-syn match sisu_error contains=sisu_error,sisu_error_wspace "[^ (}]http:\S\+"
+syn match sisu_error contains=sisu_error,sisu_error_wspace "[^ (}]https\?:\S\+"
 syn match sisu_error contains=sisu_error_wspace "\t\+"
-syn match sisu_error contains=sisu_error "http:\S\+[}><]"
+syn match sisu_error contains=sisu_error "https\?:\S\+[}><]"
 syn match sisu_error contains=sisu_error "\([!*/_\+,^]\){\([^(\}\1)]\)\{-}\n\n"
 syn match sisu_error contains=sisu_error "^[\-\~]{[^{]\{-}\n\n"
 syn match sisu_error contains=sisu_error "\s\+.{{"
@@ -125,8 +125,8 @@ syn match sisu_error  "/\?<\([biu]\)>[^(
 syn match sisu_control "\n\n" "contains=ALL
 syn match sisu_control " //"
 syn match sisu_error  "%{"
-syn match sisu_error "<br>http:\S\+\|http:\S\+<br>"
-syn match sisu_error "[><]http:\S\+\|http:\S\+[><]"
+syn match sisu_error "<br>https\?:\S\+\|https\?:\S\+<br>"
+syn match sisu_error "[><]https\?:\S\+\|https\?:\S\+[><]"
 "% 2 Definitions - Define the default highlighting.
 if version >= 508 || !exists("did_sisu_syntax_inits")
   if version < 508
--- a/runtime/syntax/snobol4.vim
+++ b/runtime/syntax/snobol4.vim
@@ -1,7 +1,10 @@
 " Vim syntax file
 " Language:     SNOBOL4
 " Maintainer:   Rafal Sulejman <rms@poczta.onet.pl>
-" Last change:  2004 May 16
+" Site: http://rms.republika.pl/vim/syntax/snobol4.vim
+" Last change:  2006 may 1
+" Changes: 
+" - nonexistent Snobol4 keywords displayed as errors.
 
 " For version 5.x: Clear all syntax items
 " For version 6.x: Quit when a syntax file was already loaded
@@ -13,48 +16,49 @@ endif
 
 syntax case ignore
 " Vanilla Snobol4 keywords
-syn keyword	snobol4Keywoard   any apply arb arbno arg array
-syn keyword	snobol4Keywoard   break
-syn keyword	snobol4Keywoard   char clear code collect convert copy
-syn keyword	snobol4Keywoard   data datatype date define detach differ dump dupl
-syn keyword	snobol4Keywoard   endfile eq eval
-syn keyword	snobol4Keywoard   field
-syn keyword	snobol4Keywoard   ge gt ident
-syn keyword	snobol4Keywoard   input integer item
-syn keyword	snobol4Keywoard   le len lgt local lpad lt
-syn keyword	snobol4Keywoard   ne notany
-syn keyword	snobol4Keywoard   opsyn output
-syn keyword	snobol4Keywoard   pos prototype
-syn keyword	snobol4Keywoard   remdr replace rpad rpos rtab
-syn keyword	snobol4Keywoard   size span stoptr
-syn keyword	snobol4Keywoard   tab table time trace trim
-syn keyword	snobol4Keywoard   unload
-syn keyword	snobol4Keywoard   value
+syn keyword     snobol4Keyword   any apply arb arbno arg array
+syn keyword     snobol4Keyword   break
+syn keyword     snobol4Keyword   char clear code collect convert copy
+syn keyword     snobol4Keyword   data datatype date define detach differ dump dupl
+syn keyword     snobol4Keyword   endfile eq eval
+syn keyword     snobol4Keyword   field
+syn keyword     snobol4Keyword   ge gt ident
+syn keyword     snobol4Keyword   input integer item
+syn keyword     snobol4Keyword   le len lgt local lpad lt
+syn keyword     snobol4Keyword   ne notany
+syn keyword     snobol4Keyword   opsyn output
+syn keyword     snobol4Keyword   pos prototype
+syn keyword     snobol4Keyword   remdr replace rpad rpos rtab
+syn keyword     snobol4Keyword   size span stoptr
+syn keyword     snobol4Keyword   tab table time trace trim terminal
+syn keyword     snobol4Keyword   unload
+syn keyword     snobol4Keyword   value
 " Spitbol keywords
 " CSNOBOL keywords
-syn keyword	snobol4Keywoard   sset
+syn keyword     snobol4Keyword   sset
 
 syn region      snobol4String       matchgroup=Quote start=+"+ skip=+\\"+ end=+"+
 syn region      snobol4String       matchgroup=Quote start=+'+ skip=+\\'+ end=+'+
-syn match       snobol4Label        "^[^- \t][^ \t]*"
 syn match       snobol4Statement    "^-[^ ][^ ]*"
-syn match       snobol4Comment      "^*.*$"
-syn match       Constant            "\.[a-z][a-z0-9\-]*"
-"syn match       snobol4Label        ":\([sf]*([^)]*)\)*" contains=ALLBUT,snobol4ParenError
-syn region       snobol4Label        start=":(" end=")" contains=ALLBUT,snobol4ParenError
-syn region       snobol4Label        start=":f(" end=")" contains=ALLBUT,snobol4ParenError
-syn region       snobol4Label        start=":s(" end=")" contains=ALLBUT,snobol4ParenError
-syn match       snobol4Number       "\<\d*\(\.\d\d*\)*\>"
+syn match       snobol4Comment      "^\*.*$"
+syn match       snobol4Comment      ";\*.*$"
+syn match       snobol4Constant     "[^a-z]\.[a-z][a-z0-9\-]*"
+syn region      snobol4Goto        start=":[sf]\{0,1}(" end=")\|$\|;" contains=ALLBUT,snobol4ParenError
+syn match       snobol4Number       "\<\d*\(\.\d\d*\)*\>" 
+syn match       snobol4BogusSysVar       "&\w\{1,}"
+syn match       snobol4SysVar       "&\(abort\|alphabet\|anchor\|arb\|bal\|case\|code\|dump\|errlimit\|errtext\|errtype\|fail\|fence\|fnclevel\|ftrace\|fullscan\|input\|lastno\|lcase\|maxlngth\|output\|parm\|rem\|rtntype\|stcount\|stfcount\|stlimit\|stno\|succeed\|trace\|trim\|ucase\)"
+syn match       snobol4Label        "^[^-\.\+ \t]\S\{1,}"
+"
 " Parens matching
 syn cluster     snobol4ParenGroup   contains=snobol4ParenError
 syn region      snobol4Paren        transparent start='(' end=')' contains=ALLBUT,@snobol4ParenGroup,snobol4ErrInBracket
 syn match       snobol4ParenError   display "[\])]"
 syn match       snobol4ErrInParen   display contained "[\]{}]\|<%\|%>"
 syn region      snobol4Bracket      transparent start='\[\|<:' end=']\|:>' contains=ALLBUT,@snobol4ParenGroup,snobol4ErrInParen
-syn match       snobol4ErrInBracket display contained "[);{}]\|<%\|%>"
+syn match       snobol4ErrInBracket display contained "[){}]\|<%\|%>"
 
 " optional shell shebang line
-syn match	snobol4Comment    "^\#\!.*$"
+syn match       snobol4Comment    "^\#\!.*$"
 
 
 " Define the default highlighting.
@@ -68,23 +72,27 @@ if version >= 508 || !exists("did_snobol
     command -nargs=+ HiLink hi def link <args>
   endif
 
-  HiLink snobol4Label		Label
-  HiLink snobol4Conditional	Conditional
-  HiLink snobol4Repeat		Repeat
-  HiLink snobol4Number		Number
-  HiLink snobol4Error		Error
-  HiLink snobol4Statement	PreProc
-  HiLink snobol4String		String
-  HiLink snobol4Comment		Comment
-  HiLink snobol4Special		Special
-  HiLink snobol4Todo		Todo
-  HiLink snobol4Keyword		Statement
-  HiLink snobol4Function	Statement
-  HiLink snobol4Keyword		Keyword
-  HiLink snobol4MathsOperator	Operator
+  HiLink snobol4Constant        Constant
+  HiLink snobol4Label           Label
+  HiLink snobol4Goto            Repeat
+  HiLink snobol4Conditional     Conditional
+  HiLink snobol4Repeat          Repeat
+  HiLink snobol4Number          Number
+  HiLink snobol4Error           Error
+  HiLink snobol4Statement       PreProc
+  HiLink snobol4String          String
+  HiLink snobol4Comment         Comment
+  HiLink snobol4Special         Special
+  HiLink snobol4Todo            Todo
+  HiLink snobol4Keyword         Statement
+  HiLink snobol4Function        Statement
+  HiLink snobol4Keyword         Keyword
+  HiLink snobol4MathsOperator   Operator
   HiLink snobol4ParenError      snobol4Error
   HiLink snobol4ErrInParen      snobol4Error
   HiLink snobol4ErrInBracket    snobol4Error
+  HiLink snobol4SysVar          Keyword
+  HiLink snobol4BogusSysVar     snobol4Error
 
   delcommand HiLink
 endif
--- 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:	Apr 27, 2006
-" Version:	7.0-48
+" Last Change:	May 02, 2006
+" Version:	7.0-50
 " Automatically generated keyword lists: {{{1
 
 " Quit when a syntax file was already loaded {{{2
@@ -189,7 +189,7 @@ syn match vimEnvvar	"\${\I\i*}"
 " In-String Specials: {{{2
 " Try to catch strings, if nothing else matches (therefore it must precede the others!)
 "  vimEscapeBrace handles ["]  []"] (ie. "s don't terminate string inside [])
-syn region vimEscapeBrace	oneline   contained transparent start="[^\\]\(\\\\\)*\[\^\=\]\=" skip="\\\\\|\\\]" end="\]"me=e-1
+syn region vimEscapeBrace	oneline   contained transparent start="[^\\]\(\\\\\)*\[\zs\^\=\]\=" skip="\\\\\|\\\]" end="]"me=e-1
 syn match  vimPatSepErr	contained	"\\)"
 syn match  vimPatSep	contained	"\\|"
 syn region vimPatSepZone	oneline   contained   matchgroup=vimPatSepZ start="\\%\=\ze(" skip="\\\\" end="\\)\|[^\]['"]"	contains=@vimStringGroup
@@ -308,10 +308,10 @@ syn match   vimMenuBang	"!"	contained sk
 syn case ignore
 syn match vimNotation	"\(\\\|<lt>\)\=<\([scam]-\)\{0,4}x\=\(f\d\{1,2}\|[^ \t:]\|cr\|lf\|linefeed\|return\|k\=del\%[ete]\|bs\|backspace\|tab\|esc\|right\|left\|help\|undo\|insert\|ins\|k\=home\|k\=end\|kplus\|kminus\|kdivide\|kmultiply\|kenter\|space\|k\=\(page\)\=\(\|down\|up\)\)>" contains=vimBracket
 syn match vimNotation	"\(\\\|<lt>\)\=<\([scam2-4]-\)\{0,4}\(right\|left\|middle\)\(mouse\)\=\(drag\|release\)\=>"	contains=vimBracket
-syn match vimNotation	"\(\\\|<lt>\)\=<\(bslash\|plug\|sid\|space\|bar\|nop\|nul\|lt\)>"	contains=vimBracket
-syn match vimNotation	'\(\\\|<lt>\)\=<C-R>[0-9a-z"%#:.\-=]'he=e-1	contains=vimBracket
-syn match vimNotation	'\(\\\|<lt>\)\=<\(line[12]\|count\|bang\|reg\|args\|lt\|[qf]-args\)>'	contains=vimBracket
-syn match vimNotation	"\(\\\|<lt>\)\=<\([cas]file\|abuf\|amatch\|cword\|cWORD\|client\)>"	contains=vimBracket
+syn match vimNotation	"\(\\\|<lt>\)\=<\(bslash\|plug\|sid\|space\|bar\|nop\|nul\|lt\)>"		contains=vimBracket
+syn match vimNotation	'\(\\\|<lt>\)\=<C-R>[0-9a-z"%#:.\-=]'he=e-1			contains=vimBracket
+syn match vimNotation	'\(\\\|<lt>\)\=<\%(q-\)\=\(line[12]\|count\|bang\|reg\|args\|f-args\|lt\)>'	contains=vimBracket
+syn match vimNotation	"\(\\\|<lt>\)\=<\([cas]file\|abuf\|amatch\|cword\|cWORD\|client\)>"		contains=vimBracket
 syn match vimBracket contained	"[\\<>]"
 syn case match
 
--- a/src/digraph.c
+++ b/src/digraph.c
@@ -2500,6 +2500,7 @@ keymap_unload()
 
     ga_clear(&curbuf->b_kmap_ga);
     curbuf->b_kmap_state &= ~KEYMAP_LOADED;
+    do_cmdline_cmd((char_u *)"unlet! b:keymap_name");
 #ifdef FEAT_WINDOWS
     status_redraw_curbuf();
 #endif
--- a/src/edit.c
+++ b/src/edit.c
@@ -4695,9 +4695,9 @@ ins_complete(c)
 	compl_matches = n;
     compl_curr_match = compl_shown_match;
     compl_direction = compl_shows_dir;
-    compl_interrupted = FALSE;
-
-    /* eat the ESC to avoid leaving insert mode */
+
+    /* Eat the ESC that vgetc() returns after a CTRL-C to avoid leaving Insert
+     * mode. */
     if (got_int && !global_busy)
     {
 	(void)vgetc();
@@ -4831,12 +4831,17 @@ ins_complete(c)
     else
 	msg_clr_cmdline();	/* necessary for "noshowmode" */
 
-    /* RedrawingDisabled may be set when invoked through complete(). */
-    n = RedrawingDisabled;
-    RedrawingDisabled = 0;
-    ins_compl_show_pum();
-    setcursor();
-    RedrawingDisabled = n;
+    /* Show the popup menu, unless we got interrupted. */
+    if (!compl_interrupted)
+    {
+	/* RedrawingDisabled may be set when invoked through complete(). */
+	n = RedrawingDisabled;
+	RedrawingDisabled = 0;
+	ins_compl_show_pum();
+	setcursor();
+	RedrawingDisabled = n;
+    }
+    compl_interrupted = FALSE;
 
     return OK;
 }
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -1529,7 +1529,7 @@ get_loop_line(c, cookie, indent)
 	    line = getcmdline(c, 0L, indent);
 	else
 	    line = cp->getline(c, cp->cookie, indent);
-	if (store_loop_line(cp->lines_gap, line) == OK)
+	if (line != NULL && store_loop_line(cp->lines_gap, line) == OK)
 	    ++cp->current_line;
 
 	return line;
--- a/src/gui.c
+++ b/src/gui.c
@@ -3423,11 +3423,11 @@ get_tabline_label(tp, tooltip)
     char_u	buf[40];
     int		wincount;
     win_T	*wp;
-    char_u	*opt;
+    char_u	**opt;
 
     /* Use 'guitablabel' or 'guitabtooltip' if it's set. */
-    opt = (tooltip ? p_gtt : p_gtl);
-    if (*opt != NUL)
+    opt = (tooltip ? &p_gtt : &p_gtl);
+    if (**opt != NUL)
     {
 	int	use_sandbox = FALSE;
 	int	save_called_emsg = called_emsg;
@@ -3456,7 +3456,7 @@ get_tabline_label(tp, tooltip)
 	curbuf = curwin->w_buffer;
 
 	/* Can't use NameBuff directly, build_stl_str_hl() uses it. */
-	build_stl_str_hl(curwin, res, MAXPATHL, opt, use_sandbox,
+	build_stl_str_hl(curwin, res, MAXPATHL, *opt, use_sandbox,
 						 0, (int)Columns, NULL, NULL);
 	STRCPY(NameBuff, res);
 
@@ -3473,7 +3473,10 @@ get_tabline_label(tp, tooltip)
 					   (char_u *)"", OPT_FREE, SID_ERROR);
 	called_emsg |= save_called_emsg;
     }
-    else
+
+    /* If 'guitablabel'/'guitabtooltip' is not set or the result is empty then
+     * use a default label. */
+    if (**opt == NUL || *NameBuff == NUL)
     {
 	/* Get the buffer name into NameBuff[] and shorten it. */
 	get_trans_bufname(tp == curtab ? curbuf : tp->tp_curwin->w_buffer);
--- a/src/gui_gtk_x11.c
+++ b/src/gui_gtk_x11.c
@@ -4024,7 +4024,11 @@ gui_mch_open(void)
 	if (mask & WidthValue)
 	    Columns = w;
 	if (mask & HeightValue)
+	{
+	    if (p_window > h - 1 || !option_was_set((char_u *)"window"))
+		p_window = h - 1;
 	    Rows = h;
+	}
 	if (mask & (XValue | YValue))
 #ifdef HAVE_GTK2
 	    gtk_window_move(GTK_WINDOW(gui.mainwin), x, y);
--- a/src/gui_mac.c
+++ b/src/gui_mac.c
@@ -2003,6 +2003,9 @@ gui_mac_doSuspendEvent(EventRecord *even
  * Handle the key
  */
 #ifdef USE_CARBONKEYHANDLER
+
+static int dialog_busy = FALSE;	    /* TRUE when gui_mch_dialog() wants the keys */
+
 # define INLINE_KEY_BUFFER_SIZE 80
     static pascal OSStatus
 gui_mac_doKeyEventCarbon(
@@ -2031,6 +2034,10 @@ gui_mac_doKeyEventCarbon(
 
     do
     {
+	/* Don't use the keys when the dialog wants them. */
+	if (dialog_busy)
+	    break;
+
 	if (noErr != GetEventParameter(theEvent, kEventParamTextInputSendText,
 		    typeUnicodeText, NULL, 0, &actualSize, NULL))
 	    break;
@@ -2615,7 +2622,7 @@ gui_mac_handle_event(EventRecord *event)
 	    break;
 #endif
 	case (keyUp):
-	    /* We don't care about when the key get release */
+	    /* We don't care about when the key is released */
 	    break;
 
 	case (mouseDown):
@@ -5472,7 +5479,7 @@ gui_mch_dialog(
     /* Add the input box if needed */
     if (textfield != NULL)
     {
-	/* Cheat for now reuse the message and convet to text edit */
+	/* Cheat for now reuse the message and convert to text edit */
 	inputItm.idx = lastButton + 3;
 	inputDITL = GetResource('DITL', 132);
 	AppendDITL(theDialog, inputDITL, overlayDITL);
@@ -5566,12 +5573,21 @@ gui_mch_dialog(
     SetPortDialogPort(theDialog);
 #endif
 
+#ifdef USE_CARBONKEYHANDLER
+    /* Avoid that we use key events for the main window. */
+    dialog_busy = TRUE;
+#endif
+
     /* Hang until one of the button is hit */
     do
     {
 	ModalDialog(nil, &itemHit);
     } while ((itemHit < 1) || (itemHit > lastButton));
 
+#ifdef USE_CARBONKEYHANDLER
+    dialog_busy = FALSE;
+#endif
+
     /* Copy back the text entered by the user into the param */
     if (textfield != NULL)
     {
--- a/src/gui_x11.c
+++ b/src/gui_x11.c
@@ -1437,7 +1437,11 @@ gui_mch_init()
 	if (mask & WidthValue)
 	    Columns = w;
 	if (mask & HeightValue)
+	{
+	    if (p_window > h - 1 || !option_was_set((char_u *)"window"))
+		p_window = h - 1;
 	    Rows = h;
+	}
 	/*
 	 * Set the (x,y) position of the main window only if specified in the
 	 * users geometry, so we get good defaults when they don't. This needs
--- a/src/option.c
+++ b/src/option.c
@@ -3548,8 +3548,7 @@ set_init_2()
      * 'window' is only for backwards compatibility with Vi.
      * Default is Rows - 1.
      */
-    idx = findoption((char_u *)"wi");
-    if (idx >= 0 && !(options[idx].flags & P_WAS_SET))
+    if (!option_was_set((char_u *)"window"))
 	p_window = Rows - 1;
     set_number_default("window", Rows - 1);
 
@@ -7904,7 +7903,7 @@ set_num_option(opt_idx, varp, value, err
 	    if (cmdline_row > Rows - p_ch && Rows > p_ch)
 		cmdline_row = Rows - p_ch;
 	}
-	if (p_window >= Rows)
+	if (p_window >= Rows || !option_was_set((char_u *)"window"))
 	    p_window = Rows - 1;
     }
 
--- a/src/os_unix.c
+++ b/src/os_unix.c
@@ -5787,7 +5787,9 @@ mch_libcall(libname, funcname, argstring
 	if (SETJMP(lc_jump_env) != 0)
 	{
 	    success = FALSE;
+#  if defined(USE_DLOPEN)
 	    dlerr = NULL;
+#  endif
 	    mch_didjmp();
 	}
 	else
--- a/src/po/de.po
+++ b/src/po/de.po
@@ -334,16 +334,16 @@ msgstr "E686: Argument von %s muss eine 
 
 #, c-format
 msgid "E712: Argument of %s must be a List or Dictionary"
-msgstr "E712: Argument von %s muss eine Liste oder ein Wörterbuch"
+msgstr "E712: Argument von %s muss eine Liste oder ein Dictionary"
 
 msgid "E713: Cannot use empty key for Dictionary"
-msgstr "E713: Der Schlüssel für das Wörterbuch darf nicht leer sein"
+msgstr "E713: Der Schlüssel für das Dictionary darf nicht leer sein"
 
 msgid "E714: List required"
 msgstr "E714: Liste benötigt"
 
 msgid "E715: Dictionary required"
-msgstr "E715: Wörterbuch benötigt"
+msgstr "E715: Dictionary benötigt"
 
 #, c-format
 msgid "E118: Too many arguments for function: %s"
@@ -351,20 +351,20 @@ msgstr "E118: Zu viele Argumente für Funktion: %s"
 
 #, c-format
 msgid "E716: Key not present in Dictionary: %s"
-msgstr "E716: Schlüssel nicht vorhanden im Wörterbuch: %s"
+msgstr "E716: Schlüssel nicht vorhanden im Dictionary: %s"
 
 #, c-format
 msgid "E122: Function %s already exists, add ! to replace it"
 msgstr "E122: Funktion %s existiert bereits; zum Ersetzen ! hinzufügen"
 
 msgid "E717: Dictionary entry already exists"
-msgstr "E717: Wörterbucheintrag existiert bereits"
+msgstr "E717: Dictionary-Eintrag existiert bereits"
 
 msgid "E718: Funcref required"
 msgstr "E718: Funcref benötigt"
 
 msgid "E719: Cannot use [:] with a Dictionary"
-msgstr "E719: Kann [:] nicht mit einem Wörterbuch verwenden"
+msgstr "E719: Kann [:] nicht mit einem Dictionary verwenden"
 
 #, c-format
 msgid "E734: Wrong variable type for %s="
@@ -392,7 +392,7 @@ msgid "E738: Can't list variables for %s
 msgstr "E738: Kann Variablen nicht auflisten: %s"
 
 msgid "E689: Can only index a List or Dictionary"
-msgstr "E689: Kann nur Listen und Wörterbücher indizieren"
+msgstr "E689: Kann nur Listen und Dictionarys indizieren"
 
 msgid "E708: [:] must come last"
 msgstr "E708: [:] muss am Schluss kommen"
@@ -430,10 +430,10 @@ msgid "E692: Invalid operation for Lists
 msgstr "E692: Unzulässige Operation für Listen"
 
 msgid "E735: Can only compare Dictionary with Dictionary"
-msgstr "E735: Kann nur ein Wörterbuch mit einem Wörterbuch vergleichen"
+msgstr "E735: Kann nur ein Dictionary mit einem Dictionary vergleichen"
 
 msgid "E736: Invalid operation for Dictionary"
-msgstr "E736: Unzulässige Operation für ein Wörterbuch"
+msgstr "E736: Unzulässige Operation für ein Dictionary"
 
 msgid "E693: Can only compare Funcref with Funcref"
 msgstr "E693: Kann nur eine Funcref mit einer Funcref vergleichen"
@@ -473,19 +473,19 @@ msgstr "E697: Fehlendes Ende der Liste '
 
 #, c-format
 msgid "E720: Missing colon in Dictionary: %s"
-msgstr "E720: Fehlender Doppelpunkt im Wörterbuch: %s"
+msgstr "E720: Fehlender Doppelpunkt im Dictionary: %s"
 
 #, c-format
 msgid "E721: Duplicate key in Dictionary: \"%s\""
-msgstr "E721: Doppelter Schlüssel im Wörterbuch: \"%s\""
+msgstr "E721: Doppelter Schlüssel im Dictionary: \"%s\""
 
 #, c-format
 msgid "E722: Missing comma in Dictionary: %s"
-msgstr "E722: Fehlendes Komma im Wörterbuch: %s"
+msgstr "E722: Fehlendes Komma im Dictionary: %s"
 
 #, c-format
 msgid "E723: Missing end of Dictionary '}': %s"
-msgstr "E723: Fehlendes Ende des Wörterbuchs '}': %s"
+msgstr "E723: Fehlendes Ende des Dictionarys '}': %s"
 
 msgid "E724: variable nested too deep for displaying"
 msgstr "E724: Variable ist zu tief verschachtelt für die Anzeige"
@@ -573,7 +573,7 @@ msgid "E745: Using a List as a number"
 msgstr "E745: Liste als Zahl verwendet"
 
 msgid "E728: Using a Dictionary as a number"
-msgstr "E728: Wörterbuch als Zahl verwendet"
+msgstr "E728: Dictionary als Zahl verwendet"
 
 msgid "E729: using Funcref as a String"
 msgstr "E729: Funcref als String verwendet"
@@ -582,7 +582,7 @@ msgid "E730: using List as a String"
 msgstr "E730: Liste als String verwendet"
 
 msgid "E731: using Dictionary as a String"
-msgstr "E731: Wörterbuch als String verwendet"
+msgstr "E731: Dictionary als String verwendet"
 
 #, c-format
 msgid "E704: Funcref variable name must start with a capital: %s"
@@ -894,7 +894,7 @@ msgstr "E670: Mischung von Kodierungen e
 
 #, c-format
 msgid "E154: Duplicate tag \"%s\" in file %s"
-msgstr "E154: Tag \"%s\" ist mehrmals in der Datei %s"
+msgstr "E154: Doppelter Tag \"%s\" in der Datei %s"
 
 #, c-format
 msgid "E160: Unknown sign command: %s"
@@ -5995,3 +5995,139 @@ msgstr "Editiert die ausgewählte(n) Datei(en) mit Vim"
 
 msgid "%ld seconds ago"
 msgstr "vor %ld Sekunden"
+
+msgid "E790: undojoin is not allowed after undo"
+msgstr "E790: 'undojoin' ist nicht erlaubt nach 'undo'"
+
+#, c-format
+msgid "E117: Unknown function: %s"
+msgstr "E117: Unbekannte Funktion: %s"
+
+#, c-format
+msgid "E119: Not enough arguments for function: %s"
+msgstr "E119: Zu wenige Argumente für Funktion: %s"
+
+#, c-format
+msgid "E120: Using <SID> not in a script context: %s"
+msgstr "E120: <SID> wurde nicht in einer Skript-Umgebung benutzt: %s"
+
+#, c-format
+msgid "E725: Calling dict function without Dictionary: %s"
+msgstr "E725: Aufruf der 'dict' Funktion ohne Dictionary: %s"
+
+msgid "E786: Range not allowed"
+msgstr "E786: Bereich nicht erlaubt"
+
+#, c-format
+msgid "E154: Duplicate tag \"%s\" in file %s/%s"
+msgstr "E154: Doppelter Tag \"%s\" in der Datei %s/%s"
+
+msgid "E179: argument required for -complete"
+msgstr "E179: Argument benötigt für -complete"
+
+#, c-format
+msgid "Tab page %d"
+msgstr "Tab %d"
+
+msgid "E585: :while/:for nesting too deep"
+msgstr "E585: :while/:for Schachtelung zu tief"
+
+msgid "E586: :continue without :while or :for"
+msgstr "E586: :continue ohne :while or :for"
+
+msgid "E587: :break without :while or :for"
+msgstr "E587: :break ohne :while oder :for"
+
+msgid "E788: Not allowed to edit another buffer now"
+msgstr "E788: Einen weiteren Puffer zu editieren ist im Moment nicht erlaubt"
+
+msgid "E513: write error, conversion failed (make 'fenc' empty to override)"
+msgstr "E513: Schreibfehler, Umwandlung schlug fehl (leere 'fenc' um sie zu erzwingen)"
+
+#, c-format
+msgid "E211: File \"%s\" no longer available"
+msgstr "E211: Datei \"%s\" ist nicht länger vorhanden"
+
+msgid "See \":help W12\" for more info."
+msgstr "Siehe \":help W12\" für mehr Information"
+
+msgid "See \":help W11\" for more info."
+msgstr "Siehe \":help W11\" für mehr Information"
+
+#, c-format
+msgid "E46: Cannot change read-only variable \"%s\""
+msgstr "E46: Variable \"%s\" kann nur gelesen werden"
+
+#, c-format
+msgid "E46: Cannot set variable in the sandbox: \"%s\""
+msgstr "E46: Variable \"%s\" kann in der Sandbox nur gelesen werden"
+
+msgid "E267: unexpected return"
+msgstr "E267: Unerwartetes 'return'"
+
+msgid "E268: unexpected next"
+msgstr "E268: Unerwartetes 'next'"
+
+msgid "E269: unexpected break"
+msgstr "E269: Unerwartetes 'break'"
+
+msgid "E270: unexpected redo"
+msgstr "E270: Unerwartetes 'redo'"
+
+msgid "E271: retry outside of rescue clause"
+msgstr "E271: 'retry' außerhalb der 'rescue clause'"
+
+msgid "E272: unhandled exception"
+msgstr "E272: Unbehandelte Ausnahme"
+
+#, c-format
+msgid "%d files to edit\n"
+msgstr "%d Dateien zum Editieren\n"
+
+msgid "-p[N]\t\tOpen N tab pages (default: one for each file)"
+msgstr "-p[N]\t\tÖffne N Tabs (Vorgabe: einzeln für jede Datei)"
+
+msgid "--remote-tab <files>  As --remote but open tab page for each file"
+msgstr "--remote-tab <Dateien>  Wie --remote, aber öffne ein Tab für jede Datei"
+
+msgid "E304: ml_upd_block0(): Didn't get block 0??"
+msgstr "E304: ml_upd_block0(): Block Nr. 0 nicht erhalten?"
+
+msgid "Select Directory dialog"
+msgstr "Verzeichnis Auswahl Dialog"
+
+msgid "No match at cursor, finding next"
+msgstr "Kein Treffer beim Cursur, finde den nächsten"
+
+msgid "E265: $_ must be an instance of String"
+msgstr "E265: $_ muss eine Instanz einer Zeichenkette sein"
+
+msgid "E773: Symlink loop for \"%s\""
+msgstr "E773: Symlink Schleife für \"%s\""
+
+#, c-format
+msgid ""
+"\n"
+"# Last %sSearch Pattern:\n"
+"~"
+msgstr ""
+"\n"
+"# Letztes %sSuchmuster:\n"
+"~"
+
+#, c-format
+msgid ""
+"Defining COMPOUNDFORBIDFLAG after PFX item may give wrong results in %s line "
+"%d"
+msgstr ""
+"Die Definition von COMPOUNDFORBIDFLAG nach dem PFX Element kann falsches Ergebnis in Zeile %s ergeben "
+"%d"
+
+#, c-format
+msgid ""
+"Defining COMPOUNDPERMITFLAG after PFX item may give wrong results in %s line "
+"%d"
+msgstr ""
+"Die Definition von COMPOUNDPERMITFLAG nach dem PFX Element kann falsches Ergebnis in Zeile %s ergeben "
+"%d"
+
--- a/src/po/fr.po
+++ b/src/po/fr.po
@@ -3,14 +3,14 @@
 # Do ":help uganda"  in Vim to read copying and usage conditions.
 # Do ":help credits" in Vim to see a list of people who contributed.
 #
-#  FIRST AUTHOR  DindinX      <David.Odin@bigfoot.com>	   2000.
-# SECOND AUTHOR  Adrien Beau  <version.francaise@free.fr>  2002, 2003.
+#  FIRST AUTHOR  DindinX         <David.Odin@bigfoot.com>     2000.
+# SECOND AUTHOR  Adrien Beau     <version.francaise@free.fr>  2002, 2003.
+#  THIRD AUTHOR  David Blanchet  <david.blanchet@free.fr>     2006
 #
 # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
 #
-# Ce fichier n'est pas finalisé ! Le gros du travail a été fait, mais la touche
-# finale reste à apporter. Je pense que tout sera bel et bien fini pour Vim 6.3
-# (hum, c'était censé être le cas pour Vim 6.2).
+# Ce fichier est perfectible ! Le gros du travail a été fait, mais la touche
+# finale reste à apporter.
 #
 # Consultez http://version.francaise.free.fr/ pour les mises à jour de ce
 # fichier, ainsi que pour les versions françaises des menus et du tutoriel.
@@ -28,8 +28,7 @@
 # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
 #
 # This file still needs work! The rough work has been done, some polishing
-# needs to be applied. I expect everything to be bright and shiny for Vim 6.3
-# (err, that was supposed to be Vim 6.2).
+# needs to be applied.
 #
 # Go to http://version.francaise.free.fr/ for updates to this file, and to the
 # French versions of the menus and the tutor.
@@ -71,15 +70,18 @@
 # 			  - Hundreds of error messages numbers added (wow)
 # 2006-04-15    DB      Vim 7.0 first draft, based on fr.po 7.0c03
 #                         - 285 new messages.
-# 2006-05-17    DB      VIM 7.0 second draft, still 7.0c03
+# 2006-04-17    DB      VIM 7.0 second draft, still 7.0c03
 #                         - (check.vim) Fixed 2 wrong translated messages.
-# 2006-05-19    DB      VIM 7.0 second draft, 7.0e02
+# 2006-04-19    DB      VIM 7.0e02
 #                         - 15 new messages.
-# 2006-05-19    DB      VIM 7.0, based on 7.0e03
+# 2006-04-19    DB      VIM 7.0e03
 #                         - (check.vim) Fixed wrong messages.
-#                         - header comment of this file should be updated.
+# 2006-05-01    DB      VIM 7.0g
+#                         - 1 message fixed, 2 messages translated.
+# 2006-05-02    DB      VIM 7.0g
+#                         - 3 message fixed.
 #
-# Translated:	 1692/1692 (100.00%)
+# Translated:	 1694/1694 (100.00%)
 #
 # Polishing done on:
 #  buffer.c
@@ -99,9 +101,9 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: Vim(Français)\n"
-"Report-Msgid-Bugs-To: Adrien Beau <version.francaise@free.fr>\n"
-"POT-Creation-Date: 2006-04-01 17:09+0200\n"
-"PO-Revision-Date: 2006-04-21 00:31+0200\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2006-05-01 19:42+0200\n"
+"PO-Revision-Date: 2006-05-02 14:15+0200\n"
 "Last-Translator: David Blanchet <david.blanchet@free.fr>\n"
 "Language-Team: Adrien Beau <version.francaise@free.fr>\n"
 "MIME-Version: 1.0\n"
@@ -349,6 +351,9 @@ msgstr "E544: Le fichier descripteur de 
 msgid "E105: Using :loadkeymap not in a sourced file"
 msgstr "E105: :loadkeymap ne peut être utilisé que dans un script Vim"
 
+msgid "E791: Empty keymap entry"
+msgstr "E791: Entrée du descripteur de clavier (keymap) vide"
+
 # AB - Remplacer "complétion" par "complètement" ? Voir l'éthymologie
 #      d'"accrétion".
 msgid " Keyword completion (^N^P)"
@@ -5158,7 +5163,7 @@ msgid ""
 "%d"
 msgstr ""
 "Définir COMPOUNDPERMITFLAG après des PFX peut donner des résultats erronés "
-" dans %s ligne %d"
+"dans %s ligne %d"
 
 #, c-format
 msgid "Wrong COMPOUNDWORDMAX value in %s line %d: %s"
@@ -5516,8 +5521,8 @@ msgid "E397: Filename required"
 msgstr "E397: Nom de fichier requis"
 
 #, c-format
-msgid "E747: Missing ']': %s"
-msgstr "E747: ']' manquant : %s"
+msgid "E789: Missing ']': %s"
+msgstr "E789: ']' manquant : %s"
 
 #, c-format
 msgid "E398: Missing '=': %s"
@@ -5808,6 +5813,9 @@ msgstr "numéro  modif.  instant"
 msgid "%ld seconds ago"
 msgstr "il y a %ld secondes"
 
+msgid "E790: undojoin is not allowed after undo"
+msgstr "E790: undojoin n'est pas autorisé après une annulation"
+
 msgid "E439: undo list corrupt"
 msgstr "E439: la liste d'annulation est corrompue"
 
@@ -6533,4 +6541,3 @@ msgstr "La recherche a atteint le HAUT, 
 
 msgid "search hit BOTTOM, continuing at TOP"
 msgstr "La recherche a atteint le BAS, et continue en HAUT"
-
--- a/src/quickfix.c
+++ b/src/quickfix.c
@@ -2153,7 +2153,7 @@ ex_cwindow(eap)
      * it if we have errors; otherwise, leave it closed.
      */
     if (qi->qf_lists[qi->qf_curlist].qf_nonevalid
-	|| qi->qf_curlist >= qi->qf_listcount)
+	    || qi->qf_curlist >= qi->qf_listcount)
     {
 	if (win != NULL)
 	    ex_cclose(eap);
@@ -3290,6 +3290,7 @@ load_dummy_buffer(fname)
 	if (readfile(fname, NULL,
 		    (linenr_T)0, (linenr_T)0, (linenr_T)MAXLNUM,
 		    NULL, READ_NEW | READ_DUMMY) == OK
+		&& !got_int
 		&& !(curbuf->b_flags & BF_NEW))
 	{
 	    failed = FALSE;
@@ -3329,7 +3330,24 @@ wipe_dummy_buffer(buf)
     buf_T	*buf;
 {
     if (curbuf != buf)		/* safety check */
+    {
+#if defined(FEAT_AUTOCMD) && defined(FEAT_EVAL)
+	cleanup_T   cs;
+
+	/* Reset the error/interrupt/exception state here so that aborting()
+	 * returns FALSE when wiping out the buffer.  Otherwise it doesn't
+	 * work when got_int is set. */
+	enter_cleanup(&cs);
+#endif
+
 	wipe_buffer(buf, FALSE);
+
+#if defined(FEAT_AUTOCMD) && defined(FEAT_EVAL)
+	/* Restore the error/interrupt/exception state if not discarded by a
+	 * new aborting error, interrupt, or uncaught exception. */
+	leave_cleanup(&cs);
+#endif
+    }
 }
 
 /*
--- a/src/spell.c
+++ b/src/spell.c
@@ -2131,8 +2131,6 @@ spell_move_to(wp, dir, allwords, curline
 		/* We found a bad word.  Check the attribute. */
 		if (allwords || attr == HLF_SPB)
 		{
-		    found_one = TRUE;
-
 		    /* When searching forward only accept a bad word after
 		     * the cursor. */
 		    if (dir == BACKWARD
@@ -2149,6 +2147,8 @@ spell_move_to(wp, dir, allwords, curline
 			    col = (int)(p - buf);
 			    (void)syn_get_id(wp, lnum, (colnr_T)col,
 						       FALSE, &can_spell);
+			    if (!can_spell)
+				attr = HLF_COUNT;
 			}
 			else
 #endif
@@ -2156,6 +2156,7 @@ spell_move_to(wp, dir, allwords, curline
 
 			if (can_spell)
 			{
+			    found_one = TRUE;
 			    found_pos.lnum = lnum;
 			    found_pos.col = (int)(p - buf);
 #ifdef FEAT_VIRTUALEDIT
@@ -2177,6 +2178,8 @@ spell_move_to(wp, dir, allwords, curline
 			    found_len = len;
 			}
 		    }
+		    else
+			found_one = TRUE;
 		}
 	    }
 
--- a/src/version.c
+++ b/src/version.c
@@ -445,6 +445,11 @@ static char *(features[]) =
 #else
 	"-quickfix",
 #endif
+#ifdef FEAT_RELTIME
+	"+reltime",
+#else
+	"-reltime",
+#endif
 #ifdef FEAT_RIGHTLEFT
 	"+rightleft",
 #else
--- a/src/version.h
+++ b/src/version.h
@@ -35,6 +35,6 @@
  */
 #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 "
+#define VIM_VERSION_MEDIUM	"7.0g-01 BETA"
+#define VIM_VERSION_LONG	"VIM - Vi IMproved 7.0g01 BETA (2006 May 2)"
+#define VIM_VERSION_LONG_DATE	"VIM - Vi IMproved 7.0g01 BETA (2006 May 2, compiled "
--- a/src/window.c
+++ b/src/window.c
@@ -3491,6 +3491,18 @@ goto_tabpage(n)
     tabpage_T	*ttp;
     int		i;
 
+    if (text_locked())
+    {
+	/* Not allowed when editing the command line. */
+#ifdef FEAT_CMDWIN
+	if (cmdwin_type != 0)
+	    EMSG(_(e_cmdwin));
+	else
+#endif
+	    EMSG(_(e_secure));
+	return;
+    }
+
     /* If there is only one it can't work. */
     if (first_tabpage->tp_next == NULL)
     {