updated for version 7.0e05
diff --git a/runtime/autoload/netrw.vim b/runtime/autoload/netrw.vim
index 79abec5..f0767ab 100644
--- 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 14, 2006
-" Version:	88
+" Date:		Apr 21, 2006
+" Version:	91
 " 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 = "v88"
+let g:loaded_netrw = "v91"
 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
@@ -396,7 +396,7 @@
     let choice = substitute(choice,'\\','/','ge')
 "    call Decho("fixing up windows url to <".choice."> tmpfile<".tmpfile)
 
-    exe 'lcd ' . fnamemodify(tmpfile,':h')
+    exe 'cd ' . fnamemodify(tmpfile,':h')
     let tmpfile = fnamemodify(tmpfile,':t')
    endif
 
@@ -890,7 +890,7 @@
    if has("win32") || has("win95") || has("win64") || has("win16")
     let choice= substitute(choice,'\\','/','ge')
     "ER: see NetRead()
-    exe 'lcd ' . fnamemodify(tmpfile,':h')
+    exe 'cd ' . fnamemodify(tmpfile,':h')
     let tmpfile = fnamemodify(tmpfile,':t')
    endif
 
@@ -1233,6 +1233,7 @@
 "   call Decho("new path<".path.">")
 
    " remote-read the requested file into current buffer
+   mark '
    keepjumps keepalt enew!
    set ma
 "   call Decho("exe file ".method."://".user.machine."/".escape(path,s:netrw_cd_escape))
@@ -1257,6 +1258,7 @@
   let bufname   = method.'://'.user.machine.'/'.path
   let bufnamenr = bufnr(bufname.'$')
 "  call Decho("bufname<".bufname."> bufnamenr=".bufnamenr)
+  mark '
   if bufnamenr != -1
    " buffer already exists, switch to it!
 "   call Decho("buffer already exists, switching to it")
@@ -1324,7 +1326,7 @@
   setlocal ma nonu nowrap
 
   " Set up the banner
-"  call Decho("set up the banner: sortby<".g:netrw_sort_by."> method<".method.">")
+"  call Decho("set up the banner: sortby<".g:netrw_sort_by."> method<".method."> direction<".g:netrw_sort_direction.">")
   keepjumps put ='\" ==========================================================================='
   keepjumps put ='\" Netrw Remote Directory Listing                                 (netrw '.g:loaded_netrw.')'
   keepjumps put ='\"   '.bufname
@@ -2148,10 +2150,10 @@
    let b:netrw_cpf= 0
    if line("$") >= w:netrw_bannercnt
     exe 'silent keepjumps '.w:netrw_bannercnt.',$g/^./if virtcol("$") > b:netrw_cpf|let b:netrw_cpf= virtcol("$")|endif'
-  else
-"   call Dret("NetrwWideListing")
-   return
-  endif
+   else
+"    call Dret("NetrwWideListing")
+    return
+   endif
 "   call Decho("max file strlen+1=".b:netrw_cpf)
    let b:netrw_cpf= b:netrw_cpf + 1
 
@@ -2163,7 +2165,7 @@
 "   call Decho("fpl= ".winwidth(0)."/[b:netrw_cpf=".b:netrw_cpf.']='.w:netrw_fpl)
 
    " make wide display
-   exe 'silent keepjumps '.w:netrw_bannercnt.',$s/^.*$/\=printf("%-'.b:netrw_cpf.'s",submatch(0))/'
+   exe 'silent keepjumps '.w:netrw_bannercnt.',$s/^.*$/\=printf("%-'.b:netrw_cpf.'s",escape(submatch(0),"\\"))/'
    let fpc         = (line("$") - w:netrw_bannercnt + w:netrw_fpl)/w:netrw_fpl
    let newcolstart = w:netrw_bannercnt + fpc
    let newcolend   = newcolstart + fpc - 1
@@ -2252,11 +2254,15 @@
     call mkdir(fullnewdir,"p")
    else
     let netrw_origdir= s:NetGetcwd(1)
-    exe 'cd '.b:netrw_curdir
-"    call Decho("netrw_origdir<".netrw_origdir."> b:netrw_curdir<".b:netrw_curdir.">")
+    exe 'keepjumps cd '.b:netrw_curdir
+"    call Decho("netrw_origdir<".netrw_origdir.">: cd b:netrw_curdir<".b:netrw_curdir.">")
 "    call Decho("exe silent! !".g:netrw_local_mkdir.' "'.newdirname.'"')
     exe "silent! !".g:netrw_local_mkdir.' "'.newdirname.'"'
     if !g:netrw_keepdir | exe 'keepjumps cd '.netrw_origdir | endif
+    if !g:netrw_keepdir
+     exe 'keepjumps cd '.netrw_origdir
+"     call Decho("netrw_keepdir=".g:netrw_keepdir.": cd ".netrw_origdir)
+    endif
    endif
 
    if v:shell_error == 0
@@ -2770,6 +2776,11 @@
   endif
 
   call s:NetOptionSave()
+  if 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().">")
+  endif
 
   if v:version < 603
    if !exists("g:netrw_quiet")
@@ -2807,6 +2818,7 @@
   endif
 
   " get cleared buffer
+  mark '
   if bufnum < 0 || !bufexists(bufnum)
    keepjumps keepalt enew!
 "   call Decho("enew buffer")
@@ -2815,8 +2827,8 @@
    if exists("s:last_sort_by") && g:netrw_sort_by == s:last_sort_by
     if getline(2) =~ '^" Netrw Directory Listing '
      if !g:netrw_keepdir
-"      call Decho("change directory: cd ".b:netrw_curdir)
       exe 'cd '.escape(b:netrw_curdir,s:netrw_cd_escape)
+"      call Decho("netrw_keepdir=".g:netrw_keepdir.": cd ".escape(b:netrw_curdir,s:netrw_cd_escape))
      endif
      call s:NetOptionRestore()
 "     call Dret("DirBrowse : reusing buffer#".bufnum."<".a:dirname.">")
@@ -2847,7 +2859,7 @@
 
   " make netrw's idea of the current directory vim's if the user wishes
   if !g:netrw_keepdir
-"   call Decho("change directory: cd ".b:netrw_curdir)
+"   call Decho("netrw_keepdir=".g:netrw_keepdir.": cd ".escape(b:netrw_curdir,s:netrw_cd_escape))
    try
     exe 'cd '.escape(b:netrw_curdir,s:netrw_cd_escape)
    catch /^Vim\%((\a\+)\)\=:E472/
@@ -2916,8 +2928,12 @@
   nnoremap <buffer> <silent> v		:call <SID>NetSplit(3)<cr>
   nnoremap <buffer> <silent> x		:call netrw#NetBrowseX(<SID>LocalBrowseChgDir(b:netrw_curdir,<SID>NetGetWord(),0),0)"<cr>
   nnoremap <buffer> <silent> <2-leftmouse>	:call <SID>LocalBrowse(<SID>LocalBrowseChgDir(b:netrw_curdir,<SID>NetGetWord()))<cr>
-  nnoremap <buffer> <silent> <s-up>	:Pexplore<cr>
-  nnoremap <buffer> <silent> <s-down>	:Nexplore<cr>
+  if s:didstarstar || !mapcheck("<s-down>","n")
+   nnoremap <buffer> <silent> <s-down>	:Nexplore<cr>
+  endif
+  if s:didstarstar || !mapcheck("<s-up>","n")
+   nnoremap <buffer> <silent> <s-up>	:Pexplore<cr>
+  endif
   exe 'nnoremap <buffer> <silent> <del>	:call <SID>LocalBrowseRm("'.b:netrw_curdir.'")<cr>'
   exe 'vnoremap <buffer> <silent> <del>	:call <SID>LocalBrowseRm("'.b:netrw_curdir.'")<cr>'
   exe 'nnoremap <buffer> <silent> D	:call <SID>LocalBrowseRm("'.b:netrw_curdir.'")<cr>'
@@ -3040,7 +3056,7 @@
 " ---------------------------------------------------------------------
 "  LocalBrowseList: does the job of "ls" for local directories {{{2
 fun! s:LocalBrowseList()
-"  call Dfunc("LocalBrowseList() b:netrw_curdir<".b:netrw_curdir.">")
+"  call Dfunc("LocalBrowseList() b:netrw_curdir<".b:netrw_curdir."> sortby<".g:netrw_sort_by.">")
 
   " get the list of files contained in the current directory
   let dirname    = escape(b:netrw_curdir,s:netrw_glob_escape)
@@ -3070,7 +3086,11 @@
 "  call Decho("filelist<".filelist.">")
   endif
   let filelist= substitute(filelist,'\n\{2,}','\n','ge')
-  let filelist= substitute(filelist,'\','/','ge')
+  if (has("win32") || has("win95") || has("win64") || has("win16"))
+   let filelist= substitute(filelist,'\','/','ge')
+  else
+   let filelist= substitute(filelist,'\','\\','ge')
+  endif
 
 "  call Decho("dirname<".dirname.">")
 "  call Decho("dirnamelen<".dirnamelen.">")
@@ -3503,6 +3523,12 @@
   endif
   norm! 0
 
+  if a:1 =~ '\*/'
+   " Explore */pattern
+   let pattern= substitute(a:1,'^\*/\(.*\)$','\1','')
+"   call Decho("Explore */".pattern)
+  endif
+
   if a:1 == "" && a:indx >= 0
    " Explore Hexplore Vexplore Sexplore
 "   call Decho("Explore Hexplore Vexplore Sexplore")
@@ -3516,26 +3542,61 @@
     call s:LocalBrowse(newdir)
    endif
 
-  elseif a:1 =~ '\*\*/' || a:indx < 0
-   " Nexplore Pexplore -or-  Explore **/...
-"   call Decho("Nexplore Pexplore -or-  Explore **/...")
+  elseif a:1 =~ '^\*\*/' || a:indx < 0 || a:1 =~ '^\*/'
+   " Nexplore, Pexplore, Explore **/... , or Explore */pattern
+"   call Decho("Nexplore, Pexplore, <s-down>, <s-up>, Explore ".a:1)
+   let s:didstarstar= 1
+   if exists("b:netrw_curdir")
+    nnoremap <buffer> <silent> <s-up>	:Pexplore<cr>
+    nnoremap <buffer> <silent> <s-down>	:Nexplore<cr>
+   endif
 
    if has("path_extra")
     if !exists("w:netrw_explore_indx")
      let w:netrw_explore_indx= 0
     endif
     let indx = a:indx
+"    call Decho("input indx=".indx)
+"
     if indx == -1
+     if !exists("w:netrw_explore_list") " sanity check
+      echohl WarningMsg | echo "***netrw*** using Nexplore or <s-down> improperly; see help for netrw-starstar" | echohl None
+      call inputsave()|call input("Press <cr> to continue")|call inputrestore()
+"      call Dret("Explore")
+      return
+     endif
      let indx= w:netrw_explore_indx + 1
+"     call Decho("indx= [w:netrw_explore_indx=".w:netrw_explore_indx."]=".indx)
+
     elseif indx == -2
+     if !exists("w:netrw_explore_list") " sanity check
+      echohl WarningMsg | echo "***netrw*** using Pexplore or <s-up> improperly; see help for netrw-starstar" | echohl None
+      call inputsave()|call input("Press <cr> to continue")|call inputrestore()
+"      call Dret("Explore")
+      return
+     endif
      let indx= w:netrw_explore_indx - 1
+"     call Decho("indx= [w:netrw_explore_indx=".w:netrw_explore_indx."]=".indx)
+
     else
+     " build list of files to Explore with Nexplore/Pexplore
      let w:netrw_explore_indx    = 0
      if !exists("b:netrw_curdir")
       let b:netrw_curdir= getcwd()
      endif
-     let w:netrw_explore_list    = split(expand(b:netrw_curdir."/".a:1),'\n')
+"     call Decho("b:netrw_curdir<".b:netrw_curdir.">")
+     if exists("pattern")
+"      call Decho("building list based on pattern<".pattern."> cwd<".getcwd().">")
+      exe "vimgrep /".pattern."/gj ".b:netrw_curdir."/*"
+      let w:netrw_explore_list = map(getqflist(),'b:netrw_curdir.bufname(v:val.bufnr)')
+     else
+"      call Decho("building list based on ".b:netrw_curdir."/".a:1)
+      let w:netrw_explore_list= split(expand(b:netrw_curdir."/".a:1),'\n')
+     endif
+
      let w:netrw_explore_listlen = len(w:netrw_explore_list)
+"     call Decho("w:netrw_explore_list<".string(w:netrw_explore_list)."> listlen=".w:netrw_explore_listlen)
+
      if w:netrw_explore_listlen == 1 && w:netrw_explore_list[0] =~ '\*\*\/'
       echohl WarningMsg | echo "***netrw*** no files matched" | echohl None
       call inputsave()|call input("Press <cr> to continue")|call inputrestore()
@@ -3928,14 +3989,9 @@
   endif
 
   " Get Temporary Filename
-  let w:aikeep   = &ai
-"  " netrw and the acd option do not work together properly
-"  if &acd && (has("netbeans_intg") || has("sun_workshop"))
-"   set noacd
-"   echohl Warning | echomsg "***warning*** directory browsing and the acd setting are incompatible" |echohl None
-"  endif
-  let w:fokeep    = &fo
+  let w:acdkeep   = &acd
   let w:aikeep    = &ai
+  let w:fokeep    = &fo
   let w:cikeep    = &ci
   let w:cinkeep   = &cin
   let w:cinokeep  = &cino
@@ -3943,9 +3999,6 @@
   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
@@ -3953,7 +4006,7 @@
   setlocal cino =
   setlocal com  =
   setlocal cpo -=aA
-  setlocal nocin noai noci magic nospell fo=nroql2 nohid
+  setlocal noacd nocin noai noci magic nospell fo=nroql2 nohid
   setlocal tw   =0
   setlocal report=10000
   if has("win32") && !has("win95")
@@ -3975,14 +4028,13 @@
   endif
   unlet w:netoptionsave
 
-  if exists("w:aikeep")| let &ai= w:aikeep|endif
+  if exists("w:acdkeep")  |let &acd    = w:acdkeep     |unlet w:acdkeep  |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
diff --git a/runtime/autoload/paste.vim b/runtime/autoload/paste.vim
index 435c5e6..a61cec6 100644
--- a/runtime/autoload/paste.vim
+++ b/runtime/autoload/paste.vim
@@ -1,6 +1,6 @@
 " Vim support file to help with paste mappings and menus
 " Maintainer:	Bram Moolenaar <Bram@vim.org>
-" Last Change:	2006 Mar 09
+" Last Change:	2006 Apr 21
 
 " Define the string to use for items that are present both in Edit, Popup and
 " Toolbar menu.  Also used in mswin.vim and macmap.vim.
@@ -33,7 +33,3 @@
   let paste#paste_cmd['v'] = '"-c<Esc>gix<Esc>' . paste#paste_cmd['n'] . '"_x'
   let paste#paste_cmd['i'] = 'x<Esc>' . paste#paste_cmd['n'] . '"_s'
 endif
-
-if has("virtualedit")
-else
-endif
diff --git a/runtime/colors/darkblue.vim b/runtime/colors/darkblue.vim
index 4bf05d0..9812e98 100644
--- a/runtime/colors/darkblue.vim
+++ b/runtime/colors/darkblue.vim
@@ -1,6 +1,6 @@
 " Vim color file
 " Maintainer:	Bohdan Vlasyuk <bohdan@vstu.edu.ua>
-" Last Change:	2005 Mar 28
+" Last Change:	2006 Apr 21
 
 " darkblue -- for those who prefer dark background
 " [note: looks bit uglier with come terminal palettes,
@@ -58,5 +58,3 @@
 hi type		ctermfg=green guifg=#60ff60 gui=none cterm=none
 hi Underlined	cterm=underline term=underline
 hi Ignore	guifg=bg ctermfg=bg
-
-
diff --git a/runtime/compiler/bdf.vim b/runtime/compiler/bdf.vim
index a30a9b6..ca33776 100644
--- a/runtime/compiler/bdf.vim
+++ b/runtime/compiler/bdf.vim
@@ -1,7 +1,7 @@
 " Vim compiler file
 " Compiler:         BDF to PCF Conversion
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-06-29
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("current_compiler")
   finish
@@ -11,9 +11,9 @@
 let s:cpo_save = &cpo
 set cpo-=C
 
-CompilerSet makeprg=bdftopcf\ $*
+setlocal makeprg=bdftopcf\ $*
 
-CompilerSet errorformat=%ABDF\ %trror\ on\ line\ %l:\ %m,
+setlocal errorformat=%ABDF\ %trror\ on\ line\ %l:\ %m,
       \%-Z%p^,
       \%Cbdftopcf:\ bdf\ input\\,\ %f\\,\ corrupt,
       \%-G%.%#
diff --git a/runtime/compiler/gcc.vim b/runtime/compiler/gcc.vim
index 11f7714..699d14f 100644
--- a/runtime/compiler/gcc.vim
+++ b/runtime/compiler/gcc.vim
@@ -1,7 +1,7 @@
 " Vim compiler file
 " Compiler:         GNU C Compiler
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-06-29
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("current_compiler")
   finish
diff --git a/runtime/compiler/rst.vim b/runtime/compiler/rst.vim
index d0ff88b..07c7d41 100644
--- a/runtime/compiler/rst.vim
+++ b/runtime/compiler/rst.vim
@@ -1,7 +1,7 @@
 " Vim compiler file
 " Compiler:         reStructuredText Documentation Format
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-06-29
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("current_compiler")
   finish
@@ -11,7 +11,7 @@
 let s:cpo_save = &cpo
 set cpo-=C
 
-CompilerSet errorformat=
+setlocal errorformat=
       \%f:%l:\ (%tEBUG/0)\ %m,
       \%f:%l:\ (%tNFO/1)\ %m,
       \%f:%l:\ (%tARNING/2)\ %m,
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index 80a0c1d..4fff9d0 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1,4 +1,4 @@
-*eval.txt*      For Vim version 7.0e.  Last change: 2006 Apr 15
+*eval.txt*      For Vim version 7.0e.  Last change: 2006 Apr 21
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -1369,9 +1369,9 @@
 
 						*v:lnum* *lnum-variable*
 v:lnum		Line number for the 'foldexpr' |fold-expr| and 'indentexpr'
-		expressions, tab page number for 'guitablabel'.  Only valid
-		while one of these expressions is being evaluated.  Read-only
-		when in the |sandbox|.
+		expressions, tab page number for 'guitablabel' and
+		'guitabtooltip'.  Only valid while one of these expressions is
+		being evaluated.  Read-only when in the |sandbox|.
 
 					*v:prevcount* *prevcount-variable*
 v:prevcount	The count given for the last but one Normal mode command.
diff --git a/runtime/doc/index.txt b/runtime/doc/index.txt
index 8fc3cef..77ebed9 100644
--- a/runtime/doc/index.txt
+++ b/runtime/doc/index.txt
@@ -552,6 +552,9 @@
 |CTRL-W_g}|	CTRL-W g }	   do a |:ptjump| to the tag under the cursor
 |CTRL-W_gf|	CTRL-W g f	   edit file name under the cursor in a new
 				   tab page
+|CTRL-W_gF|	CTRL-W g F	   edit file name under the cursor in a new
+				   tab page and jump to the line number
+				   following the file name.
 |CTRL-W_h|	CTRL-W h	   go to Nth left window (stop at first window)
 |CTRL-W_i|	CTRL-W i	   split window and jump to declaration of
 				   identifier under the cursor
diff --git a/runtime/doc/mbyte.txt b/runtime/doc/mbyte.txt
index b660d2c..44cbea9 100644
--- a/runtime/doc/mbyte.txt
+++ b/runtime/doc/mbyte.txt
@@ -1,4 +1,4 @@
-*mbyte.txt*     For Vim version 7.0e.  Last change: 2006 Apr 02
+*mbyte.txt*     For Vim version 7.0e.  Last change: 2006 Apr 21
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar et al.
@@ -1035,7 +1035,7 @@
 	:highlight Cursor guifg=NONE guibg=Green
 	:highlight lCursor guifg=NONE guibg=Cyan
 <
-			*keymap-file-format* *:loadk* *:loadkeymap* *E105*
+		*keymap-file-format* *:loadk* *:loadkeymap* *E105* *E791*
 The keymap file looks something like this: >
 
 	" Maintainer:	name <email@address>
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index beee11d..7bbd969 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -1,4 +1,4 @@
-*options.txt*	For Vim version 7.0e.  Last change: 2006 Apr 20
+*options.txt*	For Vim version 7.0e.  Last change: 2006 Apr 21
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -2092,12 +2092,16 @@
 'debug'			string	(default "")
 			global
 			{not in Vi}
-	When set to "msg", error messages that would otherwise be omitted will
-	be given anyway.  This is useful when debugging 'foldexpr',
-	'formatexpr' or 'indentexpr'.
-	When set to "beep", a message will be given when otherwise only a beep
-	would be produced.
+	These values can be used:
+	msg	Error messages that would otherwise be omitted will be given
+		anyway.
+	throw	Error messages that would otherwise be omitted will be given
+		anyway and also throw an exception and set |v:errmsg|.
+	beep	A message will be given when otherwise only a beep would be
+		produced.
 	The values can be combined, separated by a comma.
+	"msg" and "throw" are useful for debugging 'foldexpr', 'formatexpr' or
+	'indentexpr'.
 
 						*'define'* *'def'*
 'define' 'def'		string	(default "^\s*#\s*define")
@@ -3407,11 +3411,25 @@
 	|setting-guitablabel| for more info.
 
 	The format of this option is like that of 'statusline'.
+	'guitabtooltip' is used for the tooltip, see below.
 
 	Only used when the GUI tab pages line is displayed.  'e' must be
 	present in 'guioptions'.  For the non-GUI tab pages line 'tabline' is
 	used.
 
+						*'guitabtooltip'* *'gtt'*
+'guitabtooltip' 'gtt'	string	(default empty)
+			global
+			{not in Vi}
+			{only available when compiled with GUI enabled and
+			with the +windows feature}
+	When nonempty describes the text to use in a tooltip for the GUI tab
+	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"
 					 (others) "$VIMRUNTIME/doc/help.txt")
diff --git a/runtime/doc/pi_netrw.txt b/runtime/doc/pi_netrw.txt
index 8cb8010..ee59953 100644
--- a/runtime/doc/pi_netrw.txt
+++ b/runtime/doc/pi_netrw.txt
@@ -1,4 +1,4 @@
-*pi_netrw.txt*  For Vim version 7.0e.  Last change: Apr 12, 2006
+*pi_netrw.txt*  For Vim version 7.0e.  Last change: Apr 21, 2006
 
 		VIM REFERENCE MANUAL    by Charles E. Campbell, Jr.
 
@@ -782,7 +782,7 @@
 				=0 keep the current directory the same as the
 				   browsing directory.
 				The current browsing directory is contained in
-				b:netrw_curdir
+				b:netrw_curdir (also see |netrw-c|)
 
   *g:netrw_list_cmd*		command for listing remote directories
 				 default: (if ssh is executable)
@@ -919,15 +919,16 @@
 By default, these commands use the current file's directory.  However, one
 may explicitly provide a directory (path) to use.
 
-(Following needs v7.0 or later)			*netrw-starstar*
-When Explore, Sexplore, Hexplore, or Vexplore are used with a **,
+							*netrw-starstar*
+When Explore, Sexplore, Hexplore, or Vexplore are used with a **/filepat,
 such as:
 >
 	:Explore **/filename_pattern
 <
-netrw will attempt to find a (sub)directory which matches the filename
-pattern.  Internally, it produces a list of files which match the pattern
-and their paths; to that extent it resembles the Unix operation:
+netrw will attempt to find a file in the current directory or any subdirectory
+which matches the filename pattern.  Internally, it produces a list of files
+which match the pattern and their paths; to that extent it resembles the Unix
+operation:
 >
 	find $(pwd) -name "$1" -exec "echo" "{}" ";" 2> /dev/null
 <
@@ -951,6 +952,18 @@
 The status line will show, on the right hand side of the status line, a
 message like "Match 3 of 20".
 
+							*netrw-starpat*
+When Explore, Sexplore, Hexplore, or Vexplore are used with a */pattern,
+such as:
+>
+	:Explore */pattern
+<
+netrw will use |:vimgrep| to find files which contain the given pattern.
+Like what happens with |netrw-starstar|, a list of files which contain
+matches to the given pattern is generated.  The cursor will then jump
+to the first file with the given pattern; |:Nexplore|, |:Pexplore|, and
+the shifted-down and -up arrows work with the list to move to the next
+or previous files in that list.
 
 REFRESHING THE LISTING					*netrw-ctrl-l*
 
@@ -1261,14 +1274,16 @@
 
 MAKING THE BROWSING DIRECTORY THE CURRENT DIRECTORY	*netrw-c* *netrw-curdir*
 
-By default, g:netrw_keepdir is 1.  This setting means that the current
+By default, |g:netrw_keepdir| is 1.  This setting means that the current
 directory will not track the browsing directory.  However, setting
-g:netrw_keepdir to 0 (say, in your <.vimrc>) will tell netrw to have the
-currently browsed directory be the current directory.
+g:netrw_keepdir to 0 (say, in your <.vimrc>) will tell netrw to make the
+currently browsed directory also be the current directory.
 
-With the default setting for g:netrw_keepdir, in order to make the two
-directories the same, use the "c" map (just type c).  That map will set the
-current directory to the current browsing directory.
+However, with the default setting for g:netrw_keepdir of 1 where netrw
+maintains its own separate notion of the current directory, in order to make
+the two directories the same, use the "c" map (just type c).  That map will
+set Vim's notion of the current directory to the netrw's current browsing
+directory.
 
 
 BOOKMARKING A DIRECTORY		*netrw-b* *netrw-bookmark* *netrw-bookmarks*
@@ -1447,6 +1462,17 @@
 ==============================================================================
 11. History						*netrw-history* {{{1
 
+	v91: * :Explore */pattern implemented
+	     * |'acd'| option bypassed
+	v90: * mark ', as suggested by Yegappan Lakshmanan, used to help
+	       guarantee entry into the jump list when appropriate.
+	     * <s-down> and <s-up> are no longer defined until a
+	       :Explore **/pattern  is used (if the user already has a map
+	       for them).  They will be defined for new browser windows
+	       from that point forward.
+	v89: * A <s-down>, <s-up>, :Nexplore, or a :Pexplore without having
+	       first done an :Explore **/pattern (see |netrw-starstar|) caused
+	       a lot of unhelpful error messages to appear
 	v88: * moved DrChip.Netrw menu to Netrw.  Now has priority 80 by
 	       default.  g:NetrwTopLvlMenu == "Netrw" and can be changed
 	       by the user to suit.  The priority is g:NetrwMenuPriority.
diff --git a/runtime/doc/print.txt b/runtime/doc/print.txt
index 54412da..b10157d 100644
--- a/runtime/doc/print.txt
+++ b/runtime/doc/print.txt
@@ -1,4 +1,4 @@
-*print.txt*     For Vim version 7.0e.  Last change: 2005 Apr 01
+*print.txt*     For Vim version 7.0e.  Last change: 2006 Apr 21
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -287,7 +287,7 @@
 
   if b: is missing, then use r:
   if i: is missing, then use r:
-  if o: is missing, then use i:
+  if o: is missing, then use b:
 
 Some CJK fonts do not contain characters for codes in the ASCII code range.
 Also, some characters in the CJK ASCII code ranges differ in a few code points
diff --git a/runtime/doc/quickref.txt b/runtime/doc/quickref.txt
index 8cefeaf..7872119 100644
--- a/runtime/doc/quickref.txt
+++ b/runtime/doc/quickref.txt
@@ -1,4 +1,4 @@
-*quickref.txt*  For Vim version 7.0e.  Last change: 2006 Mar 23
+*quickref.txt*  For Vim version 7.0e.  Last change: 2006 Apr 21
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -707,6 +707,7 @@
 'guioptions'      'go'      GUI: Which components and options are used
 'guipty'                    GUI: try to use a pseudo-tty for ":!" commands
 'guitablabel'     'gtl'     GUI: custom label for a tab page
+'guitabtooltip'   'gtt'     GUI: custom tooltip for a tab page
 'helpfile'        'hf'      full path name of the main help file
 'helpheight'      'hh'      minimum height of a new help window
 'helplang'        'hlg'     preferred help languages
diff --git a/runtime/doc/sponsor.txt b/runtime/doc/sponsor.txt
index fe7ab27..2f9090d 100644
--- a/runtime/doc/sponsor.txt
+++ b/runtime/doc/sponsor.txt
@@ -1,4 +1,4 @@
-*sponsor.txt*   For Vim version 7.0e.  Last change: 2006 Mar 29
+*sponsor.txt*   For Vim version 7.0e.  Last change: 2006 Apr 21
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -202,8 +202,8 @@
 
 That depends on your country.  The donations to help the children in |Uganda|
 are tax deductible in Holland, Germany, Canada and in the USA.  See the ICCF
-website http://www.iccf.nl/donate.html.  You must send an e-mail to Bram to
-let him know that the donation is done because of the use of Vim.
+website http://iccf-holland.org/donate.html.  You must send an e-mail to Bram
+to let him know that the donation is done because of the use of Vim.
 
 
 Can you send me a bill?
diff --git a/runtime/doc/tabpage.txt b/runtime/doc/tabpage.txt
index 566c802..f8d1223 100644
--- a/runtime/doc/tabpage.txt
+++ b/runtime/doc/tabpage.txt
@@ -1,4 +1,4 @@
-*tabpage.txt*   For Vim version 7.0e.  Last change: 2006 Apr 13
+*tabpage.txt*   For Vim version 7.0e.  Last change: 2006 Apr 21
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -82,6 +82,9 @@
 CTRL-W gf	Open a new tab page and edit the file name under the cursor.
 		See |CTRL-W_gf|.
 
+CTRL-W gF	Open a new tab page and edit the file name under the cursor
+		and jump to the line number following the file name.
+		See |CTRL-W_gF|.
 
 CLOSING A TAB PAGE:
 
@@ -306,21 +309,25 @@
 specifies the whole tab pages line at once, 'guitablabel' is used for each
 label separately.
 
+'guitabtooltip' is very similar and is used for the tooltip of the same label.
+This only appears when the mouse pointer hovers over the label, thus it
+usually is longer.  Only supported on some systems though.
+
 See the 'statusline' option for the format of the value.
 
 The "%N" item can be used for the current tab page number.  The |v:lnum|
-variable is also set to this number when 'guitablabel' is evaluated.
+variable is also set to this number when the option is evaluated.
 The items that use a file name refer to the current window of the tab page.
 
-Note that syntax highlighting is not used for 'guitablabel'.  The %T and %X
+Note that syntax highlighting is not used for the option.  The %T and %X
 items are also ignored.
 
 A simple example that puts the tab page number and the buffer name in the
 label: >
 	:set guitablabel=%N\ %f
 
-An example that resembles the default: Show the number of windows in the tab
-page and a '+' if there is a modifed buffer: >
+An example that resembles the default 'guitablabel': Show the number of
+windows in the tab page and a '+' if there is a modifed buffer: >
 
 	function GuiTabLabel()
 	  let label = ''
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index 82fc5dd..08e85d8 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 7.0e.  Last change: 2006 Apr 20
+*todo.txt*      For Vim version 7.0e.  Last change: 2006 Apr 21
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -30,7 +30,7 @@
 							*known-bugs*
 -------------------- Known bugs and current work -----------------------
 
-For a tooltip of at GUI tab label we need a new field.  Also 'guitabtip'?
+Win32: Crash when adding many menu entries. (Karl Waedt)
 
 Crash in "z=" when the change triggers checking out the file, FileChangedRO
 event.  Problem in move_lines()?  FileChangedShell also involved? (Neil Bird)
@@ -39,6 +39,7 @@
 Fix coverity false positives?
 
 Add more tests for all new functionality in Vim 7.  Especially new functions.
+    :undojoin
 
 Win32: Describe how to do debugging. (George Reilly)
 
diff --git a/runtime/doc/undo.txt b/runtime/doc/undo.txt
index 432c855..5e7b4ed 100644
--- a/runtime/doc/undo.txt
+++ b/runtime/doc/undo.txt
@@ -1,4 +1,4 @@
-*undo.txt*      For Vim version 7.0e.  Last change: 2006 Apr 12
+*undo.txt*      For Vim version 7.0e.  Last change: 2006 Apr 21
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -87,10 +87,11 @@
 If you want to write a function or script that doesn't create a new undoable
 change but joins in with the previous change use this command:
 
-							*:undoj* *:undojoin*
+						*:undoj* *:undojoin* *E790*
 :undoj[oin]		Join further changes with the previous undo block.
 			Warning: Use with care, it may prevent the user from
-			properly undoing changes.
+			properly undoing changes.  Don't use this after undo
+			or redo.
 			{not in Vi}
 
 This is most useful when you need to prompt the user halfway a change.  For
diff --git a/runtime/doc/version7.txt b/runtime/doc/version7.txt
index 6c701e1..1aa93b6 100644
--- a/runtime/doc/version7.txt
+++ b/runtime/doc/version7.txt
@@ -1,4 +1,4 @@
-*version7.txt*  For Vim version 7.0e.  Last change: 2006 Apr 20
+*version7.txt*  For Vim version 7.0e.  Last change: 2006 Apr 21
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -280,9 +280,9 @@
 
 The line with tab labels is either made with plain text an highlighting or
 with a GUI mechanism.  The GUI labels look better but are only available on a
-few systems.  The line can be customized with 'tabline' and 'guitablabel'.
-Whether it is displayed is set with 'showtabline'.  Whether to use the GUI
-labels is set with the "e" flag in 'guioptions'.
+few systems.  The line can be customized with 'tabline', 'guitablabel' and
+'guitabtooltip'.  Whether it is displayed is set with 'showtabline'.  Whether
+to use the GUI labels is set with the "e" flag in 'guioptions'.
 
 The |:tab| command modifier can be used to have most commands that open a new
 window open a new tab instead.
@@ -895,6 +895,7 @@
 BTM ftplugin file. (Bram Moolenaar)
 calendar ftplugin file. (Nikolai Weibull)
 Changelog indent file. (Nikolai Weibull)
+ChordPro syntax file. (Niels Bo Andersen)
 Cmake indent and syntax file. (Andy Cedilnik)
 conf ftplugin file. (Nikolai Weibull)
 context syntax and ftplugin file. (Nikolai Weibull)
@@ -2569,5 +2570,17 @@
 
 Completion could hang when 'lines' is 6 and a preview window was opened.
 
+Added CTRL-W gF: open file under cursor in new tab page and jump to the line
+number following the file name.
+Added 'guitabtooltip', but it's not implemented anywhere yet.
+
+Added "throw" to 'debug' option: thow an exception for error messages even
+whey they would otherwise be ignored.
+
+When 'keymap' is set and a line contains an invalid entry could get a "No
+mapping found" warning instead of a proper error message.
+
+Motif: default to using XpmAttributes instead of XpmAttributes_21.
+
 
  vim:tw=78:ts=8:ft=help:norl:
diff --git a/runtime/doc/windows.txt b/runtime/doc/windows.txt
index f3e1c45..2e5db8b 100644
--- a/runtime/doc/windows.txt
+++ b/runtime/doc/windows.txt
@@ -729,6 +729,8 @@
 		Split current window in two.  Edit file name under cursor and
 		jump to the line number following the file name. See |gF| for
 		details on how the line number is obtained.
+		{not available when the |+file_in_path| feature was disabled
+		at compile time}
 
 CTRL-W gf						*CTRL-W_gf*
 		Open a new tab page and edit the file name under the cursor.
@@ -737,6 +739,14 @@
 		{not available when the |+file_in_path| feature was disabled
 		at compile time}
 
+CTRL-W gF						*CTRL-W_gF*
+		Open a new tab page and edit the file name under the cursor
+		and jump to the line number following the file name.  Like
+		"tab split" and "gF", but the new tab page isn't created if
+		the file does not exist.
+		{not available when the |+file_in_path| feature was disabled
+		at compile time}
+
 Also see |CTRL-W_CTRL-I|: open window for an included file that includes
 the keyword under the cursor.
 
diff --git a/runtime/filetype.vim b/runtime/filetype.vim
index ef59e53..617cbe6 100644
--- 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 19
+" Last Change:	2006 Apr 21
 
 " Listen very carefully, I will say this only once
 if exists("did_load_filetypes")
@@ -390,6 +390,9 @@
   setf chill
 endfun
 
+" ChordPro
+au BufNewFile,BufRead *.chopro,*.crd,*.cho,*.crdpro,*.chordpro	setf chordpro
+
 " Clean
 au BufNewFile,BufRead *.dcl,*.icl		setf clean
 
diff --git a/runtime/ftplugin/a2ps.vim b/runtime/ftplugin/a2ps.vim
index e590c98..a596fc8 100644
--- a/runtime/ftplugin/a2ps.vim
+++ b/runtime/ftplugin/a2ps.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         a2ps(1) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
diff --git a/runtime/ftplugin/ada.vim b/runtime/ftplugin/ada.vim
index 06c057f..13fa8f9 100644
--- a/runtime/ftplugin/ada.vim
+++ b/runtime/ftplugin/ada.vim
@@ -1,7 +1,7 @@
 " Vim Ada plugin file
 " Language:	Ada
 " Maintainer:	Neil Bird <neil@fnxweb.com>
-" Last Change:	2003 May 11
+" Last Change:	2006 Apr 21
 " Version:	$Id$
 " Look for the latest version at http://vim.sourceforge.net/
 "
@@ -14,7 +14,6 @@
 " Exports 'AdaWord()' function to return full name of Ada entity under the
 " cursor( or at given line/column), stripping whitespace/newlines as necessary.
 
-
 " Only do this when not done yet for this buffer
 if exists("b:did_ftplugin")
   finish
@@ -27,11 +26,9 @@
 let s:cpoptions = &cpoptions
 set cpo-=C
 
-
 " Ada comments
 setlocal comments+=O:--
 
-
 " Make local tag mappings for this buffer (if not already set)
 if mapcheck('<C-]>','n') == ''
   nnoremap <unique> <buffer> <C-]>    :call JumpToTag_ada('')<cr>
diff --git a/runtime/ftplugin/alsaconf.vim b/runtime/ftplugin/alsaconf.vim
index c0e13a7..0ef6991 100644
--- a/runtime/ftplugin/alsaconf.vim
+++ b/runtime/ftplugin/alsaconf.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         alsaconf(8) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
diff --git a/runtime/ftplugin/arch.vim b/runtime/ftplugin/arch.vim
index 9433f10..2da9e40 100644
--- a/runtime/ftplugin/arch.vim
+++ b/runtime/ftplugin/arch.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         GNU Arch inventory file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
diff --git a/runtime/ftplugin/automake.vim b/runtime/ftplugin/automake.vim
index 1ef28d1..c48ea13 100644
--- a/runtime/ftplugin/automake.vim
+++ b/runtime/ftplugin/automake.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         Automake
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-06-22
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
diff --git a/runtime/ftplugin/bdf.vim b/runtime/ftplugin/bdf.vim
index 92ee66b..a010c2c 100644
--- a/runtime/ftplugin/bdf.vim
+++ b/runtime/ftplugin/bdf.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         BDF font definition
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
diff --git a/runtime/ftplugin/calendar.vim b/runtime/ftplugin/calendar.vim
index c786203..ca56511 100644
--- a/runtime/ftplugin/calendar.vim
+++ b/runtime/ftplugin/calendar.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         calendar(1) input file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
diff --git a/runtime/ftplugin/changelog.vim b/runtime/ftplugin/changelog.vim
index b229dbe..b4206a2 100644
--- a/runtime/ftplugin/changelog.vim
+++ b/runtime/ftplugin/changelog.vim
@@ -1,11 +1,14 @@
 " Vim filetype plugin file
 " Language:         generic Changelog file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-06-29
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 " Variables:
-"   g:changelog_timeformat -
+"   g:changelog_timeformat (deprecated: use g:changelog_dateformat instead) -
 "       description: the timeformat used in ChangeLog entries.
 "       default: "%Y-%m-%d".
+"   g:changelog_dateformat -
+"       description: the format sent to strftime() to generate a date string.
+"       default: "%Y-%m-%d".
 "   g:changelog_username -
 "       description: the username to use in ChangeLog entries
 "       default: try to deduce it from environment variables and system files.
@@ -25,8 +28,8 @@
 "  Problem is that you might end up with ChangeLog files all over the place.
 
 " If 'filetype' isn't "changelog", we must have been to add ChangeLog opener
-if &filetype == "changelog"
-  if exists("b:did_ftplugin")
+if &filetype == 'changelog'
+  if exists('b:did_ftplugin')
     finish
   endif
   let b:did_ftplugin = 1
@@ -34,20 +37,25 @@
   let s:cpo_save = &cpo
   set cpo&vim
 
-  " The format of the date-time field (should have been called dateformat)
-  if !exists("g:changelog_timeformat")
-    let g:changelog_timeformat = "%Y-%m-%d"
+  " Set up the format used for dates.
+  if !exists('g:changelog_dateformat')
+    if exists('g:changelog_timeformat')
+      let g:changelog_dateformat = g:changelog_timeformat
+    else
+      let g:changelog_dateformat = "%Y-%m-%d"
+    endif
   endif
 
   " Try to figure out a reasonable username of the form:
-  " Full Name <user@host>
-  if !exists("g:changelog_username")
-    if exists("$EMAIL_ADDRESS")
-      let g:changelog_username = $EMAIL_ADDRESS
-    elseif exists("$EMAIL")
+  "   Full Name <user@host>.
+  if !exists('g:changelog_username')
+    if exists('$EMAIL') && $EMAIL != ''
       let g:changelog_username = $EMAIL
+    elseif exists('$EMAIL_ADDRESS') && $EMAIL_ADDRESS != ''
+      " This is some Debian junk if I remember correctly.
+      let g:changelog_username = $EMAIL_ADDRESS
     else
-      " Get the users login name
+      " Get the users login name.
       let login = system('whoami')
       if v:shell_error
         let login = 'unknown'
@@ -58,43 +66,42 @@
         endif
       endif
 
-      " Try to full name from gecos field in /etc/passwd
+      " Try to get the full name from gecos field in /etc/passwd.
       if filereadable('/etc/passwd')
-        let name = substitute(
-              \system('cat /etc/passwd | grep ^`whoami`'),
-              \'^\%([^:]*:\)\{4}\([^:]*\):.*$', '\1', '')
+        for line in readfile('/etc/passwd')
+          if line =~ '^' . login
+            let name = substitute(line,'^\%([^:]*:\)\{4}\([^:]*\):.*$','\1','')
+            " Only keep stuff before the first comma.
+            let comma = stridx(name, ',')
+            if comma != -1
+              let name = strpart(name, 0, comma)
+            endif
+            " And substitute & in the real name with the login of our user.
+            let amp = stridx(name, '&')
+            if amp != -1
+              let name = strpart(name, 0, amp) . toupper(login[0]) .
+                       \ strpart(login, 1) . strpart(name, amp + 1)
+            endif
+          endif
+        endfor
       endif
 
-      " If there is no such file, or there was some other problem try
-      " others
-      if !filereadable('/etc/passwd') || v:shell_error
-        " Maybe the environment has something of interest
+      " If we haven't found a name, try to gather it from other places.
+      if !exists('name')
+        " Maybe the environment has something of interest.
         if exists("$NAME")
           let name = $NAME
         else
           " No? well, use the login name and capitalize first
-          " character
+          " character.
           let name = toupper(login[0]) . strpart(login, 1)
         endif
       endif
 
-      " Only keep stuff before the first comma
-      let comma = stridx(name, ',')
-      if comma != -1
-        let name = strpart(name, 0, comma)
-      endif
-
-      " And substitute & in the real name with the login of our user
-      let amp = stridx(name, '&')
-      if amp != -1
-        let name = strpart(name, 0, amp) . toupper(login[0]) .
-              \strpart(login, 1) . strpart(name, amp + 1)
-      endif
-
-      " Get our hostname
-      let hostname = system("hostname")
+      " Get our hostname.
+      let hostname = system('hostname')
       if v:shell_error
-        let hostname = 'unknownhost'
+        let hostname = 'localhost'
       else
         let newline = stridx(hostname, "\n")
         if newline != -1
@@ -102,102 +109,99 @@
         endif
       endif
 
-      " And finally set the username
-      let g:changelog_username = name.'  <'.login.'@'.hostname.'>'
+      " And finally set the username.
+      let g:changelog_username = name . '  <' . login . '@' . hostname . '>'
     endif
   endif
 
-  " Format used for new date-entries
-  if !exists("g:changelog_new_date_format")
+  " Format used for new date entries.
+  if !exists('g:changelog_new_date_format')
     let g:changelog_new_date_format = "%d  %u\n\n\t* %c\n\n"
   endif
 
-  " Format used for new entries to current date-entry
-  if !exists("g:changelog_new_entry_format")
+  " Format used for new entries to current date entry.
+  if !exists('g:changelog_new_entry_format')
     let g:changelog_new_entry_format = "\t* %c"
   endif
 
-  if !exists("g:changelog_date_entry_search")
+  " Regular expression used to find a given date entry.
+  if !exists('g:changelog_date_entry_search')
     let g:changelog_date_entry_search = '^\s*%d\_s*%u'
   endif
 
-  " Substitutes specific items in new date-entry formats and search strings
-  " Can be done with substitute of course, but unclean, and need \@! then
+  " Substitutes specific items in new date-entry formats and search strings.
+  " Can be done with substitute of course, but unclean, and need \@! then.
   function! s:substitute_items(str, date, user)
     let str = a:str
+    let middles = {'%': '%', 'd': a:date, 'u': a:user, 'c': '{cursor}'}
     let i = stridx(str, '%')
     while i != -1
-      let char = str[i + 1]
-      if char == '%'
-        let middle = '%'
-      elseif char == 'd'
-        let middle = a:date
-      elseif char == 'u'
-        let middle = a:user
-      elseif char == 'c'
-        let middle = '{cursor}'
-      else
-        let middle = char
+      let inc = 0
+      if has_key(middles, str[i + 1])
+        let mid = middles[str[i + 1]]
+        let str = strpart(str, 0, i) . mid . strpart(str, i + 2)
+        let inc = strlen(mid)
       endif
-      let str = strpart(str, 0, i) . middle . strpart(str, i + 2)
-      let i = stridx(str, '%')
+      let i = stridx(str, '%', i + 1 + inc)
     endwhile
     return str
   endfunction
 
+  " Position the cursor once we've done all the funky substitution.
   function! s:position_cursor()
     if search('{cursor}') > 0
-      let pos = line('.')
-      let line = getline(pos)
+      let lnum = line('.')
+      let line = getline(lnum)
       let cursor = stridx(line, '{cursor}')
-      call setline(pos, substitute(line, '{cursor}', '', ''))
+      call setline(lnum, substitute(line, '{cursor}', '', ''))
     endif
     startinsert!
   endfunction
 
-  " Internal function to create a new entry in the ChangeLog
+  " Internal function to create a new entry in the ChangeLog.
   function! s:new_changelog_entry()
-    " Deal with 'paste' option
+    " Deal with 'paste' option.
     let save_paste = &paste
     let &paste = 1
-    1
-    " Look for an entry for today by our user
-    let date = strftime(g:changelog_timeformat)
+    call cursor(1, 1)
+    " Look for an entry for today by our user.
+    let date = strftime(g:changelog_dateformat)
     let search = s:substitute_items(g:changelog_date_entry_search, date,
-          \g:changelog_username)
+                                  \ g:changelog_username)
     if search(search) > 0
-      " Ok, now we look for the end of the date-entry, and add an entry
-      let pos = nextnonblank(line('.') + 1)
-      let line = getline(pos)
-      while line =~ '^\s\+\S\+'
-        let pos = pos + 1
-        let line = getline(pos)
-      endwhile
-      let insert = s:substitute_items(g:changelog_new_entry_format,
-            \'', '')
-      execute "normal! ".(pos - 1)."Go".insert
-      execute pos
+      " Ok, now we look for the end of the date entry, and add an entry.
+      call cursor(nextnonblank(line('.') + 1), 1)
+      if search('^\s*$', 'W') > 0
+        let p = line('.') - 1
+      else
+        let p = line('.')
+      endif
+      let ls = split(s:substitute_items(g:changelog_new_entry_format, '', ''),
+                   \ '\n')
+      call append(p, ls)
+      call cursor(p + 1, 1)
     else
-      " Flag for removing empty lines at end of new ChangeLogs
+      " Flag for removing empty lines at end of new ChangeLogs.
       let remove_empty = line('$') == 1
 
-      " No entry today, so create a date-user header and insert an entry
+      " No entry today, so create a date-user header and insert an entry.
       let todays_entry = s:substitute_items(g:changelog_new_date_format,
-            \date, g:changelog_username)
-      " Make sure we have a cursor positioning
+                                          \ date, g:changelog_username)
+      " Make sure we have a cursor positioning.
       if stridx(todays_entry, '{cursor}') == -1
-        let todays_entry = todays_entry.'{cursor}'
+        let todays_entry = todays_entry . '{cursor}'
       endif
 
-      " Now do the work
-      execute "normal! i".todays_entry
+      " Now do the work.
+      call append(0, split(todays_entry, '\n'))
+      
+      " Remove empty lines at end of file.
       if remove_empty
-        while getline('$') == ''
-          $delete
-        endwhile
+        $-/^\s*$/-1,$delete
       endif
 
-      1
+      " Reposition cursor once we're done.
+      call cursor(1, 1)
     endif
 
     call s:position_cursor()
@@ -211,16 +215,18 @@
     command! -nargs=0 NewChangelogEntry call s:new_changelog_entry()
   endif
 
-  let b:undo_ftplugin = "setl com< tw< fo< et< ai<"
+  let b:undo_ftplugin = "setl com< fo< et< ai<"
 
-  if &textwidth == 0
-    setlocal textwidth=78
-  endif
   setlocal comments=
   setlocal formatoptions+=t
   setlocal noexpandtab
   setlocal autoindent
 
+  if &textwidth == 0
+    setlocal textwidth=78
+    let b:undo_ftplugin .= " tw<"
+  endif
+
   let &cpo = s:cpo_save
   unlet s:cpo_save
 else
@@ -228,23 +234,20 @@
   nmap <silent> <Leader>o :call <SID>open_changelog()<CR>
 
   function! s:open_changelog()
-    if filereadable('ChangeLog')
-      if bufloaded('ChangeLog')
-        let buf = bufnr('ChangeLog')
-        execute "normal! \<C-W>t"
-        while winbufnr(winnr()) != buf
-          execute "normal! \<C-W>w"
-        endwhile
-      else
-        split ChangeLog
-      endif
-
-      if exists("g:mapleader")
-        execute "normal " . g:mapleader . "o"
-      else
-        execute "normal \\o"
-      endif
-      startinsert!
+    if !filereadable('ChangeLog')
+      return
     endif
+    let buf = bufnr('ChangeLog')
+    if buf != -1
+      if bufwinnr(buf) != -1
+        execute buf . 'wincmd w'
+      else
+        execute 'bsplit' buf
+      endif
+    else
+      split ChangeLog
+    endif
+
+    call s:new_changelog_entry()
   endfunction
 endif
diff --git a/runtime/ftplugin/conf.vim b/runtime/ftplugin/conf.vim
index 6087c21..8e0b7f8 100644
--- a/runtime/ftplugin/conf.vim
+++ b/runtime/ftplugin/conf.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         generic configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
diff --git a/runtime/ftplugin/context.vim b/runtime/ftplugin/context.vim
index 10be14c..c74be07 100644
--- a/runtime/ftplugin/context.vim
+++ b/runtime/ftplugin/context.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         ConTeXt typesetting engine
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
@@ -13,7 +13,7 @@
 
 let b:undo_ftplugin = "setl com< cms< def< inc< sua< fo<"
 
-setlocal comments=:%,b:%D,b:%C,b:%M commentstring=%\ %s formatoptions+=tcroql
+setlocal comments=b:%D,b:%C,b:%M,:% commentstring=%\ %s formatoptions+=tcroql
 
 let &l:define='\\\%([egx]\|char\|mathchar\|count\|dimen\|muskip\|skip\|toks\)\='
         \ .     'def\|\\font\|\\\%(future\)\=let'
diff --git a/runtime/ftplugin/crm.vim b/runtime/ftplugin/crm.vim
index 71ae83f..8ec42a9 100644
--- a/runtime/ftplugin/crm.vim
+++ b/runtime/ftplugin/crm.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         CRM114
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
diff --git a/runtime/ftplugin/css.vim b/runtime/ftplugin/css.vim
index d9d9005..13a0f9f 100644
--- a/runtime/ftplugin/css.vim
+++ b/runtime/ftplugin/css.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         CSS
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
diff --git a/runtime/ftplugin/cvsrc.vim b/runtime/ftplugin/cvsrc.vim
index beb222f..2a49f8d 100644
--- a/runtime/ftplugin/cvsrc.vim
+++ b/runtime/ftplugin/cvsrc.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         cvs(1) RC file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
diff --git a/runtime/ftplugin/dictconf.vim b/runtime/ftplugin/dictconf.vim
index b818ff1..6ebd94a 100644
--- a/runtime/ftplugin/dictconf.vim
+++ b/runtime/ftplugin/dictconf.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         dict(1) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-06-30
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
diff --git a/runtime/ftplugin/dictdconf.vim b/runtime/ftplugin/dictdconf.vim
index 68111b1..bda8782 100644
--- a/runtime/ftplugin/dictdconf.vim
+++ b/runtime/ftplugin/dictdconf.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         dictd(8) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-01
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
diff --git a/runtime/ftplugin/dircolors.vim b/runtime/ftplugin/dircolors.vim
index 4bda7ea..bdbecc0 100644
--- a/runtime/ftplugin/dircolors.vim
+++ b/runtime/ftplugin/dircolors.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         dircolors(1) input file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
diff --git a/runtime/ftplugin/elinks.vim b/runtime/ftplugin/elinks.vim
index ac1642d..c7c11f6 100644
--- a/runtime/ftplugin/elinks.vim
+++ b/runtime/ftplugin/elinks.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         elinks(1) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
diff --git a/runtime/ftplugin/eterm.vim b/runtime/ftplugin/eterm.vim
index 257a415..df5bf50 100644
--- a/runtime/ftplugin/eterm.vim
+++ b/runtime/ftplugin/eterm.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         eterm(1) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
diff --git a/runtime/ftplugin/fetchmail.vim b/runtime/ftplugin/fetchmail.vim
index e9f195f..174ed44 100644
--- a/runtime/ftplugin/fetchmail.vim
+++ b/runtime/ftplugin/fetchmail.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         fetchmail(1) RC File
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
diff --git a/runtime/ftplugin/gpg.vim b/runtime/ftplugin/gpg.vim
index b684244..d4bed14 100644
--- a/runtime/ftplugin/gpg.vim
+++ b/runtime/ftplugin/gpg.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         gpg(1) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
diff --git a/runtime/ftplugin/group.vim b/runtime/ftplugin/group.vim
index 443c4eb..447ba18 100644
--- a/runtime/ftplugin/group.vim
+++ b/runtime/ftplugin/group.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         group(5) user group file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
diff --git a/runtime/ftplugin/grub.vim b/runtime/ftplugin/grub.vim
index 6230ec3..162fcd3 100644
--- a/runtime/ftplugin/grub.vim
+++ b/runtime/ftplugin/grub.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         grub(8) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
diff --git a/runtime/ftplugin/haskell.vim b/runtime/ftplugin/haskell.vim
index 141e90a..a16dadb 100644
--- a/runtime/ftplugin/haskell.vim
+++ b/runtime/ftplugin/haskell.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         Haskell
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
diff --git a/runtime/ftplugin/help.vim b/runtime/ftplugin/help.vim
index e2439ba..7e82081 100644
--- a/runtime/ftplugin/help.vim
+++ b/runtime/ftplugin/help.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         Vim help file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-06-29
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
diff --git a/runtime/ftplugin/indent.vim b/runtime/ftplugin/indent.vim
index 8266e93..2047b1d 100644
--- a/runtime/ftplugin/indent.vim
+++ b/runtime/ftplugin/indent.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         indent(1) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
diff --git a/runtime/ftplugin/ld.vim b/runtime/ftplugin/ld.vim
index f8ba589..544fc0d 100644
--- a/runtime/ftplugin/ld.vim
+++ b/runtime/ftplugin/ld.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         ld(1) script
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
diff --git a/runtime/ftplugin/lftp.vim b/runtime/ftplugin/lftp.vim
index 8b26e55..e81684c 100644
--- a/runtime/ftplugin/lftp.vim
+++ b/runtime/ftplugin/lftp.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         lftp(1) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
diff --git a/runtime/ftplugin/libao.vim b/runtime/ftplugin/libao.vim
index 83a00f3..8845b17 100644
--- a/runtime/ftplugin/libao.vim
+++ b/runtime/ftplugin/libao.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         libao.conf(5) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
diff --git a/runtime/ftplugin/limits.vim b/runtime/ftplugin/limits.vim
index 5863723..6b18c83 100644
--- a/runtime/ftplugin/limits.vim
+++ b/runtime/ftplugin/limits.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         limits(5) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
diff --git a/runtime/ftplugin/loginaccess.vim b/runtime/ftplugin/loginaccess.vim
index 616ff0b..c5cb1b1 100644
--- a/runtime/ftplugin/loginaccess.vim
+++ b/runtime/ftplugin/loginaccess.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         login.access(5) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
diff --git a/runtime/ftplugin/logindefs.vim b/runtime/ftplugin/logindefs.vim
index e51a383..431755e 100644
--- a/runtime/ftplugin/logindefs.vim
+++ b/runtime/ftplugin/logindefs.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         login.defs(5) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
diff --git a/runtime/ftplugin/m4.vim b/runtime/ftplugin/m4.vim
index 1754fd0..8702584 100644
--- a/runtime/ftplugin/m4.vim
+++ b/runtime/ftplugin/m4.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         m4
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
diff --git a/runtime/ftplugin/mailcap.vim b/runtime/ftplugin/mailcap.vim
index ec1143f..df4e994 100644
--- a/runtime/ftplugin/mailcap.vim
+++ b/runtime/ftplugin/mailcap.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         Mailcap configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
diff --git a/runtime/ftplugin/manconf.vim b/runtime/ftplugin/manconf.vim
index ac4b1fa..69cf6f5 100644
--- a/runtime/ftplugin/manconf.vim
+++ b/runtime/ftplugin/manconf.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         man.conf(5) - man configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-06-30
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
diff --git a/runtime/ftplugin/mf.vim b/runtime/ftplugin/mf.vim
index d9c9c90..e351a13 100644
--- a/runtime/ftplugin/mf.vim
+++ b/runtime/ftplugin/mf.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         MetaFont
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
diff --git a/runtime/ftplugin/modconf.vim b/runtime/ftplugin/modconf.vim
index a33a8f6..97102a1 100644
--- a/runtime/ftplugin/modconf.vim
+++ b/runtime/ftplugin/modconf.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         modules.conf(5) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
diff --git a/runtime/ftplugin/mp.vim b/runtime/ftplugin/mp.vim
index aad8d95..1d709ea 100644
--- a/runtime/ftplugin/mp.vim
+++ b/runtime/ftplugin/mp.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         MetaPost
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
diff --git a/runtime/ftplugin/mplayerconf.vim b/runtime/ftplugin/mplayerconf.vim
index 15ff201..e410667 100644
--- a/runtime/ftplugin/mplayerconf.vim
+++ b/runtime/ftplugin/mplayerconf.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         mplayer(1) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
diff --git a/runtime/ftplugin/muttrc.vim b/runtime/ftplugin/muttrc.vim
index 184d6e5..18b06d8 100644
--- a/runtime/ftplugin/muttrc.vim
+++ b/runtime/ftplugin/muttrc.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         mutt RC File
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
diff --git a/runtime/ftplugin/nanorc.vim b/runtime/ftplugin/nanorc.vim
index 539ee02..67a2a48 100644
--- a/runtime/ftplugin/nanorc.vim
+++ b/runtime/ftplugin/nanorc.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         nanorc(5) - GNU nano configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-06-30
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
diff --git a/runtime/ftplugin/netrc.vim b/runtime/ftplugin/netrc.vim
index 206dfd0..0f9417a 100644
--- a/runtime/ftplugin/netrc.vim
+++ b/runtime/ftplugin/netrc.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         netrc(5) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
diff --git a/runtime/ftplugin/pamconf.vim b/runtime/ftplugin/pamconf.vim
index 860c0d0..cf9707a 100644
--- a/runtime/ftplugin/pamconf.vim
+++ b/runtime/ftplugin/pamconf.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         pam(8) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
diff --git a/runtime/ftplugin/passwd.vim b/runtime/ftplugin/passwd.vim
index 3b08ae4..20f2b7f 100644
--- a/runtime/ftplugin/passwd.vim
+++ b/runtime/ftplugin/passwd.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         passwd(5) password file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
diff --git a/runtime/ftplugin/pinfo.vim b/runtime/ftplugin/pinfo.vim
index f56467f..7f1ecdf 100644
--- a/runtime/ftplugin/pinfo.vim
+++ b/runtime/ftplugin/pinfo.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         pinfo(1) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
diff --git a/runtime/ftplugin/procmail.vim b/runtime/ftplugin/procmail.vim
index f3edc36..a8db58e 100644
--- a/runtime/ftplugin/procmail.vim
+++ b/runtime/ftplugin/procmail.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         procmail(1) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
diff --git a/runtime/ftplugin/prolog.vim b/runtime/ftplugin/prolog.vim
index eebbdab..cf191a9 100644
--- a/runtime/ftplugin/prolog.vim
+++ b/runtime/ftplugin/prolog.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         Prolog
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
diff --git a/runtime/ftplugin/protocols.vim b/runtime/ftplugin/protocols.vim
index 2e04d85..b3679bd 100644
--- a/runtime/ftplugin/protocols.vim
+++ b/runtime/ftplugin/protocols.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         protocols(5) - Internet protocols definition file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-06-30
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
diff --git a/runtime/ftplugin/quake.vim b/runtime/ftplugin/quake.vim
index e658eb0..25c6e7e 100644
--- a/runtime/ftplugin/quake.vim
+++ b/runtime/ftplugin/quake.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         Quake[1-3] configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
diff --git a/runtime/ftplugin/racc.vim b/runtime/ftplugin/racc.vim
index 6969080..72c1e14 100644
--- a/runtime/ftplugin/racc.vim
+++ b/runtime/ftplugin/racc.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         Racc input file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
diff --git a/runtime/ftplugin/readline.vim b/runtime/ftplugin/readline.vim
index bf29a41..9656c57 100644
--- a/runtime/ftplugin/readline.vim
+++ b/runtime/ftplugin/readline.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         readline(3) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
diff --git a/runtime/ftplugin/rnc.vim b/runtime/ftplugin/rnc.vim
index ca875b8..a5d21fb 100644
--- a/runtime/ftplugin/rnc.vim
+++ b/runtime/ftplugin/rnc.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         Relax NG compact syntax
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
diff --git a/runtime/ftplugin/rst.vim b/runtime/ftplugin/rst.vim
index 7c297b8..8fc25e9 100644
--- a/runtime/ftplugin/rst.vim
+++ b/runtime/ftplugin/rst.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         reStructuredText documentation format
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
diff --git a/runtime/ftplugin/screen.vim b/runtime/ftplugin/screen.vim
index 03b9b98..92ce475 100644
--- a/runtime/ftplugin/screen.vim
+++ b/runtime/ftplugin/screen.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         screen(1) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
diff --git a/runtime/ftplugin/sensors.vim b/runtime/ftplugin/sensors.vim
index d675cd9..e1f66fc 100644
--- a/runtime/ftplugin/sensors.vim
+++ b/runtime/ftplugin/sensors.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         sensors.conf(5) - libsensors configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
diff --git a/runtime/ftplugin/services.vim b/runtime/ftplugin/services.vim
index de7d15e..d670cd9 100644
--- a/runtime/ftplugin/services.vim
+++ b/runtime/ftplugin/services.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         services(5) - Internet network services list
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-06-30
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
diff --git a/runtime/ftplugin/setserial.vim b/runtime/ftplugin/setserial.vim
index ea0cb96..4b4796b 100644
--- a/runtime/ftplugin/setserial.vim
+++ b/runtime/ftplugin/setserial.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         setserial(8) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
diff --git a/runtime/ftplugin/sieve.vim b/runtime/ftplugin/sieve.vim
index 39b5d76..d906e19 100644
--- a/runtime/ftplugin/sieve.vim
+++ b/runtime/ftplugin/sieve.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         Sieve filtering language input file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
diff --git a/runtime/ftplugin/slpconf.vim b/runtime/ftplugin/slpconf.vim
index dea5dfd..8c92a55 100644
--- a/runtime/ftplugin/slpconf.vim
+++ b/runtime/ftplugin/slpconf.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         RFC 2614 - An API for Service Location configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
diff --git a/runtime/ftplugin/slpreg.vim b/runtime/ftplugin/slpreg.vim
index 71e865b..07e42c1 100644
--- a/runtime/ftplugin/slpreg.vim
+++ b/runtime/ftplugin/slpreg.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         RFC 2614 - An API for Service Location registration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
diff --git a/runtime/ftplugin/slpspi.vim b/runtime/ftplugin/slpspi.vim
index 181a7ec..d6a6751 100644
--- a/runtime/ftplugin/slpspi.vim
+++ b/runtime/ftplugin/slpspi.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         RFC 2614 - An API for Service Location SPI file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
diff --git a/runtime/ftplugin/sshconfig.vim b/runtime/ftplugin/sshconfig.vim
index f02bc7a..3552696 100644
--- a/runtime/ftplugin/sshconfig.vim
+++ b/runtime/ftplugin/sshconfig.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         OpenSSH client configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
diff --git a/runtime/ftplugin/sudoers.vim b/runtime/ftplugin/sudoers.vim
index 30c1f5c..a698f04 100644
--- a/runtime/ftplugin/sudoers.vim
+++ b/runtime/ftplugin/sudoers.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         sudoers(5) configuration files
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
diff --git a/runtime/ftplugin/sysctl.vim b/runtime/ftplugin/sysctl.vim
index 90618f9..6b1ac6c 100644
--- a/runtime/ftplugin/sysctl.vim
+++ b/runtime/ftplugin/sysctl.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         sysctl.conf(5) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
diff --git a/runtime/ftplugin/terminfo.vim b/runtime/ftplugin/terminfo.vim
index 822cac4..a473bcd 100644
--- a/runtime/ftplugin/terminfo.vim
+++ b/runtime/ftplugin/terminfo.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         terminfo(5) definition
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
diff --git a/runtime/ftplugin/udevconf.vim b/runtime/ftplugin/udevconf.vim
index b7a7f84..c0a0982 100644
--- a/runtime/ftplugin/udevconf.vim
+++ b/runtime/ftplugin/udevconf.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         udev(8) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-01
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
diff --git a/runtime/ftplugin/udevperm.vim b/runtime/ftplugin/udevperm.vim
index 584a4e7..82602b1 100644
--- a/runtime/ftplugin/udevperm.vim
+++ b/runtime/ftplugin/udevperm.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         udev(8) permissions file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-01
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
diff --git a/runtime/ftplugin/udevrules.vim b/runtime/ftplugin/udevrules.vim
index 29c02b0..3cb4c33 100644
--- a/runtime/ftplugin/udevrules.vim
+++ b/runtime/ftplugin/udevrules.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         udev(8) rules file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-01
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
diff --git a/runtime/ftplugin/updatedb.vim b/runtime/ftplugin/updatedb.vim
index 2035462..db35fee 100644
--- a/runtime/ftplugin/updatedb.vim
+++ b/runtime/ftplugin/updatedb.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         updatedb.conf(5) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
diff --git a/runtime/ftplugin/xdefaults.vim b/runtime/ftplugin/xdefaults.vim
index e65cfdd..b441dfe 100644
--- a/runtime/ftplugin/xdefaults.vim
+++ b/runtime/ftplugin/xdefaults.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         X resources files like ~/.Xdefaults (xrdb)
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
diff --git a/runtime/ftplugin/xf86conf.vim b/runtime/ftplugin/xf86conf.vim
index 2973dcd..29e9eac 100644
--- a/runtime/ftplugin/xf86conf.vim
+++ b/runtime/ftplugin/xf86conf.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         XFree86 Configuration File
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
diff --git a/runtime/ftplugin/xinetd.vim b/runtime/ftplugin/xinetd.vim
index b789a9d..b62dec5 100644
--- a/runtime/ftplugin/xinetd.vim
+++ b/runtime/ftplugin/xinetd.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         xinetd.conf(5) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
diff --git a/runtime/ftplugin/xmodmap.vim b/runtime/ftplugin/xmodmap.vim
index c9bdec4..a0d913e 100644
--- a/runtime/ftplugin/xmodmap.vim
+++ b/runtime/ftplugin/xmodmap.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         xmodmap(1) definition file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
diff --git a/runtime/ftplugin/yaml.vim b/runtime/ftplugin/yaml.vim
index 0b77f67..a2893cd 100644
--- a/runtime/ftplugin/yaml.vim
+++ b/runtime/ftplugin/yaml.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         YAML (YAML Ain't Markup Language)
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
diff --git a/runtime/ftplugin/zsh.vim b/runtime/ftplugin/zsh.vim
index cd82fa4..c8f82a5 100644
--- a/runtime/ftplugin/zsh.vim
+++ b/runtime/ftplugin/zsh.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         Zsh shell script
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
diff --git a/runtime/indent/automake.vim b/runtime/indent/automake.vim
index 0f8dbad..28d77a8 100644
--- a/runtime/indent/automake.vim
+++ b/runtime/indent/automake.vim
@@ -1,7 +1,7 @@
 " Vim indent file
 " Language:         automake
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-06-29
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_indent")
   finish
diff --git a/runtime/indent/cmake.vim b/runtime/indent/cmake.vim
index e36937d..a1ad832 100644
--- a/runtime/indent/cmake.vim
+++ b/runtime/indent/cmake.vim
@@ -56,7 +56,7 @@
                     \       or . '[^()\\#"]' . or . '\\.' . '\)*'
 
   let cmake_indent_comment_line = '^\s*' . cmake_regex_comment
-  let cmake_indent_blank_regex = '^\s*$')
+  let cmake_indent_blank_regex = '^\s*$'
   let cmake_indent_open_regex = '^\s*' . cmake_regex_identifier .
                     \           '\s*(' . cmake_regex_arguments .
                     \           '\(' . cmake_regex_comment . '\)\?$'
@@ -65,8 +65,8 @@
                     \            ')\s*' .
                     \            '\(' . cmake_regex_comment . '\)\?$'
 
-  let cmake_indent_begin_regex = '^\s*\(IF\|MACRO\|FOREACH\|ELSE\)\s*('
-  let cmake_indent_end_regex = '^\s*\(ENDIF\|ENDFOREACH\|ENDMACRO\|ELSE\)\s*('
+  let cmake_indent_begin_regex = '^\s*\(IF\|MACRO\|FOREACH\|ELSE\|WHILE\)\s*('
+  let cmake_indent_end_regex = '^\s*\(ENDIF\|ENDFOREACH\|ENDMACRO\|ELSE\|ENDWHILE\)\s*('
 
   " Add
   if previous_line =~? cmake_indent_comment_line " Handle comments
diff --git a/runtime/indent/config.vim b/runtime/indent/config.vim
index c6c54b2..d763db0 100644
--- a/runtime/indent/config.vim
+++ b/runtime/indent/config.vim
@@ -1,7 +1,7 @@
 " Vim indent file
 " Language:         Autoconf configure.{ac,in} file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2006-02-11
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 " TODO:             how about nested [()]'s in one line
 "                   what's wrong with '\\\@!'?
 
diff --git a/runtime/indent/css.vim b/runtime/indent/css.vim
index b0560b4..8c6f114 100644
--- a/runtime/indent/css.vim
+++ b/runtime/indent/css.vim
@@ -1,7 +1,7 @@
 " Vim indent file
 " Language:	    CSS
-" Maintainer:	    Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-06-30
+" Maintainer:	    Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_indent")
   finish
diff --git a/runtime/indent/dictconf.vim b/runtime/indent/dictconf.vim
index dcaf1e1..adb0961 100644
--- a/runtime/indent/dictconf.vim
+++ b/runtime/indent/dictconf.vim
@@ -1,7 +1,7 @@
 " Vim indent file
 " Language:         dict(1) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-06-30
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_indent")
   finish
diff --git a/runtime/indent/dictdconf.vim b/runtime/indent/dictdconf.vim
index f8f5670..235cecd 100644
--- a/runtime/indent/dictdconf.vim
+++ b/runtime/indent/dictdconf.vim
@@ -1,7 +1,7 @@
 " Vim indent file
 " Language:         dictd(8) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-01
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_indent")
   finish
diff --git a/runtime/indent/docbk.vim b/runtime/indent/docbk.vim
index 575b91f..b8af5f2 100644
--- a/runtime/indent/docbk.vim
+++ b/runtime/indent/docbk.vim
@@ -1,7 +1,7 @@
 " Vim indent file
 " Language:         DocBook Documentation Format
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-06-29
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_indent")
   finish
diff --git a/runtime/indent/eterm.vim b/runtime/indent/eterm.vim
index 938b94a..7309240 100644
--- a/runtime/indent/eterm.vim
+++ b/runtime/indent/eterm.vim
@@ -1,7 +1,7 @@
 " Vim indent file
 " Language:         Eterm configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-06-29
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_indent")
   finish
diff --git a/runtime/indent/ld.vim b/runtime/indent/ld.vim
index 440b106..e50b703 100644
--- a/runtime/indent/ld.vim
+++ b/runtime/indent/ld.vim
@@ -1,7 +1,7 @@
 " Vim indent file
 " Language:         ld(1) script
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-06-30
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_indent")
   finish
diff --git a/runtime/indent/make.vim b/runtime/indent/make.vim
index 9db77f0..5850492 100644
--- a/runtime/indent/make.vim
+++ b/runtime/indent/make.vim
@@ -1,7 +1,7 @@
 " Vim indent file
 " Language:         Makefile
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-06-29
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_indent")
   finish
@@ -15,18 +15,9 @@
   finish
 endif
 
-function s:GetStringWidth(line, str)
-  let end = matchend(a:line, a:str)
-  let width = 0
-  for c in a:line
-    if c == "\t"
-      let width += &ts - (width % &ts)
-    else
-      let width += 1
-    endif
-  endfor
-  return width
-endfunction
+let s:rule_rx = '^[^ \t#:][^#:]*:\{1,2}\%([^=:]\|$\)'
+let s:continuation_rx = '\\$'
+let s:assignment_rx = '^\s*\h\w*\s*+\==\s*\zs.*\\$'
 
 function GetMakeIndent()
   let lnum = v:lnum - 1
@@ -35,11 +26,27 @@
   endif
 
   let line = getline(lnum)
-  if line == ''
-    return 0
-  elseif line =~ '^[^ \t#:][^#:]*:\{1,2}\%([^=:]\|$\)'
-    return indent(lnum) + &ts
-  elseif line =~ '^\s*\h\w*\s*+\==\s*.\+\\$'
-    return s:GetStringWidth(line, '+\==\s*')
+  let ind = indent(lnum)
+
+  if line =~ s:rule_rx
+    return ind + &ts
+  elseif line =~ s:continuation_rx
+    while lnum > 0 && line =~ s:continuation_rx && line !~ s:assignment_rx
+      let lnum -= 1
+      let line = getline(lnum)
+    endwhile
+    if line =~ s:assignment_rx
+      call cursor(lnum, 1)
+      return search(s:assignment_rx, 'W') != 0 ? virtcol('.') - 1 : 0
+    else
+      return 0
+    endif
+  else
+    let pnum = lnum - 1
+    if pnum == 0
+      return ind
+    endif
+
+    return getline(pnum) =~ s:continuation_rx ? 0 : ind
   endif
 endfunction
diff --git a/runtime/indent/python.vim b/runtime/indent/python.vim
index f268bf9..4b8e81b 100644
--- a/runtime/indent/python.vim
+++ b/runtime/indent/python.vim
@@ -2,7 +2,7 @@
 " Language:		Python
 " Maintainer:		Bram Moolenaar <Bram@vim.org>
 " Original Author:	David Bustos <bustos@caltech.edu>
-" Last Change:		2006 Mar 26
+" Last Change:		2006 Apr 21
 
 " Only load this indent file when no other was loaded.
 if exists("b:did_indent")
diff --git a/runtime/indent/readline.vim b/runtime/indent/readline.vim
index 52d2a71..94e4ea4 100644
--- a/runtime/indent/readline.vim
+++ b/runtime/indent/readline.vim
@@ -1,7 +1,7 @@
 " Vim indent file
 " Language:         readline configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-06-29
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_indent")
   finish
diff --git a/runtime/indent/rst.vim b/runtime/indent/rst.vim
index f98e755..ac5e9bb 100644
--- a/runtime/indent/rst.vim
+++ b/runtime/indent/rst.vim
@@ -1,7 +1,7 @@
 " Vim indent file
 " Language:         reStructuredText Documentation Format
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-06-29
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_indent")
   finish
diff --git a/runtime/indent/sh.vim b/runtime/indent/sh.vim
index b6ce774..7919c09 100644
--- a/runtime/indent/sh.vim
+++ b/runtime/indent/sh.vim
@@ -1,7 +1,7 @@
 " Vim indent file
 " Language:         Shell Script
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-06-29
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_indent")
   finish
diff --git a/runtime/indent/sml.vim b/runtime/indent/sml.vim
index 30d3108..fbbb15e 100644
--- a/runtime/indent/sml.vim
+++ b/runtime/indent/sml.vim
@@ -130,14 +130,16 @@
 	elseif line =~ '^\s*else\>'
 	  	if lline !~ '^\s*\(if\|else\|then\)\>'
 				return s:FindPair('\<if\>', '', '\<then\>')
-	  	else return ind
+	  	else
+		  return ind
 		endif
 
 	" Match 'then' with 'if'
 	elseif line =~ '^\s*then\>'
   	if lline !~ '^\s*\(if\|else\|then\)\>'
 		  return s:FindPair('\<if\>', '', '\<then\>')
-	else return ind
+	else
+	  return ind
 	endif
 
 	" Indent if current line begins with ']'
diff --git a/runtime/indent/tcl.vim b/runtime/indent/tcl.vim
index 546b60d..1b0cc16 100644
--- a/runtime/indent/tcl.vim
+++ b/runtime/indent/tcl.vim
@@ -1,7 +1,7 @@
 " Vim indent file
 " Language:	    Tcl
-" Maintainer:	    Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-06-30
+" Maintainer:	    Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_indent")
   finish
diff --git a/runtime/indent/xf86conf.vim b/runtime/indent/xf86conf.vim
index f1f1c8e..5b2be6d 100644
--- a/runtime/indent/xf86conf.vim
+++ b/runtime/indent/xf86conf.vim
@@ -1,7 +1,7 @@
 " Vim indent file
 " Language:         XFree86 Configuration File
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-06-29
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_indent")
   finish
diff --git a/runtime/indent/xinetd.vim b/runtime/indent/xinetd.vim
index 6838163..398e05a 100644
--- a/runtime/indent/xinetd.vim
+++ b/runtime/indent/xinetd.vim
@@ -1,7 +1,7 @@
 " Vim indent file
 " Language:         xinetd.conf(5) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-06-28
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_indent")
   finish
diff --git a/runtime/indent/yacc.vim b/runtime/indent/yacc.vim
index 9d0798d..d100ceb 100644
--- a/runtime/indent/yacc.vim
+++ b/runtime/indent/yacc.vim
@@ -1,7 +1,7 @@
 " Vim indent file
 " Language:         YACC input file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-06-29
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 " Only load this indent file when no other was loaded.
 if exists("b:did_indent")
diff --git a/runtime/indent/zsh.vim b/runtime/indent/zsh.vim
index 72b00b8..5bf2315 100644
--- a/runtime/indent/zsh.vim
+++ b/runtime/indent/zsh.vim
@@ -1,7 +1,7 @@
 " Vim indent file
 " Language:         Zsh Shell Script
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-06-29
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_indent")
   finish
diff --git a/runtime/keymap/persian-iranian_utf-8.vim b/runtime/keymap/persian-iranian_utf-8.vim
index 2cd5699..e8dcd76 100644
--- a/runtime/keymap/persian-iranian_utf-8.vim
+++ b/runtime/keymap/persian-iranian_utf-8.vim
@@ -1,7 +1,7 @@
 " Vim Keymap file for Persian Standard Keyboard Layout
 " Maintainers: Behnam 'ZWNJ' Esfahbod <behnam@zwnj.org>,
 "	       Amir Hedayaty <hedayaty@gmail.com>
-" Last Change: 2005 Nov 30
+" Last Change: 2006 Apr 21
 
 scriptencoding utf-8
 
@@ -58,7 +58,7 @@
 ,	و
 .	.
 /	/
-\	\
+\\	\\
 
 ~	÷
 !	!
diff --git a/runtime/lang/menu_chinese_gb.936.vim b/runtime/lang/menu_chinese_gb.936.vim
index 55a2442..d11a4b2 100644
--- a/runtime/lang/menu_chinese_gb.936.vim
+++ b/runtime/lang/menu_chinese_gb.936.vim
@@ -52,7 +52,7 @@
 menutrans Put\ &Before<Tab>[p		Õ³Ìùµ½¹â±êǰ(&B)<Tab>[p
 menutrans Put\ &After<Tab>]p		Õ³Ìùµ½¹â±êºó(&A)<Tab>]p
 menutrans &Delete<Tab>x			ɾ³ý(&D)<Tab>x
-menutrans &Select\ all<Tab>ggVG		ȫѡ(&S)<Tab>ggVG
+menutrans &Select\ All<Tab>ggVG		ȫѡ(&S)<Tab>ggVG
 menutrans &Find\.\.\.			²éÕÒ(&F)\.\.\.
 menutrans Find\ and\ Rep&lace\.\.\.	²éÕÒºÍÌæ»»(&L)\.\.\.
 menutrans &Find<Tab>/			²éÕÒ(&F)<Tab>/
diff --git a/runtime/lang/menu_zh_cn.gb2312.vim b/runtime/lang/menu_zh_cn.gb2312.vim
index 78840ec..1ec0fbd 100644
--- a/runtime/lang/menu_zh_cn.gb2312.vim
+++ b/runtime/lang/menu_zh_cn.gb2312.vim
@@ -52,7 +52,7 @@
 menutrans Put\ &Before<Tab>[p		Õ³Ìùµ½¹â±êǰ(&B)<Tab>[p
 menutrans Put\ &After<Tab>]p		Õ³Ìùµ½¹â±êºó(&A)<Tab>]p
 menutrans &Delete<Tab>x			ɾ³ý(&D)<Tab>x
-menutrans &Select\ all<Tab>ggVG		ȫѡ(&S)<Tab>ggVG
+menutrans &Select\ All<Tab>ggVG		ȫѡ(&S)<Tab>ggVG
 menutrans &Find\.\.\.			²éÕÒ(&F)\.\.\.
 menutrans Find\ and\ Rep&lace\.\.\.	²éÕÒºÍÌæ»»(&L)\.\.\.
 menutrans &Find<Tab>/			²éÕÒ(&F)<Tab>/
diff --git a/runtime/lang/menu_zh_cn.utf-8.vim b/runtime/lang/menu_zh_cn.utf-8.vim
index 0df3242..d3edd58 100644
--- a/runtime/lang/menu_zh_cn.utf-8.vim
+++ b/runtime/lang/menu_zh_cn.utf-8.vim
@@ -52,7 +52,7 @@
 menutrans Put\ &Before<Tab>[p		粘贴到光标前(&B)<Tab>[p
 menutrans Put\ &After<Tab>]p		粘贴到光标后(&A)<Tab>]p
 menutrans &Delete<Tab>x			删除(&D)<Tab>x
-menutrans &Select\ all<Tab>ggVG		全选(&S)<Tab>ggVG
+menutrans &Select\ All<Tab>ggVG		全选(&S)<Tab>ggVG
 menutrans &Find\.\.\.			查找(&F)\.\.\.
 menutrans Find\ and\ Rep&lace\.\.\.	查找和替换(&L)\.\.\.
 menutrans &Find<Tab>/			查找(&F)<Tab>/
diff --git a/runtime/makemenu.vim b/runtime/makemenu.vim
index 845393d..5aa74fa 100644
--- a/runtime/makemenu.vim
+++ b/runtime/makemenu.vim
@@ -1,6 +1,6 @@
 " Script to define the syntax menu in synmenu.vim
 " Maintainer:	Bram Moolenaar <Bram@vim.org>
-" Last Change:	2006 Apr 18
+" Last Change:	2006 Apr 21
 
 " This is used by "make menu" in the src directory.
 edit <sfile>:p:h/synmenu.vim
@@ -116,6 +116,7 @@
 SynMenu C.ChangeLog:changelog
 SynMenu C.Cheetah\ template:cheetah
 SynMenu C.CHILL:chill
+SynMenu C.ChordPro:chordpro
 SynMenu C.Clean:clean
 SynMenu C.Clever:cl
 SynMenu C.Clipper:clipper
diff --git a/runtime/optwin.vim b/runtime/optwin.vim
index 78df1de..3595e15 100644
--- a/runtime/optwin.vim
+++ b/runtime/optwin.vim
@@ -1,7 +1,7 @@
 " These commands create the option window.
 "
 " Maintainer:	Bram Moolenaar <Bram@vim.org>
-" Last Change:	2006 Mar 18
+" Last Change:	2006 Apr 21
 
 " If there already is an option window, jump to that one.
 if bufwinnr("option-window") > 0
@@ -481,6 +481,8 @@
 call <SID>OptionG("tal", &tal)
 call append("$", "guitablabel\tcustom tab page label for the GUI")
 call <SID>OptionG("gtl", &gtl)
+call append("$", "guitabtooltip\tcustom tab page tooltip for the GUI")
+call <SID>OptionG("gtt", &gtt)
 
 
 call <SID>Header("terminal")
diff --git a/runtime/spell/es/es_ES.diff b/runtime/spell/es/es_ES.diff
index 13c6e15..cc4f3fb 100644
--- a/runtime/spell/es/es_ES.diff
+++ b/runtime/spell/es/es_ES.diff
@@ -1,8 +1,8 @@
-*** es_ES.orig.aff	Thu Aug 25 19:19:44 2005
---- es_ES.aff	Thu Aug 25 19:19:44 2005
+*** es_ES.orig.aff	Fri Apr 21 10:57:12 2006
+--- es_ES.aff	Fri Apr 21 11:10:16 2006
 ***************
-*** 3,4 ****
---- 3,22 ----
+*** 4,5 ****
+--- 4,12 ----
   
 + FOL  ßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ
 + LOW  ßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ
@@ -11,77 +11,28 @@
 + SOFOFROM abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ¿
 + SOFOTO   ebctefghejklnnepkrstevvkesebctefghejklnnepkrstevvkeseeeeeeeceeeeeeeedneeeeeeeeeeepseeeeeeeeceeeeeeeedneeeeeeeeeeep?
 + 
-+ MAP 9
-+ MAP aàáâãäå
-+ MAP eèéêë
-+ MAP iìíîï
-+ MAP oòóôõö
-+ MAP uùúûü
-+ MAP nñ
-+ MAP cç
-+ MAP yÿý
-+ MAP sß
-+ 
-  SFX J Y 12
-*** es_ES.orig.dic	Thu Aug 25 19:19:44 2005
---- es_ES.dic	Thu Apr 20 20:30:24 2006
+  REP 20
 ***************
-*** 485,487 ****
-  acercóse
-- acercóse
-  acería/S
---- 485,486 ----
-***************
-*** 708,710 ****
-  acríticamente
-- acrítico
-  acrítico/PS
---- 707,708 ----
-***************
-*** 948,950 ****
-  adónde
-- adónde
-  adondequiera
---- 946,947 ----
-***************
-*** 1435,1437 ****
-  ah
-- ah
-  ahajar/PSTVWX
---- 1432,1433 ----
-***************
-*** 3887,3889 ****
-  apostolado
-- apostolado
-  apostolados
---- 3883,3884 ----
-***************
-*** 12926,12928 ****
-  dame
-- dame
-  dámelo
---- 12921,12922 ----
-***************
-*** 15561,15563 ****
-  dime
-- dime
-  dímelo
---- 15555,15556 ----
-***************
-*** 25133,25135 ****
-  inadaptado/PS
-- inadecuación
-  inadecuación/S
---- 25126,25127 ----
-***************
-*** 28008,28010 ****
-  líbranos
-- líbranos
-  libranza/S
---- 28000,28001 ----
-***************
-*** 48480,48481 ****
---- 48471,48473 ----
-  xilotila/S
-+ y
-  ya
+*** 26,33 ****
+  
+! MAP 5
+! MAP aáAÁ
+! MAP eéEÉ
+! MAP iíIÍ
+! MAP oóOÓ
+! MAP uúüUÚÜ
+  PFX a Y 2
+--- 33,45 ----
+  
+! MAP 9
+! MAP aàáâãäå
+! MAP eèéêë
+! MAP iìíîï
+! MAP oòóôõö
+! MAP uùúûü
+! MAP nñ
+! MAP cç
+! MAP yÿý
+! MAP sß
+! 
+  PFX a Y 2
diff --git a/runtime/spell/es/main.aap b/runtime/spell/es/main.aap
index 9ff082c..3a03bff 100644
--- a/runtime/spell/es/main.aap
+++ b/runtime/spell/es/main.aap
@@ -48,7 +48,7 @@
         :assertpkg unzip patch
         :fetch $ZIPFILE_ES
         :sys $UNZIP $ZIPFILE_ES
-        :delete add-to--dictionary.lst.example
+        :delete Changelog_es_ES.txt
         :delete $ZIPFILE_ES
         @if not os.path.exists('es_ES.orig.aff'):
             :copy es_ES.aff es_ES.orig.aff
diff --git a/runtime/syntax/a2ps.vim b/runtime/syntax/a2ps.vim
index a559443..2a87d62 100644
--- a/runtime/syntax/a2ps.vim
+++ b/runtime/syntax/a2ps.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         a2ps(1) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-06-30
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
diff --git a/runtime/syntax/alsaconf.vim b/runtime/syntax/alsaconf.vim
index f2bda18..8fd51f0 100644
--- a/runtime/syntax/alsaconf.vim
+++ b/runtime/syntax/alsaconf.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         alsaconf(8) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
diff --git a/runtime/syntax/arch.vim b/runtime/syntax/arch.vim
index b9789d2..1e7856d 100644
--- a/runtime/syntax/arch.vim
+++ b/runtime/syntax/arch.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         GNU Arch inventory file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
diff --git a/runtime/syntax/bdf.vim b/runtime/syntax/bdf.vim
index e79a648..d0c73eb 100644
--- a/runtime/syntax/bdf.vim
+++ b/runtime/syntax/bdf.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         BDF font definition
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-06-27
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
diff --git a/runtime/syntax/calendar.vim b/runtime/syntax/calendar.vim
index c47ef32..588b41a 100644
--- a/runtime/syntax/calendar.vim
+++ b/runtime/syntax/calendar.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         calendar(1) input file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
diff --git a/runtime/syntax/chordpro.vim b/runtime/syntax/chordpro.vim
new file mode 100644
index 0000000..a251a69
--- /dev/null
+++ b/runtime/syntax/chordpro.vim
@@ -0,0 +1,67 @@
+" Vim syntax file
+" Language:     ChordPro (v. 3.6.2)
+" Maintainer:   Niels Bo Andersen <niels@niboan.dk>
+" Last Change:	2006 Apr 20 
+" Remark:       Requires VIM version 6.00 or greater
+
+" Quit when a syntax file was already loaded
+if exists("b:current_syntax")
+  finish
+endif
+
+let s:cpo_save = &cpo
+set cpo&vim
+
+setlocal iskeyword+=-
+
+syn case ignore
+
+syn keyword chordproDirective contained
+  \ start_of_chorus soc end_of_chorus eoc new_song ns no_grid ng grid g
+  \ new_page np new_physical_page npp start_of_tab sot end_of_tab eot
+  \ column_break colb
+
+syn keyword chordproDirWithOpt contained
+  \ comment c comment_italic ci comment_box cb title t subtitle st define
+  \ textfont textsize chordfont chordsize columns col
+
+syn keyword chordproDefineKeyword contained base-fret frets
+
+syn match chordproDirMatch /{\w*}/ contains=chordproDirective contained transparent
+syn match chordproDirOptMatch /{\w*:/ contains=chordproDirWithOpt contained transparent
+
+" Workaround for a bug in VIM 6, which causes incorrect coloring of the first {
+if version < 700
+  syn region chordproOptions start=/{\w*:/ end=/}/ contains=chordproDirOptMatch contained transparent
+  syn region chordproOptions start=/{define:/ end=/}/ contains=chordproDirOptMatch, chordproDefineKeyword contained transparent
+else
+  syn region chordproOptions start=/{\w*:/hs=e+1 end=/}/he=s-1 contains=chordproDirOptMatch contained
+  syn region chordproOptions start=/{define:/hs=e+1 end=/}/he=s-1 contains=chordproDirOptMatch, chordproDefineKeyword contained
+endif
+
+syn region chordproTag start=/{/ end=/}/ contains=chordproDirMatch,chordproOptions oneline
+
+syn region chordproChord matchgroup=chordproBracket start=/\[/ end=/]/ oneline
+
+syn region chordproTab start=/{start_of_tab}\|{sot}/hs=e+1 end=/{end_of_tab}\|{eot}/he=s-1 contains=chordproTag,chordproComment keepend
+
+syn region chordproChorus start=/{start_of_chorus}\|{soc}/hs=e+1 end=/{end_of_chorus}\|{eoc}/he=s-1 contains=chordproTag,chordproChord,chordproComment keepend
+
+syn match chordproComment /^#.*/
+
+" Define the default highlighting.
+hi def link chordproDirective Statement
+hi def link chordproDirWithOpt Statement
+hi def link chordproOptions Special
+hi def link chordproChord Type
+hi def link chordproTag Constant
+hi def link chordproTab PreProc
+hi def link chordproComment Comment
+hi def link chordproBracket Constant
+hi def link chordproDefineKeyword Type
+hi def chordproChorus term=bold cterm=bold gui=bold
+
+let b:current_syntax = "chordpro"
+
+let &cpo = s:cpo_save
+unlet s:cpo_save
diff --git a/runtime/syntax/cmake.vim b/runtime/syntax/cmake.vim
index 8dfe3d7..302417e 100644
--- a/runtime/syntax/cmake.vim
+++ b/runtime/syntax/cmake.vim
@@ -49,7 +49,7 @@
 syn keyword cmakeDeprecated ABSTRACT_FILES BUILD_NAME SOURCE_FILES SOURCE_FILES_REMOVE VTK_MAKE_INSTANTIATOR VTK_WRAP_JAVA VTK_WRAP_PYTHON VTK_WRAP_TCL WRAP_EXCLUDE_FILES
            \ nextgroup=cmakeArgument
 syn keyword cmakeStatement
-           \ ADD_CUSTOM_COMMAND ADD_CUSTOM_TARGET ADD_DEFINITIONS ADD_DEPENDENCIES ADD_EXECUTABLE ADD_LIBRARY ADD_SUBDIRECTORY ADD_TEST AUX_SOURCE_DIRECTORY BUILD_COMMAND BUILD_NAME CMAKE_MINIMUM_REQUIRED CONFIGURE_FILE CREATE_TEST_SOURCELIST ELSE ENABLE_LANGUAGE ENABLE_TESTING ENDFOREACH ENDIF ENDWHILE EXEC_PROGRAM EXECUTE_PROCESS EXPORT_LIBRARY_DEPENDENCIES FILE FIND_FILE FIND_LIBRARY FIND_PACKAGE FIND_PATH FIND_PROGRAM FLTK_WRAP_UI FOREACH GET_CMAKE_PROPERTY GET_DIRECTORY_PROPERTY GET_FILENAME_COMPONENT GET_SOURCE_FILE_PROPERTY GET_TARGET_PROPERTY GET_TEST_PROPERTY IF INCLUDE INCLUDE_DIRECTORIES INCLUDE_EXTERNAL_MSPROJECT INCLUDE_REGULAR_EXPRESSION INSTALL INSTALL_FILES INSTALL_PROGRAMS INSTALL_TARGETS LINK_DIRECTORIES LINK_LIBRARIES LIST LOAD_CACHE LOAD_COMMAND MACRO MAKE_DIRECTORY MARK_AS_ADVANCED MATH MESSAGE OPTION OUTPUT_REQUIRED_FILES PROJECT QT_WRAP_CPP QT_WRAP_UI REMOVE REMOVE_DEFINITIONS SEPARATE_ARGUMENTS SET SET_DIRECTORY_PROPERTIES SET_SOURCE_FILES_PROPERTIES SET_TARGET_PROPERTIES SET_TESTS_PROPERTIES SITE_NAME SOURCE_GROUP STRING SUBDIR_DEPENDS SUBDIRS TARGET_LINK_LIBRARIES TRY_COMPILE TRY_RUN USE_MANGLED_MESA UTILITY_SOURCE VARIABLE_REQUIRES VTK_MAKE_INSTANTIATOR VTK_WRAP_JAVA VTK_WRAP_PYTHON VTK_WRAP_TCL WHILE WRITE_FILE
+           \ ADD_CUSTOM_COMMAND ADD_CUSTOM_TARGET ADD_DEFINITIONS ADD_DEPENDENCIES ADD_EXECUTABLE ADD_LIBRARY ADD_SUBDIRECTORY ADD_TEST AUX_SOURCE_DIRECTORY BUILD_COMMAND BUILD_NAME CMAKE_MINIMUM_REQUIRED CONFIGURE_FILE CREATE_TEST_SOURCELIST ELSE ENABLE_LANGUAGE ENABLE_TESTING ENDFOREACH ENDIF ENDWHILE EXEC_PROGRAM EXECUTE_PROCESS EXPORT_LIBRARY_DEPENDENCIES FILE FIND_FILE FIND_LIBRARY FIND_PACKAGE FIND_PATH FIND_PROGRAM FLTK_WRAP_UI FOREACH GET_CMAKE_PROPERTY GET_DIRECTORY_PROPERTY GET_FILENAME_COMPONENT GET_SOURCE_FILE_PROPERTY GET_TARGET_PROPERTY GET_TEST_PROPERTY IF INCLUDE INCLUDE_DIRECTORIES INCLUDE_EXTERNAL_MSPROJECT INCLUDE_REGULAR_EXPRESSION INSTALL INSTALL_FILES INSTALL_PROGRAMS INSTALL_TARGETS LINK_DIRECTORIES LINK_LIBRARIES LIST LOAD_CACHE LOAD_COMMAND MACRO MAKE_DIRECTORY MARK_AS_ADVANCED MATH MESSAGE OPTION OUTPUT_REQUIRED_FILES PROJECT QT_WRAP_CPP QT_WRAP_UI REMOVE REMOVE_DEFINITIONS SEPARATE_ARGUMENTS SET SET_DIRECTORY_PROPERTIES SET_SOURCE_FILES_PROPERTIES SET_TARGET_PROPERTIES SET_TESTS_PROPERTIES SITE_NAME SOURCE_GROUP STRING SUBDIR_DEPENDS SUBDIRS TARGET_LINK_LIBRARIES TRY_COMPILE TRY_RUN USE_MANGLED_MESA UTILITY_SOURCE VARIABLE_REQUIRES VTK_MAKE_INSTANTIATOR VTK_WRAP_JAVA VTK_WRAP_PYTHON VTK_WRAP_TCL WHILE WRITE_FILE ENDMACRO
            \ nextgroup=cmakeArgumnts
 
 "syn match cmakeMacro /^\s*[A-Z_]\+/ nextgroup=cmakeArgumnts
diff --git a/runtime/syntax/context.vim b/runtime/syntax/context.vim
index 1b3d244..93b14b1 100644
--- a/runtime/syntax/context.vim
+++ b/runtime/syntax/context.vim
@@ -1,30 +1,24 @@
 " Vim syntax file
 " Language:         ConTeXt typesetting engine
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
 endif
 
+runtime! syntax/plaintex.vim
+
 let s:cpo_save = &cpo
 set cpo&vim
 
-syn keyword contextTodo       TODO FIXME XXX NOTE
-
-syn region  contextComment    display oneline start='%' end='$'
-                              \ contains=contextTodo
-syn region  contextComment    display oneline start='^\s*%[CDM]' end='$'
-                              \ contains=ALL
-
-syn match   contextStatement  display '\\[a-zA-Z@]\+' contains=@NoSpell
+if !exists('g:context_include')
+  let g:context_include = ['mp', 'javascript', 'xml']
+endif
 
 syn match   contextBlockDelim display '\\\%(start\|stop\)\a\+'
                               \ contains=@NoSpell
 
-syn match   contextDelimiter  '[][{}]'
-
-syn match   contextEscaped    display '\\\_[\{}|&%$ ]'
 syn region  contextEscaped    display matchgroup=contextPreProc
                               \ start='\\type\z(\A\)' end='\z1'
 syn region  contextEscaped    display matchgroup=contextPreProc
@@ -39,34 +33,52 @@
 syn region  contextEscaped    display matchgroup=contextPreProc
                               \ start='\\Typed\h\+{' end='}'
 
-"syn region  contextMath       matchgroup=contextMath start='\$' end='\$'
-"                              \ contains=contextStatement
-
-syn match   contextBuiltin    '\\\%(newif\|def\|gdef\|global\|let\|glet\|bgroup\)\>'
-                              \ contains=@NoSpell
-syn match   contextBuiltin    '\\\%(begingroup\|egroup\|endgroup\|long\|catcode\)\>'
-                              \ contains=@NoSpell
-syn match   contextBuiltin    '\\\%(unprotect\|unexpanded\|if\|else\|fi\|ifx\)\>'
-                              \ contains=@NoSpell
-syn match   contextBuiltin    '\\\%(futurelet\|protect\)\>' contains=@NoSpell
-syn match   contextBuiltin    '\\\%([lr]q\)\>' contains=@NoSpell
+syn match   contextBuiltin    display contains=@NoSpell
+      \ '\\\%(unprotect\|protect\|unexpanded\)' 
 
 syn match   contextPreProc    '^\s*\\\%(start\|stop\)\=\%(component\|environment\|project\|product\).*$'
                               \ contains=@NoSpell
-syn match   contextPreProc    '^\s*\\input\s\+.*$' contains=@NoSpell
+
+if index(g:context_include, 'mp') != -1
+  syn include @mpTop          syntax/mp.vim
+  unlet b:current_syntax
+
+  syn region  contextMPGraphic  transparent matchgroup=contextBlockDelim
+                                \ start='\\start\z(\a*MPgraphic\|MP\%(page\|inclusions\|run\)\).*'
+                                \ end='\\stop\z1'
+                                \ contains=@mpTop
+endif
+
+" TODO: also need to implement this for \\typeC or something along those
+" lines.
+function! s:include_syntax(name, group)
+  if index(g:context_include, a:name) != -1
+    execute 'syn include @' . a:name . 'Top' 'syntax/' . a:name . '.vim'
+    unlet b:current_syntax
+    execute 'syn region context' . a:group . 'Code'
+          \ 'transparent matchgroup=contextBlockDelim'
+          \ 'start=+\\start' . a:group . '+ end=+\\stop' . a:group . '+'
+          \ 'contains=@' . a:name . 'Top'
+  endif
+endfunction
+
+call s:include_syntax('c', 'C')
+call s:include_syntax('ruby', 'Ruby')
+call s:include_syntax('javascript', 'JS')
+call s:include_syntax('xml', 'XML')
 
 syn match   contextSectioning '\\chapter\>' contains=@NoSpell
 syn match   contextSectioning '\\\%(sub\)*section\>' contains=@NoSpell
 
 syn match   contextSpecial    '\\crlf\>\|\\par\>\|-\{2,3}\||[<>/]\=|'
                               \ contains=@NoSpell
-syn match   contextSpecial    '\\[`'"]'
+syn match   contextSpecial    /\\[`'"]/
 syn match   contextSpecial    +\\char\%(\d\{1,3}\|'\o\{1,3}\|"\x\{1,2}\)\>+
                               \ contains=@NoSpell
 syn match   contextSpecial    '\^\^.'
 syn match   contextSpecial    '`\%(\\.\|\^\^.\|.\)'
 
-syn match   contextStyle      '\\\%(em\|tt\|rm\|ss\|hw\|cg\)\>'
+syn match   contextStyle      '\\\%(em\|ss\|hw\|cg\|mf\)\>'
                               \ contains=@NoSpell
 syn match   contextFont       '\\\%(CAP\|Cap\|cap\|Caps\|kap\|nocap\)\>'
                               \ contains=@NoSpell
@@ -74,29 +86,18 @@
                               \ contains=@NoSpell
 syn match   contextFont       '\\\%(vi\{1,3}\|ix\|xi\{0,2}\)\>'
                               \ contains=@NoSpell
-syn match   contextFont       '\\\%(tf[abcdx]\|bfx\|[is]lx\)\>'
-                              \ contains=@NoSpell
-syn match   contextFont       '\\\%(b[fsi]\|s[cl]\|it\|os\|mf\)\>'
+syn match   contextFont       '\\\%(tf\|b[si]\|s[cl]\|os\)\%(xx\|[xabcd]\)\=\>'
                               \ contains=@NoSpell
 
-syn match   contextDimension  '[+-]\=\s*\%(\d\+\%([.,]\d*\)\=\|[.,]\d\+\)\s*\%(true\)\=\s*\%(p[tc]\|in\|bp\|c[mc]\|mm\|dd\|sp\|e[mx]\)\>'
-                              \ contains=@NoSpell
-
-hi def link contextTodo       Todo
-hi def link contextComment    Comment
-hi def link contextEscaped    Special
-hi def link contextStatement  Identifier
-hi def link contextMath       String
 hi def link contextBlockDelim Keyword
 hi def link contextBuiltin    Keyword
 hi def link contextDelimiter  Delimiter
 hi def link contextPreProc    PreProc
 hi def link contextSectioning PreProc
 hi def link contextSpecial    Special
+hi def link contextType       Type
 hi def link contextStyle      contextType
 hi def link contextFont       contextType
-hi def link contextType       Type
-hi def link contextDimension  Number
 
 let b:current_syntax = "context"
 
diff --git a/runtime/syntax/crm.vim b/runtime/syntax/crm.vim
index 35d9e50..17b67d4 100644
--- a/runtime/syntax/crm.vim
+++ b/runtime/syntax/crm.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         CRM114
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
diff --git a/runtime/syntax/cvsrc.vim b/runtime/syntax/cvsrc.vim
index d901ae1..6c2c4ee 100644
--- a/runtime/syntax/cvsrc.vim
+++ b/runtime/syntax/cvsrc.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         cvs(1) RC file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
diff --git a/runtime/syntax/dictconf.vim b/runtime/syntax/dictconf.vim
index 21474fa..e7fa476 100644
--- a/runtime/syntax/dictconf.vim
+++ b/runtime/syntax/dictconf.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         dict(1) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-06-30
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
diff --git a/runtime/syntax/dictdconf.vim b/runtime/syntax/dictdconf.vim
index 5651d7c..44bf6f8 100644
--- a/runtime/syntax/dictdconf.vim
+++ b/runtime/syntax/dictdconf.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         dictd(8) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-01
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
diff --git a/runtime/syntax/dircolors.vim b/runtime/syntax/dircolors.vim
index 8a22b1d..da01907 100644
--- a/runtime/syntax/dircolors.vim
+++ b/runtime/syntax/dircolors.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         dircolors(1) input file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-06-27
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
diff --git a/runtime/syntax/elinks.vim b/runtime/syntax/elinks.vim
index dea04ba..5b3a3f1 100644
--- a/runtime/syntax/elinks.vim
+++ b/runtime/syntax/elinks.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         elinks(1) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
diff --git a/runtime/syntax/esterel.vim b/runtime/syntax/esterel.vim
index 3038355..7498364 100644
--- a/runtime/syntax/esterel.vim
+++ b/runtime/syntax/esterel.vim
@@ -32,7 +32,7 @@
 syn keyword esterelStatement	emit present await
 syn keyword esterelStatement	if then else
 syn keyword esterelBoolean		and or not xor xnor nor nand
-syn keyword esterelOperator		\[ \] 
+"syn keyword esterelOperator		\[ \] 
 syn keyword esterelPippo		pippo
 " Esterel Types
 syn keyword esterelType integer float bolean
diff --git a/runtime/syntax/eterm.vim b/runtime/syntax/eterm.vim
index 8bc4367..f6c50a2 100644
--- a/runtime/syntax/eterm.vim
+++ b/runtime/syntax/eterm.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         eterm(1) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-21
 
 if exists("b:current_syntax")
   finish
@@ -61,7 +61,7 @@
 syn match   etermColorSpec        contained display '\S\+'
 
 syn region  etermColorContext     fold transparent matchgroup=etermContext
-                                  \ start='^\s*begin\s\+color'
+                                  \ start='^\s*begin\s\+color\>'
                                   \ end='^\s*end\>'
                                   \ contains=@etermGeneral,etermColorOptions
 
@@ -99,7 +99,7 @@
                                   \ nextgroup=etermNumber skipwhite
 
 syn region  etermAttrContext      fold transparent matchgroup=etermContext
-                                  \ start='^\s*begin\s\+attributes\'
+                                  \ start='^\s*begin\s\+attributes\>'
                                   \ end='^\s*end\>'
                                   \ contains=@etermGeneral,etermAttrOptions
 
@@ -111,7 +111,7 @@
                                   \ skipwhite
 
 syn region  etermIClassContext    fold transparent matchgroup=etermContext
-                                  \ start='^\s*begin\s\+imageclasses'
+                                  \ start='^\s*begin\s\+imageclasses\>'
                                   \ end='^\s*end\>'
                                   \ contains=@etermGeneral,etermImageContext,
                                   \ etermIClassOptions
@@ -176,7 +176,7 @@
 
 syn region  etermImageContext     contained fold transparent
                                   \ matchgroup=etermContext
-                                  \ start='^\s*begin\s\+image'
+                                  \ start='^\s*begin\s\+image\>'
                                   \ end='^\s*end\>'
                                   \ contains=@etermGeneral,etermImageOptions
 
@@ -193,7 +193,7 @@
 
 syn region  etermMenuItemContext  contained fold transparent
                                   \ matchgroup=etermContext
-                                  \ start='^\s*begin\s\+menuitem'
+                                  \ start='^\s*begin\s\+menuitem\>'
                                   \ end='^\s*end\>'
                                   \ contains=@etermGeneral,etermMenuItemOptions
 
@@ -206,7 +206,7 @@
 syn match   etermMenuOptions      contained display '\<sep\>\|-'
 
 syn region  etermMenuContext      fold transparent matchgroup=etermContext
-                                  \ start='^\s*begin\s\+menu'
+                                  \ start='^\s*begin\s\+menu\>'
                                   \ end='^\s*end\>'
                                   \ contains=@etermGeneral,etermMenuOptions,
                                   \ etermMenuItemContext
@@ -227,7 +227,7 @@
 syn match   etermBindParam        contained display '\S\+'
 
 syn region  etermActionsContext   fold transparent matchgroup=etermContext
-                                  \ start='^\s*begin\s\+actions'
+                                  \ start='^\s*begin\s\+actions\>'
                                   \ end='^\s*end\>'
                                   \ contains=@etermGeneral,etermActionsOptions
 
@@ -256,7 +256,7 @@
                                   \ skipwhite
 
 syn region  etermButtonContext    fold transparent matchgroup=etermContext
-                                  \ start='^\s*begin\s\+button_bar'
+                                  \ start='^\s*begin\s\+button_bar\>'
                                   \ end='^\s*end\>'
                                   \ contains=@etermGeneral,etermButtonOptions
 
@@ -270,8 +270,8 @@
                                   \ skipwhite
 
 syn region  etermMultiContext     fold transparent matchgroup=etermContext
-                                  \ start='^\s*begin\s\+multichar'
-                                  \ end="^\s*end\>'
+                                  \ start='^\s*begin\s\+multichar\>'
+                                  \ end='^\s*end\>'
                                   \ contains=@etermGeneral,etermMultiOptions
 
 syn keyword etermXimOptions       contained input_method
@@ -285,8 +285,8 @@
 syn keyword etermPreeditType      contained OverTheSpot OffTheSpot Root
 
 syn region  etermXimContext       fold transparent matchgroup=etermContext
-                                  \ start='^\s*begin\s\+xim'
-                                  \ end="^\s*end\>'
+                                  \ start='^\s*begin\s\+xim\>'
+                                  \ end='^\s*end\>'
                                   \ contains=@etermGeneral,etermXimOptions
 
 syn keyword etermTogOptions       contained map_alert visual_bell login_shell
@@ -301,7 +301,7 @@
                                   \ skipwhite
 
 syn region  etermTogContext       fold transparent matchgroup=etermContext
-                                  \ start='^\s*begin\s\+toggles'
+                                  \ start='^\s*begin\s\+toggles\>'
                                   \ end='^\s*end\>'
                                   \ contains=@etermGeneral,etermTogOptions
 
@@ -318,7 +318,7 @@
                                   \ nextgroup=etermBoolean skipwhite
 
 syn region  etermKeyboardContext  fold transparent matchgroup=etermContext
-                                  \ start='^\s*begin\s\+keyboard'
+                                  \ start='^\s*begin\s\+keyboard\>'
                                   \ end='^\s*end\>'
                                   \ contains=@etermGeneral,etermKeyboardOptions
 
@@ -330,7 +330,7 @@
                                   \ border_width line_space
 
 syn region  etermMiscContext      fold transparent matchgroup=etermContext
-                                  \ start='^\s*begin\s\+misc'
+                                  \ start='^\s*begin\s\+misc\>'
                                   \ end='^\s*end\>'
                                   \ contains=@etermGeneral,etermMiscOptions
 
@@ -351,7 +351,7 @@
                                   \ skipwhite
 
 syn region  etermEScreenContext   fold transparent matchgroup=etermContext
-                                  \ start='^\s*begin\s\+escreen'
+                                  \ start='^\s*begin\s\+escreen\>'
                                   \ end='^\s*end\>'
                                   \ contains=@etermGeneral,etermEScreenOptions
 
diff --git a/runtime/syntax/fetchmail.vim b/runtime/syntax/fetchmail.vim
index 671598c..89de1ff 100644
--- a/runtime/syntax/fetchmail.vim
+++ b/runtime/syntax/fetchmail.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         fetchmail(1) RC File
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2006-01-25
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
diff --git a/runtime/syntax/gpg.vim b/runtime/syntax/gpg.vim
index b84c302..0fc8f00 100644
--- a/runtime/syntax/gpg.vim
+++ b/runtime/syntax/gpg.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         gpg(1) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-06-29
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
diff --git a/runtime/syntax/group.vim b/runtime/syntax/group.vim
index 9b3e500..ae5bfd8 100644
--- a/runtime/syntax/group.vim
+++ b/runtime/syntax/group.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         group(5) user group file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-06-30
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
@@ -25,7 +25,7 @@
 
 syn match   groupGIDColon       contained display ':' nextgroup=groupGID
 
-syn match   groupGID            contained display '\d\+'
+syn match   groupGID            contained display '\d*'
                                 \ nextgroup=groupUserListColon
 
 syn match   groupUserListColon  contained display ':' nextgroup=groupUserList
diff --git a/runtime/syntax/grub.vim b/runtime/syntax/grub.vim
index 2e04d87..f63449d 100644
--- a/runtime/syntax/grub.vim
+++ b/runtime/syntax/grub.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         grub(8) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-06-29
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
diff --git a/runtime/syntax/indent.vim b/runtime/syntax/indent.vim
index 9310c49..ef4df5f 100644
--- a/runtime/syntax/indent.vim
+++ b/runtime/syntax/indent.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         indent(1) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 "   indent_is_bsd:  If exists, will change somewhat to match BSD implementation
 "
 " TODO: is the deny-all (a la lilo.vim nice or no?)...
@@ -15,7 +15,7 @@
 let s:cpo_save = &cpo
 set cpo&vim
 
-setlocal iskeyword=@,48-57,-,_
+setlocal iskeyword=@,48-57,-,+,_
 
 syn match   indentError   '\S\+'
 
diff --git a/runtime/syntax/ld.vim b/runtime/syntax/ld.vim
index 2b39bea..fc12919 100644
--- a/runtime/syntax/ld.vim
+++ b/runtime/syntax/ld.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         ld(1) script
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-06-29
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
diff --git a/runtime/syntax/lftp.vim b/runtime/syntax/lftp.vim
index 9b346a1..7de5a56 100644
--- a/runtime/syntax/lftp.vim
+++ b/runtime/syntax/lftp.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         lftp(1) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
diff --git a/runtime/syntax/libao.vim b/runtime/syntax/libao.vim
index fdf8594..25b6e82 100644
--- a/runtime/syntax/libao.vim
+++ b/runtime/syntax/libao.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         libao.conf(5) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
diff --git a/runtime/syntax/limits.vim b/runtime/syntax/limits.vim
index f6dfd8a..a6d245a 100644
--- a/runtime/syntax/limits.vim
+++ b/runtime/syntax/limits.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         limits(5) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-06-29
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
diff --git a/runtime/syntax/loginaccess.vim b/runtime/syntax/loginaccess.vim
index 84a059d..07d60ee 100644
--- a/runtime/syntax/loginaccess.vim
+++ b/runtime/syntax/loginaccess.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         login.access(5) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-06-29
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
diff --git a/runtime/syntax/logindefs.vim b/runtime/syntax/logindefs.vim
index 2bbc6da..7c2b122 100644
--- a/runtime/syntax/logindefs.vim
+++ b/runtime/syntax/logindefs.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         login.defs(5) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-06-29
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
diff --git a/runtime/syntax/manconf.vim b/runtime/syntax/manconf.vim
index cdf89b9..90ecc8e 100644
--- a/runtime/syntax/manconf.vim
+++ b/runtime/syntax/manconf.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         man.conf(5) - man configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
diff --git a/runtime/syntax/modconf.vim b/runtime/syntax/modconf.vim
index 82cb980..e982b8c 100644
--- a/runtime/syntax/modconf.vim
+++ b/runtime/syntax/modconf.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         modules.conf(5) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-06-29
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
diff --git a/runtime/syntax/mplayerconf.vim b/runtime/syntax/mplayerconf.vim
index 9059206..55f7e1a 100644
--- a/runtime/syntax/mplayerconf.vim
+++ b/runtime/syntax/mplayerconf.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         mplayer(1) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
diff --git a/runtime/syntax/nanorc.vim b/runtime/syntax/nanorc.vim
index c13b30b..2ae4961 100644
--- a/runtime/syntax/nanorc.vim
+++ b/runtime/syntax/nanorc.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         nanorc(5) - GNU nano configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-06-30
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
diff --git a/runtime/syntax/netrc.vim b/runtime/syntax/netrc.vim
index 9d5d3ae..d8eba30 100644
--- a/runtime/syntax/netrc.vim
+++ b/runtime/syntax/netrc.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         netrc(5) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-06-27
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
diff --git a/runtime/syntax/pamconf.vim b/runtime/syntax/pamconf.vim
index 58eaf4b..46cd3c3 100644
--- a/runtime/syntax/pamconf.vim
+++ b/runtime/syntax/pamconf.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         pam(8) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-06-29
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 
 if exists("b:current_syntax")
diff --git a/runtime/syntax/passwd.vim b/runtime/syntax/passwd.vim
index ffb979f..2261d99 100644
--- a/runtime/syntax/passwd.vim
+++ b/runtime/syntax/passwd.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         passwd(5) password file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-06-30
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
@@ -12,7 +12,7 @@
 
 syn match   passwdBegin         display '^' nextgroup=passwdAccount
 
-syn match   passwdAccount       contained display '[a-z_][a-z0-9_-]*'
+syn match   passwdAccount       contained display '[+-]\=[a-z_][a-z0-9_-]*'
                                 \ nextgroup=passwdPasswordColon
 
 syn match   passwdPasswordColon contained display ':'
@@ -26,12 +26,12 @@
 
 syn match   passwdUIDColon      contained display ':' nextgroup=passwdUID
 
-syn match   passwdUID           contained display '\d\+'
+syn match   passwdUID           contained display '\d*'
                                 \ nextgroup=passwdGIDColon
 
 syn match   passwdGIDColon      contained display ':' nextgroup=passwdGID
 
-syn match   passwdGID           contained display '\d\+'
+syn match   passwdGID           contained display '\d*'
                                 \ nextgroup=passwdGecosColon
 
 syn match   passwdGecosColon    contained display ':' nextgroup=passwdGecos
@@ -47,7 +47,7 @@
 syn match   passwdShellColon    contained display ':'
                                 \ nextgroup=passwdShell
 
-syn match   passwdShell         contained display '[/*][^:]*'
+syn match   passwdShell         contained display '.*'
 
 hi def link passwdColon         Normal
 hi def link passwdAccount       Identifier
diff --git a/runtime/syntax/pinfo.vim b/runtime/syntax/pinfo.vim
index 88d490c..57d37d4 100644
--- a/runtime/syntax/pinfo.vim
+++ b/runtime/syntax/pinfo.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         pinfo(1) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
diff --git a/runtime/syntax/protocols.vim b/runtime/syntax/protocols.vim
index ab586bc..1dc109c 100644
--- a/runtime/syntax/protocols.vim
+++ b/runtime/syntax/protocols.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         protocols(5) - Internet protocols definition file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-06-30
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
diff --git a/runtime/syntax/quake.vim b/runtime/syntax/quake.vim
index b86d528..7840f7c 100644
--- a/runtime/syntax/quake.vim
+++ b/runtime/syntax/quake.vim
@@ -1,9 +1,11 @@
 " Vim syntax file
 " Language:         Quake[1-3] configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-06-29
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
+"               quake_is_quake1 - the syntax is to be used for quake1 configs
 "               quake_is_quake2 - the syntax is to be used for quake2 configs
 "               quake_is_quake3 - the syntax is to be used for quake3 configs
+" Credits:          Tomasz Kalkosinski wrote the original quake3Colors stuff
 
 if exists("b:current_syntax")
   finish
@@ -20,20 +22,24 @@
                               \ keepend contains=quakeTodo,@Spell
 
 syn region  quakeString       display oneline start=+"+ skip=+\\\\\|\\"+
-                              \ end=+"\|$+ contains=quakeNumbers,@quakeCommands
+                              \ end=+"\|$+ contains=quakeNumbers,
+                              \ @quakeCommands,@quake3Colors
 
 syn case ignore
 
-syn match quakeNumbers        display transparent '\<\d\|\.\d'
+syn match quakeNumbers        display transparent '\<-\=\d\|\.\d'
                               \ contains=quakeNumber,quakeFloat,
                               \ quakeOctalError,quakeOctal
 syn match quakeNumber         contained display '\d\+\>'
-syn match quakeOctal          contained display '0\o\+\>'
-                              \ contains=quakeOctalZero
-syn match quakeOctalZero      contained display '\<0'
 syn match quakeFloat          contained display '\d\+\.\d*'
 syn match quakeFloat          contained display '\.\d\+\>'
-syn match quakeOctalError     contained display '0\o*[89]\d*'
+
+if exists("quake_is_quake1") || exists("quake_is_quake2")
+  syn match quakeOctal        contained display '0\o\+\>'
+                              \ contains=quakeOctalZero
+  syn match quakeOctalZero    contained display '\<0'
+  syn match quakeOctalError   contained display '0\o*[89]\d*'
+endif
 
 syn cluster quakeCommands     contains=quakeCommand,quake1Command,
                               \ quake12Command,Quake2Command,Quake23Command,
@@ -80,8 +86,6 @@
   syn keyword quake2Command   weaplast
 endif
 
-syn case match
-
 if exists("quake_is_quake2") || exists("quake_is_quake3")
   syn keyword quake23Command  imagelist modellist path z_stats
 endif
@@ -112,6 +116,24 @@
   syn match   quake3Command   display "\<[+-]button\(\d\|1[0-4]\)\>"
 endif
 
+if exists("quake_is_quake3")
+  syn cluster quake3Colors    contains=quake3Red,quake3Green,quake3Yellow,
+                              \ quake3Blue,quake3Cyan,quake3Purple,quake3White,
+                              \ quake3Orange,quake3Grey,quake3Black,quake3Shadow
+
+  syn region quake3Red        contained start=+\^1+hs=e+1 end=+[$^"\n]+he=e-1
+  syn region quake3Green      contained start=+\^2+hs=e+1 end=+[$^"\n]+he=e-1
+  syn region quake3Yellow     contained start=+\^3+hs=e+1 end=+[$^"\n]+he=e-1
+  syn region quake3Blue       contained start=+\^4+hs=e+1 end=+[$^"\n]+he=e-1
+  syn region quake3Cyan       contained start=+\^5+hs=e+1 end=+[$^"\n]+he=e-1
+  syn region quake3Purple     contained start=+\^6+hs=e+1 end=+[$^"\n]+he=e-1
+  syn region quake3White      contained start=+\^7+hs=e+1 end=+[$^"\n]+he=e-1
+  syn region quake3Orange     contained start=+\^8+hs=e+1 end=+[$^\"\n]+he=e-1
+  syn region quake3Grey       contained start=+\^9+hs=e+1 end=+[$^"\n]+he=e-1
+  syn region quake3Black      contained start=+\^0+hs=e+1 end=+[$^"\n]+he=e-1
+  syn region quake3Shadow     contained start=+\^[Xx]+hs=e+1 end=+[$^"\n]+he=e-1
+endif
+
 hi def link quakeComment      Comment
 hi def link quakeTodo         Todo
 hi def link quakeString       String
@@ -128,6 +150,20 @@
 hi def link quake3Command     quakeCommands
 hi def link quakeCommands     Keyword
 
+if exists("quake_is_quake3")
+  hi quake3Red                ctermfg=Red         guifg=Red
+  hi quake3Green              ctermfg=Green       guifg=Green
+  hi quake3Yellow             ctermfg=Yellow      guifg=Yellow
+  hi quake3Blue               ctermfg=Blue        guifg=Blue
+  hi quake3Cyan               ctermfg=Cyan        guifg=Cyan
+  hi quake3Purple             ctermfg=DarkMagenta guifg=Purple
+  hi quake3White              ctermfg=White       guifg=White
+  hi quake3Black              ctermfg=Black       guifg=Black
+  hi quake3Orange             ctermfg=Brown       guifg=Orange
+  hi quake3Grey               ctermfg=LightGrey   guifg=LightGrey
+  hi quake3Shadow             cterm=underline     gui=underline
+endif
+
 let b:current_syntax = "quake"
 
 let &cpo = s:cpo_save
diff --git a/runtime/syntax/racc.vim b/runtime/syntax/racc.vim
index a8a8c05..c0bfa30 100644
--- a/runtime/syntax/racc.vim
+++ b/runtime/syntax/racc.vim
@@ -1,7 +1,7 @@
 " Vim default file
 " Language:         Racc input file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
diff --git a/runtime/syntax/readline.vim b/runtime/syntax/readline.vim
index cd7b10f..81175fe 100644
--- a/runtime/syntax/readline.vim
+++ b/runtime/syntax/readline.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         readline(3) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 "   readline_has_bash - if defined add support for bash specific
 "                       settings/functions
 
diff --git a/runtime/syntax/rnc.vim b/runtime/syntax/rnc.vim
index 3758ec5..d510f04 100644
--- a/runtime/syntax/rnc.vim
+++ b/runtime/syntax/rnc.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         Relax NG compact syntax
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
diff --git a/runtime/syntax/screen.vim b/runtime/syntax/screen.vim
index 1baaa5b..e1ff4ec 100644
--- a/runtime/syntax/screen.vim
+++ b/runtime/syntax/screen.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         screen(1) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
diff --git a/runtime/syntax/sensors.vim b/runtime/syntax/sensors.vim
index 41c13e8..63cecec 100644
--- a/runtime/syntax/sensors.vim
+++ b/runtime/syntax/sensors.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         sensors.conf(5) - libsensors configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
diff --git a/runtime/syntax/services.vim b/runtime/syntax/services.vim
index a2db7b1..661f57a 100644
--- a/runtime/syntax/services.vim
+++ b/runtime/syntax/services.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         services(5) - Internet network services list
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-06-30
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
diff --git a/runtime/syntax/setserial.vim b/runtime/syntax/setserial.vim
index 6d410f5..cdd309d 100644
--- a/runtime/syntax/setserial.vim
+++ b/runtime/syntax/setserial.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         setserial(8) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
diff --git a/runtime/syntax/sieve.vim b/runtime/syntax/sieve.vim
index fa369fc..f651cbd 100644
--- a/runtime/syntax/sieve.vim
+++ b/runtime/syntax/sieve.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         Sieve filtering language input file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
diff --git a/runtime/syntax/slpconf.vim b/runtime/syntax/slpconf.vim
index 4b3c5a1..9fe4503 100644
--- a/runtime/syntax/slpconf.vim
+++ b/runtime/syntax/slpconf.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         RFC 2614 - An API for Service Location configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
diff --git a/runtime/syntax/slpreg.vim b/runtime/syntax/slpreg.vim
index c4e16a9..f3c8a7f 100644
--- a/runtime/syntax/slpreg.vim
+++ b/runtime/syntax/slpreg.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         RFC 2614 - An API for Service Location registration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
diff --git a/runtime/syntax/slpspi.vim b/runtime/syntax/slpspi.vim
index e6d0c15..8507e3d 100644
--- a/runtime/syntax/slpspi.vim
+++ b/runtime/syntax/slpspi.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         RFC 2614 - An API for Service Location SPI file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
diff --git a/runtime/syntax/sqlj.vim b/runtime/syntax/sqlj.vim
index ba64bdf..51398ef 100644
--- a/runtime/syntax/sqlj.vim
+++ b/runtime/syntax/sqlj.vim
@@ -94,6 +94,8 @@
   HiLink sqljString	String
   HiLink sqljType	Type
   HiLink sqljPre	PreProc
+
+  delcommand HiLink
 endif
 
 let b:current_syntax = "sqlj"
diff --git a/runtime/syntax/sudoers.vim b/runtime/syntax/sudoers.vim
index 81d808f..2e2d744 100644
--- a/runtime/syntax/sudoers.vim
+++ b/runtime/syntax/sudoers.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         sudoers(5) configuration files
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
diff --git a/runtime/syntax/sysctl.vim b/runtime/syntax/sysctl.vim
index 460d0ac..d16d458 100644
--- a/runtime/syntax/sysctl.vim
+++ b/runtime/syntax/sysctl.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         sysctl.conf(5) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-06-29
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
diff --git a/runtime/syntax/terminfo.vim b/runtime/syntax/terminfo.vim
index 9fd7845..0ea112a 100644
--- a/runtime/syntax/terminfo.vim
+++ b/runtime/syntax/terminfo.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         terminfo(5) definition
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
@@ -74,7 +74,7 @@
 syn match terminfoStrings       display '\<kf\([0-9]\|[0-5][0-9]\|6[0-3]\)\>'
 
 syn match terminfoParameters    '%[%dcspl+*/mAO&|^=<>!~i?te;-]'
-syn match terminfoParameters    '%\('[A-Z]'\|{[0-9]\{1,2}}\|p[1-9]\|P[a-z]\|g[A-Z]\)'
+syn match terminfoParameters    "%\('[A-Z]'\|{[0-9]\{1,2}}\|p[1-9]\|P[a-z]\|g[A-Z]\)"
 
 hi def link terminfoComment     Comment
 hi def link terminfoTodo        Todo
diff --git a/runtime/syntax/udevconf.vim b/runtime/syntax/udevconf.vim
index 487a8ac..a294604 100644
--- a/runtime/syntax/udevconf.vim
+++ b/runtime/syntax/udevconf.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         udev(8) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-01
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
diff --git a/runtime/syntax/udevperm.vim b/runtime/syntax/udevperm.vim
index c2029a4..9d3af09 100644
--- a/runtime/syntax/udevperm.vim
+++ b/runtime/syntax/udevperm.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         udev(8) permissions file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-01
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
diff --git a/runtime/syntax/udevrules.vim b/runtime/syntax/udevrules.vim
index 7deac2a..2dca878 100644
--- a/runtime/syntax/udevrules.vim
+++ b/runtime/syntax/udevrules.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         udev(8) rules file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
diff --git a/runtime/syntax/updatedb.vim b/runtime/syntax/updatedb.vim
index e2b7903..dd8e6f7 100644
--- a/runtime/syntax/updatedb.vim
+++ b/runtime/syntax/updatedb.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         updatedb.conf(5) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
diff --git a/runtime/syntax/xinetd.vim b/runtime/syntax/xinetd.vim
index e8e57be..9010a48 100644
--- a/runtime/syntax/xinetd.vim
+++ b/runtime/syntax/xinetd.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         xinetd.conf(5) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-06-30
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
diff --git a/runtime/syntax/xmodmap.vim b/runtime/syntax/xmodmap.vim
index 2b097df..69c70c5 100644
--- a/runtime/syntax/xmodmap.vim
+++ b/runtime/syntax/xmodmap.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         xmodmap(1) definition file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
diff --git a/runtime/syntax/yaml.vim b/runtime/syntax/yaml.vim
index 5a94fb6..9ebab70 100644
--- a/runtime/syntax/yaml.vim
+++ b/runtime/syntax/yaml.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         YAML (YAML Ain't Markup Language)
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
diff --git a/src/auto/configure b/src/auto/configure
index 7a308a7..319fd4e 100755
--- a/src/auto/configure
+++ b/src/auto/configure
@@ -9197,7 +9197,7 @@
 rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
   else
     cat >>confdefs.h <<\_ACEOF
-#define XPMATTRIBUTES_TYPE XpmAttributes_21
+#define XPMATTRIBUTES_TYPE XpmAttributes
 _ACEOF
 
   fi
diff --git a/src/configure.in b/src/configure.in
index 6a1a56f..5c6dd51 100644
--- a/src/configure.in
+++ b/src/configure.in
@@ -1911,7 +1911,7 @@
 	AC_MSG_RESULT(no); AC_DEFINE(XPMATTRIBUTES_TYPE, XpmAttributes)
 	)
   else
-    AC_DEFINE(XPMATTRIBUTES_TYPE, XpmAttributes_21)
+    AC_DEFINE(XPMATTRIBUTES_TYPE, XpmAttributes)
   fi
   CPPFLAGS=$cppflags_save
 fi
diff --git a/src/digraph.c b/src/digraph.c
index 892a3ed..667ff07 100644
--- a/src/digraph.c
+++ b/src/digraph.c
@@ -2439,8 +2439,11 @@
 	    kp->to = vim_strnsave(p, (int)(s - p));
 
 	    if (kp->from == NULL || kp->to == NULL
-		    || STRLEN(kp->from) + STRLEN(kp->to) >= KMAP_LLEN)
+		    || STRLEN(kp->from) + STRLEN(kp->to) >= KMAP_LLEN
+		    || *kp->from == NUL || *kp->to == NUL)
 	    {
+		if (kp->to != NULL && *kp->to == NUL)
+		    EMSG(_("E791: Empty keymap entry"));
 		vim_free(kp->from);
 		vim_free(kp->to);
 	    }
diff --git a/src/ex_eval.c b/src/ex_eval.c
index 1da7f1b..c89cb2b 100644
--- a/src/ex_eval.c
+++ b/src/ex_eval.c
@@ -155,22 +155,22 @@
     struct msglist **plist;
 
     /*
-     * Do nothing when displaying the interrupt message or reporting an uncaught
-     * exception (which has already been discarded then) at the top level.  Also
-     * when no exception can be thrown.  The message will be displayed by
-     * emsg().
+     * Do nothing when displaying the interrupt message or reporting an
+     * uncaught exception (which has already been discarded then) at the top
+     * level.  Also when no exception can be thrown.  The message will be
+     * displayed by emsg().
      */
     if (suppress_errthrow)
 	return FALSE;
 
     /*
-     * If emsg() has not been called previously, temporarily reset "force_abort"
-     * until the throw point for error messages has been reached.  This ensures
-     * that aborting() returns the same value for all errors that appear in the
-     * same command.  This means particularly that for parsing errors during
-     * expression evaluation emsg() will be called multiply, even when the
-     * expression is evaluated from a finally clause that was activated due to
-     * an aborting error, interrupt, or exception.
+     * If emsg() has not been called previously, temporarily reset
+     * "force_abort" until the throw point for error messages has been
+     * reached.  This ensures that aborting() returns the same value for all
+     * errors that appear in the same command.  This means particularly that
+     * for parsing errors during expression evaluation emsg() will be called
+     * multiply, even when the expression is evaluated from a finally clause
+     * that was activated due to an aborting error, interrupt, or exception.
      */
     if (!did_emsg)
     {
@@ -181,18 +181,18 @@
     /*
      * If no try conditional is active and no exception is being thrown and
      * there has not been an error in a try conditional or a throw so far, do
-     * nothing (for compatibility of non-EH scripts).  The message will then be
-     * displayed by emsg().  When ":silent!" was used and we are not currently
-     * throwing an exception, do nothing.  The message text will then be stored
-     * to v:errmsg by emsg() without displaying it.
+     * nothing (for compatibility of non-EH scripts).  The message will then
+     * be displayed by emsg().  When ":silent!" was used and we are not
+     * currently throwing an exception, do nothing.  The message text will
+     * then be stored to v:errmsg by emsg() without displaying it.
      */
     if (((trylevel == 0 && !cause_abort) || emsg_silent) && !did_throw)
 	return FALSE;
 
     /*
      * Ignore an interrupt message when inside a try conditional or when an
-     * exception is being thrown or when an error in a try conditional or throw
-     * has been detected previously.  This is important in order that an
+     * exception is being thrown or when an error in a try conditional or
+     * throw has been detected previously.  This is important in order that an
      * interrupt exception is catchable by the innermost try conditional and
      * not replaced by an interrupt message error exception.
      */
diff --git a/src/gui.c b/src/gui.c
index 755c20c..0fdcabe 100644
--- a/src/gui.c
+++ b/src/gui.c
@@ -3407,31 +3407,36 @@
 }
 
 /*
- * Get the label for tab page "tp" into NameBuff[].
+ * Get the label or tooltip for tab page "tp" into NameBuff[].
  */
     void
-get_tabline_label(tp)
+get_tabline_label(tp, tooltip)
     tabpage_T	*tp;
+    int		tooltip;	/* TRUE: get tooltip */
 {
     int		modified = FALSE;
     char_u	buf[40];
     int		wincount;
     win_T	*wp;
+    char_u	*opt;
 
-    /* Use 'guitablabel' if it's set. */
-    if (*p_gtl != NUL)
+    /* Use 'guitablabel' or 'guitabtooltip' if it's set. */
+    opt = (tooltip ? p_gtt : p_gtl);
+    if (*opt != NUL)
     {
 	int	use_sandbox = FALSE;
 	int	save_called_emsg = called_emsg;
 	char_u	res[MAXPATHL];
 	tabpage_T *save_curtab;
+	char_u	*opt_name = (char_u *)(tooltip ? "guitabtooltip"
+							     : "guitablabel");
 
 	called_emsg = FALSE;
 
 	printer_page_num = tabpage_index(tp);
 # ifdef FEAT_EVAL
 	set_vim_var_nr(VV_LNUM, printer_page_num);
-	use_sandbox = was_set_insecurely((char_u *)"guitablabel", 0);
+	use_sandbox = was_set_insecurely(opt_name, 0);
 # endif
 	/* It's almost as going to the tabpage, but without autocommands. */
 	curtab->tp_firstwin = firstwin;
@@ -3446,7 +3451,7 @@
 	curbuf = curwin->w_buffer;
 
 	/* Can't use NameBuff directly, build_stl_str_hl() uses it. */
-	build_stl_str_hl(curwin, res, MAXPATHL, p_gtl, use_sandbox,
+	build_stl_str_hl(curwin, res, MAXPATHL, opt, use_sandbox,
 						 0, (int)Columns, NULL, NULL);
 	STRCPY(NameBuff, res);
 
@@ -3459,7 +3464,7 @@
 	curbuf = curwin->w_buffer;
 
 	if (called_emsg)
-	    set_string_option_direct((char_u *)"guitablabel", -1,
+	    set_string_option_direct(opt_name, -1,
 					   (char_u *)"", OPT_FREE, SID_ERROR);
 	called_emsg |= save_called_emsg;
     }
@@ -3467,7 +3472,8 @@
     {
 	/* Get the buffer name into NameBuff[] and shorten it. */
 	get_trans_bufname(tp == curtab ? curbuf : tp->tp_curwin->w_buffer);
-	shorten_dir(NameBuff);
+	if (!tooltip)
+	    shorten_dir(NameBuff);
 
 	wp = (tp == curtab) ? firstwin : tp->tp_firstwin;
 	for (wincount = 0; wp != NULL; wp = wp->w_next, ++wincount)
diff --git a/src/gui_gtk_x11.c b/src/gui_gtk_x11.c
index 23318bb..79557a8 100644
--- a/src/gui_gtk_x11.c
+++ b/src/gui_gtk_x11.c
@@ -3320,7 +3320,7 @@
 		    nr++);
 	}
 
-	get_tabline_label(tp);
+	get_tabline_label(tp, FALSE);
 	labeltext = CONVERT_TO_UTF8(NameBuff);
 	gtk_notebook_set_tab_label_text(GTK_NOTEBOOK(gui.tabline), page,
 						     (const gchar *)labeltext);
diff --git a/src/gui_motif.c b/src/gui_motif.c
index 9e28be2..ccc9778 100644
--- a/src/gui_motif.c
+++ b/src/gui_motif.c
@@ -3359,8 +3359,9 @@
 	XtVaGetValues(tab, XmNlabelString, &label_str, NULL);
 	if (XmStringGetLtoR(label_str, XmSTRING_DEFAULT_CHARSET, &label_cstr))
 	{
-	    get_tabline_label(tp);
-	    if (STRCMP(label_cstr, NameBuff) != 0) {
+	    get_tabline_label(tp, FALSE);
+	    if (STRCMP(label_cstr, NameBuff) != 0)
+	    {
 		XtVaSetValues(tab, XtVaTypedArg, XmNlabelString, XmRString,
 			      NameBuff, STRLEN(NameBuff) + 1, NULL);
 		/*
diff --git a/src/gui_w48.c b/src/gui_w48.c
index 6e4ec1a..2e43557 100644
--- a/src/gui_w48.c
+++ b/src/gui_w48.c
@@ -2334,7 +2334,7 @@
 	    TabCtrl_InsertItem(s_tabhwnd, nr, &tie);
 	}
 
-	get_tabline_label(tp);
+	get_tabline_label(tp, FALSE);
 	tie.pszText = NameBuff;
 #ifdef FEAT_MBYTE
 	wstr = NULL;
diff --git a/src/message.c b/src/message.c
index 69b194d..c0146c9 100644
--- a/src/message.c
+++ b/src/message.c
@@ -561,17 +561,18 @@
 
     /*
      * If "emsg_off" is set: no error messages at the moment.
-     * If 'debug' is set: do error message anyway, but without side effects.
+     * If "msg" is in 'debug': do error message but without side effects.
      * If "emsg_skip" is set: never do error messages.
      */
-    if ((emsg_off > 0 && vim_strchr(p_debug, 'm') == NULL)
+    if ((emsg_off > 0 && vim_strchr(p_debug, 'm') == NULL
+					  && vim_strchr(p_debug, 't') == NULL)
 #ifdef FEAT_EVAL
 	    || emsg_skip > 0
 #endif
 	    )
 	return TRUE;
 
-    if (!emsg_off)
+    if (!emsg_off || vim_strchr(p_debug, 't') != NULL)
     {
 #ifdef FEAT_EVAL
 	/*
diff --git a/src/misc2.c b/src/misc2.c
index f8a583b..4667a56 100644
--- a/src/misc2.c
+++ b/src/misc2.c
@@ -5816,7 +5816,8 @@
 emsg3(s, a1, a2)
     char_u *s, *a1, *a2;
 {
-    if ((emsg_off > 0 && vim_strchr(p_debug, 'm') == NULL)
+    if ((emsg_off > 0 && vim_strchr(p_debug, 'm') == NULL
+					  && vim_strchr(p_debug, 't') == NULL)
 #ifdef FEAT_EVAL
 	    || emsg_skip > 0
 #endif
@@ -5835,7 +5836,8 @@
     char_u	*s;
     long	n;
 {
-    if ((emsg_off > 0 && vim_strchr(p_debug, 'm') == NULL)
+    if ((emsg_off > 0 && vim_strchr(p_debug, 'm') == NULL
+					  && vim_strchr(p_debug, 't') == NULL)
 #ifdef FEAT_EVAL
 	    || emsg_skip > 0
 #endif
diff --git a/src/option.c b/src/option.c
index cfca188..c1fc7dc 100644
--- a/src/option.c
+++ b/src/option.c
@@ -1267,6 +1267,15 @@
 			    {(char_u *)NULL, (char_u *)0L}
 #endif
 				    },
+    {"guitabtooltip",  "gtl", P_STRING|P_VI_DEF|P_RWIN,
+#if defined(FEAT_GUI_TABLINE)
+			    (char_u *)&p_gtt, PV_NONE,
+			    {(char_u *)"", (char_u *)0L}
+#else
+			    (char_u *)NULL, PV_NONE,
+			    {(char_u *)NULL, (char_u *)0L}
+#endif
+				    },
     {"hardtabs",    "ht",   P_NUM|P_VI_DEF,
 			    (char_u *)NULL, PV_NONE,
 			    {(char_u *)0L, (char_u *)0L}},
@@ -2812,7 +2821,7 @@
 static char *(p_scbopt_values[]) = {"ver", "hor", "jump", NULL};
 #endif
 static char *(p_swb_values[]) = {"useopen", "usetab", "split", NULL};
-static char *(p_debug_values[]) = {"msg", "beep", NULL};
+static char *(p_debug_values[]) = {"msg", "throw", "beep", NULL};
 #ifdef FEAT_VERTSPLIT
 static char *(p_ead_values[]) = {"both", "ver", "hor", NULL};
 #endif
@@ -6188,7 +6197,7 @@
     /* 'debug' */
     else if (varp == &p_debug)
     {
-	if (check_opt_strings(p_debug, p_debug_values, FALSE) != OK)
+	if (check_opt_strings(p_debug, p_debug_values, TRUE) != OK)
 	    errmsg = e_invarg;
     }
 
diff --git a/src/option.h b/src/option.h
index 39c03e1..d512a20 100644
--- a/src/option.h
+++ b/src/option.h
@@ -508,6 +508,7 @@
 #endif
 #if defined(FEAT_GUI_TABLINE)
 EXTERN char_u	*p_gtl;		/* 'guitablabel' */
+EXTERN char_u	*p_gtt;		/* 'guitabtooltip' */
 #endif
 EXTERN char_u	*p_hf;		/* 'helpfile' */
 #ifdef FEAT_WINDOWS
diff --git a/src/po/it.po b/src/po/it.po
index 2673c63..22584cd 100644
--- a/src/po/it.po
+++ b/src/po/it.po
@@ -12,8 +12,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: vim 7.0\n"
-"POT-Creation-Date: 2006-04-08 09:01+0200\n"
-"PO-Revision-Date:  2006-04-08 09:01+0200\n"
+"POT-Creation-Date: 2006-04-21 09:26+0200\n"
+"PO-Revision-Date:  2006-04-21 09:26+0200\n"
 "Last-Translator:   Vlad Sandrini   <vlad.gently@gmail.com>\n"
 "Language-Team:     Italian"
 "                   Antonio Colombo <azc100@gmail.com>"
@@ -494,6 +494,22 @@
 msgid "E724: variable nested too deep for displaying"
 msgstr "E724: variabile troppo nidificata per la visualizzazione"
 
+#, c-format
+msgid "E117: Unknown function: %s"
+msgstr "E117: Funzione sconosciuta: %s"
+
+#, c-format
+msgid "E119: Not enough arguments for function: %s"
+msgstr "E119: La funzione: %s richiede più argomenti"
+
+#, c-format
+msgid "E120: Using <SID> not in a script context: %s"
+msgstr "E120: Uso di <SID> fuori dal contesto di uno script: %s"
+
+#, c-format
+msgid "E725: Calling dict function without Dictionary: %s"
+msgstr "E725: Chiamata di funzione dict in assenza di Dizionario: %s"
+
 msgid "E699: Too many arguments"
 msgstr "E699: Troppi argomenti"
 
@@ -2517,12 +2533,33 @@
 msgid "no such window"
 msgstr "finestra inesistente"
 
+msgid "E265: $_ must be an instance of String"
+msgstr "E265: $_ deve essere un'istanza di String"
+
 msgid ""
 "E266: Sorry, this command is disabled, the Ruby library could not be loaded."
 msgstr ""
 "E266: Spiacente, comando non disponibile, non riesco a caricare libreria "
 "programmi Ruby."
 
+msgid "E267: unexpected return"
+msgstr "E267: return imprevisto"
+
+msgid "E268: unexpected next"
+msgstr "E268: next imprevisto"
+
+msgid "E269: unexpected break"
+msgstr "E269: break imprevisto"
+
+msgid "E270: unexpected redo"
+msgstr "E270: redo imprevisto"
+
+msgid "E271: retry outside of rescue clause"
+msgstr "E271: retry fuori da clausola rescue"
+
+msgid "E272: unhandled exception"
+msgstr "E272: eccezione non gestita"
+
 #, c-format
 msgid "E273: unknown longjmp status %d"
 msgstr "E273: tipo sconosciuto di salto nel programma %d"
@@ -4232,9 +4269,6 @@
 msgid "I/O ERROR"
 msgstr "ERRORE I/O"
 
-msgid "...(truncated)"
-msgstr "...(troncato)"
-
 msgid "Message"
 msgstr "Messaggio"
 
@@ -4660,6 +4694,16 @@
 msgid "E389: Couldn't find pattern"
 msgstr "E389: Non sono riuscito a trovare il modello"
 
+#, c-format
+msgid ""
+"\n"
+"# Last %sSearch Pattern:\n"
+"~"
+msgstr ""
+"\n"
+"# Ult. %sEspressione di Ricerca:\n"
+"~"
+
 msgid "E759: Format error in spell file"
 msgstr "E759: Errore di formato nel file ortografico"
 
@@ -4739,7 +4783,7 @@
 "Defining COMPOUNDFORBIDFLAG after PFX item may give wrong results in %s line "
 "%d"
 msgstr ""
-"Definire COMPOUNDFORBIDFLAG dop l'elemento PFX potrebbe dare risultati "
+"Definire COMPOUNDFORBIDFLAG dopo l'elemento PFX potrebbe dare risultati "
 "errati in %s linea %d"
 
 #, c-format
@@ -4747,7 +4791,7 @@
 "Defining COMPOUNDPERMITFLAG after PFX item may give wrong results in %s line "
 "%d"
 msgstr ""
-"Definire COMPOUNDPERMITFLAG dop l'elemento PFX potrebbe dare risultati "
+"Definire COMPOUNDPERMITFLAG dopo l'elemento PFX potrebbe dare risultati "
 "errati in %s linea %d"
 
 #, c-format
@@ -5380,6 +5424,10 @@
 msgid "number changes  time"
 msgstr "numero modif.   ora"
 
+#, c-format
+msgid "%ld seconds ago"
+msgstr "%ld secondi fa"
+
 msgid "E439: undo list corrupt"
 msgstr "E439: lista 'undo' non valida"
 
@@ -5686,6 +5734,9 @@
 msgid "type  :help windows95<Enter>  for info on this"
 msgstr "batti :help windows95<Enter>  per info al riguardo"
 
+msgid "Already only one window"
+msgstr "C'è già una finestra sola"
+
 msgid "E441: There is no preview window"
 msgstr "E441: Non c'è una finestra di pre-visualizzazione"
 
@@ -5698,9 +5749,6 @@
 msgid "E444: Cannot close last window"
 msgstr "E444: Non riesco a chiudere l'ultima finestra"
 
-msgid "Already only one window"
-msgstr "C'è già una finestra sola"
-
 msgid "E445: Other window contains changes"
 msgstr "E445: Altre finestre contengono modifiche"
 
diff --git a/src/po/zh_CN.UTF-8.po b/src/po/zh_CN.UTF-8.po
index de60cda..cb516e6 100644
--- a/src/po/zh_CN.UTF-8.po
+++ b/src/po/zh_CN.UTF-8.po
@@ -4,6 +4,10 @@
 # Do ":help credits" in Vim to see a list of people who contributed.
 #
 # FIRST AUTHOR  Wang Jun <junw@turbolinux.com.cn>
+# 
+# TRANSLATORS
+#   Edyfox <edyfox@gmail.com>
+#   Yuheng Xie <elephant@linux.net.cn>
 #
 # Original translations.
 #
@@ -11,8 +15,8 @@
 msgstr ""
 "Project-Id-Version: Vim(Simplified Chinese)\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2006-03-28 21:47+0800\n"
-"PO-Revision-Date: 2006-04-18 18:00+0800\n"
+"POT-Creation-Date: 2006-04-21 15:16+0800\n"
+"PO-Revision-Date: 2006-04-21 14:00+0800\n"
 "Last-Translator: Yuheng Xie <elephant@linux.net.cn>\n"
 "Language-Team: Simplified Chinese <i18n-translation@lists.linux.net.cn>\n"
 "MIME-Version: 1.0\n"
@@ -209,6 +213,9 @@
 msgid "E103: Buffer \"%s\" is not in diff mode"
 msgstr "E103: 缓冲区 \"%s\" 不在 diff 模式"
 
+msgid "E787: Buffer changed unexpectedly"
+msgstr "E787: 意外地改变了缓冲区"
+
 msgid "E104: Escape not allowed in digraph"
 msgstr "E104: 复合字符(digraph)中不能使用 Escape"
 
@@ -222,8 +229,8 @@
 msgstr " 关键字补全 (^N^P)"
 
 #. ctrl_x_mode == 0, ^P/^N compl.
-msgid " ^X mode (^]^D^E^F^I^K^L^N^O^P^S^U^V^Y)"
-msgstr " ^X 模式 (^]^D^E^F^I^K^L^N^O^P^S^U^V^Y)"
+msgid " ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)"
+msgstr " ^X 模式 (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)"
 
 msgid " Whole line completion (^L^N^P)"
 msgstr " 整行补全 (^L^N^P)"
@@ -256,8 +263,8 @@
 msgid " Omni completion (^O^N^P)"
 msgstr " 全能补全 (^O^N^P)"
 
-msgid " Spelling suggestion (^S^N^P)"
-msgstr " 拼写建议 (^S^N^P)"
+msgid " Spelling suggestion (s^N^P)"
+msgstr " 拼写建议 (s^N^P)"
 
 msgid " Keyword Local completion (^N^P)"
 msgstr " 关键字局部补全 (^N^P)"
@@ -489,9 +496,8 @@
 msgid "E723: Missing end of Dictionary '}': %s"
 msgstr "E723: Dictionary 缺少结束符 '}': %s"
 
-#, fuzzy
-#~ msgid "E724: variable nested too deep for displaying"
-#~ msgstr "E724: 变量嵌套过深"
+msgid "E724: variable nested too deep for displaying"
+msgstr "E724: 变量嵌套过深无法显示"
 
 msgid "E699: Too many arguments"
 msgstr "E699: 参数过多"
@@ -529,8 +535,8 @@
 msgid "called inputrestore() more often than inputsave()"
 msgstr "inputrestore() 的调用次数多于 inputsave()"
 
-msgid "E745: Range not allowed"
-msgstr "E745: 不允许的范围"
+msgid "E786: Range not allowed"
+msgstr "E786: 不允许的范围"
 
 msgid "E701: Invalid type for len()"
 msgstr "E701: len() 的类型无效"
@@ -560,9 +566,8 @@
 msgid "E258: Unable to send to client"
 msgstr "E258: 无法发送到客户端"
 
-#, fuzzy
-#~ msgid "E702: Sort compare function failed"
-#~ msgstr "E702: Sort 比较函数失败"
+msgid "E702: Sort compare function failed"
+msgstr "E702: Sort 比较函数失败"
 
 msgid "(Invalid)"
 msgstr "(无效)"
@@ -611,9 +616,8 @@
 msgid "E742: Cannot change value of %s"
 msgstr "E742: 无法改变 %s 的值"
 
-#, fuzzy
-#~ msgid "E698: variable nested too deep for making a copy"
-#~ msgstr "E698: 变量嵌套过深"
+msgid "E698: variable nested too deep for making a copy"
+msgstr "E698: 变量嵌套过深无法复制"
 
 #, c-format
 msgid "E124: Missing '(': %s"
@@ -682,6 +686,268 @@
 "\n"
 "\t最近修改于 "
 
+#, c-format
+msgid "<%s>%s%s  %d,  Hex %02x,  Octal %03o"
+msgstr "<%s>%s%s  %d,  十六进制 %02x,  八进制 %03o"
+
+#, c-format
+msgid "> %d, Hex %04x, Octal %o"
+msgstr "> %d, 十六进制 %04x, 八进制 %o"
+
+#, c-format
+msgid "> %d, Hex %08x, Octal %o"
+msgstr "> %d, 十六进制 %08x, 八进制 %o"
+
+msgid "E134: Move lines into themselves"
+msgstr "E134: 把行移动到自已中"
+
+msgid "1 line moved"
+msgstr "移动了 1 行"
+
+#, c-format
+msgid "%ld lines moved"
+msgstr "移动了 %ld 行"
+
+#, c-format
+msgid "%ld lines filtered"
+msgstr "过滤了 %ld 行"
+
+msgid "E135: *Filter* Autocommands must not change current buffer"
+msgstr "E135: *Filter* 自动命令不可以改变当前缓冲区"
+
+msgid "[No write since last change]\n"
+msgstr "[已修改但尚未保存]\n"
+
+# bad to translate
+#, c-format
+msgid "%sviminfo: %s in line: "
+msgstr "%sviminfo: %s 位于行: "
+
+msgid "E136: viminfo: Too many errors, skipping rest of file"
+msgstr "E136: viminfo: 错误过多,忽略文件的剩余部分"
+
+#, c-format
+msgid "Reading viminfo file \"%s\"%s%s%s"
+msgstr "读取 viminfo 文件 \"%s\"%s%s%s"
+
+msgid " info"
+msgstr " 信息"
+
+msgid " marks"
+msgstr " 标记"
+
+msgid " FAILED"
+msgstr " 失败"
+
+#, c-format
+msgid "E137: Viminfo file is not writable: %s"
+msgstr "E137: Viminfo 文件不可写入: %s"
+
+#, c-format
+msgid "E138: Can't write viminfo file %s!"
+msgstr "E138: 无法写入 viminfo 文件 %s!"
+
+#, c-format
+msgid "Writing viminfo file \"%s\""
+msgstr "写入 viminfo 文件 \"%s\""
+
+# do not translate to avoid writing Chinese in files
+#. Write the info:
+#, fuzzy, c-format
+#~ msgid "# This viminfo file was generated by Vim %s.\n"
+#~ msgstr "# 这个 viminfo 文件是由 Vim %s 生成的。\n"
+
+# do not translate to avoid writing Chinese in files
+#, fuzzy, c-format
+msgid ""
+"# You may edit it if you're careful!\n"
+"\n"
+msgstr ""
+"# 如果要自行修改请特别小心!\n"
+"\n"
+
+# do not translate to avoid writing Chinese in files
+#, fuzzy, c-format
+#~ msgid "# Value of 'encoding' when this file was written\n"
+#~ msgstr "# 'encoding' 在此文件建立时的值\n"
+
+msgid "Illegal starting char"
+msgstr "无效的启动字符"
+
+msgid "Save As"
+msgstr "另存为"
+
+msgid "Write partial file?"
+msgstr "要写入部分文件吗?"
+
+msgid "E140: Use ! to write partial buffer"
+msgstr "E140: 请使用 ! 来写入部分缓冲区"
+
+#, c-format
+msgid "Overwrite existing file \"%s\"?"
+msgstr "覆盖已存在的文件 \"%s\" 吗?"
+
+#, c-format
+msgid "Swap file \"%s\" exists, overwrite anyway?"
+msgstr "交换文件 \"%s\" 已存在,确实要覆盖吗?"
+
+#, c-format
+msgid "E768: Swap file exists: %s (:silent! overrides)"
+msgstr "E768: 交换文件已存在: %s (:silent! 强制执行)"
+
+#, c-format
+msgid "E141: No file name for buffer %ld"
+msgstr "E141: 缓冲区 %ld 没有文件名"
+
+msgid "E142: File not written: Writing is disabled by 'write' option"
+msgstr "E142: 文件未写入: 写入被 'write' 选项禁用"
+
+#, c-format
+msgid ""
+"'readonly' option is set for \"%s\".\n"
+"Do you wish to write anyway?"
+msgstr ""
+"\"%s\" 已设定 'readonly' 选项。\n"
+"确实要覆盖吗?"
+
+msgid "Edit File"
+msgstr "编辑文件"
+
+#, c-format
+msgid "E143: Autocommands unexpectedly deleted new buffer %s"
+msgstr "E143: 自动命令意外地删除了新缓冲区 %s"
+
+msgid "E144: non-numeric argument to :z"
+msgstr "E144: :z 不接受非数字的参数"
+
+msgid "E145: Shell commands not allowed in rvim"
+msgstr "E145: rvim 中禁止使用 shell 命令"
+
+msgid "E146: Regular expressions can't be delimited by letters"
+msgstr "E146: 正则表达式不能用字母作分界"
+
+#, c-format
+msgid "replace with %s (y/n/a/q/l/^E/^Y)?"
+msgstr "替换为 %s (y/n/a/q/l/^E/^Y)?"
+
+msgid "(Interrupted) "
+msgstr "(已中断) "
+
+msgid "1 match"
+msgstr "1 个匹配,"
+
+msgid "1 substitution"
+msgstr "1 次替换,"
+
+#, c-format
+msgid "%ld matches"
+msgstr "%ld 个匹配,"
+
+#, c-format
+msgid "%ld substitutions"
+msgstr "%ld 次替换,"
+
+msgid " on 1 line"
+msgstr "共 1 行"
+
+#, c-format
+msgid " on %ld lines"
+msgstr "共 %ld 行"
+
+msgid "E147: Cannot do :global recursive"
+msgstr "E147: :global 不能递归执行"
+
+msgid "E148: Regular expression missing from global"
+msgstr "E148: global 缺少正则表达式"
+
+#, c-format
+msgid "Pattern found in every line: %s"
+msgstr "每行都匹配表达式: %s"
+
+# do not translate to avoid writing Chinese in files
+#, fuzzy, c-format
+msgid ""
+"\n"
+"# Last Substitute String:\n"
+"$"
+msgstr ""
+"\n"
+"# 最近的替换字符串:\n"
+"$"
+
+msgid "E478: Don't panic!"
+msgstr "E478: 不要慌!"
+
+#, c-format
+msgid "E661: Sorry, no '%s' help for %s"
+msgstr "E661: 抱歉,没有 '%s' 的 %s 的说明"
+
+#, c-format
+msgid "E149: Sorry, no help for %s"
+msgstr "E149: 抱歉,没有 %s 的说明"
+
+#, c-format
+msgid "Sorry, help file \"%s\" not found"
+msgstr "抱歉,找不到帮助文件 \"%s\""
+
+#, c-format
+msgid "E150: Not a directory: %s"
+msgstr "E150: 不是目录: %s"
+
+#, c-format
+msgid "E152: Cannot open %s for writing"
+msgstr "E152: 无法打开并写入 %s"
+
+#, c-format
+msgid "E153: Unable to open %s for reading"
+msgstr "E153: 无法打开并读取 %s"
+
+#, c-format
+msgid "E670: Mix of help file encodings within a language: %s"
+msgstr "E670: 在一种语言中混合了多种帮助文件编码: %s"
+
+#, c-format
+msgid "E154: Duplicate tag \"%s\" in file %s/%s"
+msgstr "E154: Tag \"%s\" 在文件 %s/%s 中重复出现"
+
+#, c-format
+msgid "E160: Unknown sign command: %s"
+msgstr "E160: 未知的 sign 命令: %s"
+
+msgid "E156: Missing sign name"
+msgstr "E156: 缺少 sign 名称"
+
+msgid "E612: Too many signs defined"
+msgstr "E612: Signs 定义过多"
+
+#, c-format
+msgid "E239: Invalid sign text: %s"
+msgstr "E239: 无效的 sign 文字: %s"
+
+#, c-format
+msgid "E155: Unknown sign: %s"
+msgstr "E155: 未知的 sign: %s"
+
+msgid "E159: Missing sign number"
+msgstr "E159: 缺少 sign 号"
+
+#, c-format
+msgid "E158: Invalid buffer name: %s"
+msgstr "E158: 无效的缓冲区名: %s"
+
+#, c-format
+msgid "E157: Invalid sign ID: %ld"
+msgstr "E157: 无效的 sign ID: %ld"
+
+msgid " (NOT FOUND)"
+msgstr " (找不到)"
+
+msgid " (not supported)"
+msgstr " (不支持)"
+
+msgid "[Deleted]"
+msgstr "[已删除]"
+
 msgid "Entering Debug mode.  Type \"cont\" to continue."
 msgstr "进入调试模式。输入 \"cont\" 继续运行。"
 
@@ -711,9 +977,6 @@
 msgid "E750: First use :profile start <fname>"
 msgstr "E750: 请先使用 :profile start <fname>"
 
-msgid "Save As"
-msgstr "另存为"
-
 #, c-format
 msgid "Save changes to \"%s\"?"
 msgstr "将改变保存到 \"%s\" 吗?"
@@ -812,265 +1075,6 @@
 msgid "E197: Cannot set language to \"%s\""
 msgstr "E197: 不能设定语言为 \"%s\""
 
-#, c-format
-msgid "<%s>%s%s  %d,  Hex %02x,  Octal %03o"
-msgstr "<%s>%s%s  %d,  十六进制 %02x,  八进制 %03o"
-
-#, c-format
-msgid "> %d, Hex %04x, Octal %o"
-msgstr "> %d, 十六进制 %04x, 八进制 %o"
-
-#, c-format
-msgid "> %d, Hex %08x, Octal %o"
-msgstr "> %d, 十六进制 %08x, 八进制 %o"
-
-msgid "E134: Move lines into themselves"
-msgstr "E134: 把行移动到自已中"
-
-msgid "1 line moved"
-msgstr "移动了 1 行"
-
-#, c-format
-msgid "%ld lines moved"
-msgstr "移动了 %ld 行"
-
-#, c-format
-msgid "%ld lines filtered"
-msgstr "过滤了 %ld 行"
-
-msgid "E135: *Filter* Autocommands must not change current buffer"
-msgstr "E135: *Filter* 自动命令不可以改变当前缓冲区"
-
-msgid "[No write since last change]\n"
-msgstr "[已修改但尚未保存]\n"
-
-#, c-format
-# bad to translate
-msgid "%sviminfo: %s in line: "
-msgstr "%sviminfo: %s 位于行: "
-
-msgid "E136: viminfo: Too many errors, skipping rest of file"
-msgstr "E136: viminfo: 错误过多,忽略文件的剩余部分"
-
-#, c-format
-msgid "Reading viminfo file \"%s\"%s%s%s"
-msgstr "读取 viminfo 文件 \"%s\"%s%s%s"
-
-msgid " info"
-msgstr " 信息"
-
-msgid " marks"
-msgstr " 标记"
-
-msgid " FAILED"
-msgstr " 失败"
-
-#, c-format
-msgid "E137: Viminfo file is not writable: %s"
-msgstr "E137: Viminfo 文件不可写入: %s"
-
-#, c-format
-msgid "E138: Can't write viminfo file %s!"
-msgstr "E138: 无法写入 viminfo 文件 %s!"
-
-#, c-format
-msgid "Writing viminfo file \"%s\""
-msgstr "写入 viminfo 文件 \"%s\""
-
-#. Write the info:
-#, fuzzy, c-format
-# do not translate to avoid writing Chinese in files
-msgid "# This viminfo file was generated by Vim %s.\n"
-msgstr "# 这个 viminfo 文件是由 vim %s 生成的。\n"
-
-#, fuzzy, c-format
-# do not translate to avoid writing Chinese in files
-msgid ""
-"# You may edit it if you're careful!\n"
-"\n"
-msgstr ""
-"# 如果要自行修改请特别小心!\n"
-"\n"
-
-#, fuzzy, c-format
-# do not translate to avoid writing Chinese in files
-msgid "# Value of 'encoding' when this file was written\n"
-msgstr "# 'encoding' 在此文件建立时的值\n"
-
-msgid "Illegal starting char"
-msgstr "无效的启动字符"
-
-msgid "Write partial file?"
-msgstr "要写入部分文件吗?"
-
-msgid "E140: Use ! to write partial buffer"
-msgstr "E140: 请使用 ! 来写入部分缓冲区"
-
-#, c-format
-msgid "Overwrite existing file \"%s\"?"
-msgstr "覆盖已存在的文件 \"%s\" 吗?"
-
-#, c-format
-msgid "Swap file \"%s\" exists, overwrite anyway?"
-msgstr "交换文件 \"%s\" 已存在,确实要覆盖吗?"
-
-#, c-format
-msgid "E768: Swap file exists: %s (:silent! overrides)"
-msgstr "E768: 交换文件已存在: %s (:silent! 强制执行)"
-
-#, c-format
-msgid "E141: No file name for buffer %ld"
-msgstr "E141: 缓冲区 %ld 没有文件名"
-
-msgid "E142: File not written: Writing is disabled by 'write' option"
-msgstr "E142: 文件未写入: 写入被 'write' 选项禁用"
-
-#, c-format
-msgid ""
-"'readonly' option is set for \"%s\".\n"
-"Do you wish to write anyway?"
-msgstr ""
-"\"%s\" 已设定 'readonly' 选项。\n"
-"确实要覆盖吗?"
-
-msgid "Edit File"
-msgstr "编辑文件"
-
-#, c-format
-msgid "E143: Autocommands unexpectedly deleted new buffer %s"
-msgstr "E143: 自动命令意外地删除了新缓冲区 %s"
-
-msgid "E144: non-numeric argument to :z"
-msgstr "E144: :z 不接受非数字的参数"
-
-msgid "E145: Shell commands not allowed in rvim"
-msgstr "E145: rvim 中禁止使用 shell 命令"
-
-msgid "E146: Regular expressions can't be delimited by letters"
-msgstr "E146: 正则表达式不能用字母作分界"
-
-#, c-format
-msgid "replace with %s (y/n/a/q/l/^E/^Y)?"
-msgstr "替换为 %s (y/n/a/q/l/^E/^Y)?"
-
-msgid "(Interrupted) "
-msgstr "(已中断) "
-
-msgid "1 match"
-msgstr "1 个匹配,"
-
-msgid "1 substitution"
-msgstr "1 次替换,"
-
-#, c-format
-msgid "%ld matches"
-msgstr "%ld 个匹配,"
-
-#, c-format
-msgid "%ld substitutions"
-msgstr "%ld 次替换,"
-
-msgid " on 1 line"
-msgstr "共 1 行"
-
-#, c-format
-msgid " on %ld lines"
-msgstr "共 %ld 行"
-
-msgid "E147: Cannot do :global recursive"
-msgstr "E147: :global 不能递归执行"
-
-msgid "E148: Regular expression missing from global"
-msgstr "E148: global 缺少正则表达式"
-
-#, c-format
-msgid "Pattern found in every line: %s"
-msgstr "每行都匹配表达式: %s"
-
-#, fuzzy, c-format
-# do not translate to avoid writing Chinese in files
-msgid ""
-"\n"
-"# Last Substitute String:\n"
-"$"
-msgstr ""
-"\n"
-"# 最近的替换字符串:\n"
-"$"
-
-msgid "E478: Don't panic!"
-msgstr "E478: 不要慌!"
-
-#, c-format
-msgid "E661: Sorry, no '%s' help for %s"
-msgstr "E661: 抱歉,没有 '%s' 的 %s 的说明"
-
-#, c-format
-msgid "E149: Sorry, no help for %s"
-msgstr "E149: 抱歉,没有 %s 的说明"
-
-#, c-format
-msgid "Sorry, help file \"%s\" not found"
-msgstr "抱歉,找不到帮助文件 \"%s\""
-
-#, c-format
-msgid "E150: Not a directory: %s"
-msgstr "E150: 不是目录: %s"
-
-#, c-format
-msgid "E152: Cannot open %s for writing"
-msgstr "E152: 无法打开并写入 %s"
-
-#, c-format
-msgid "E153: Unable to open %s for reading"
-msgstr "E153: 无法打开并读取 %s"
-
-#, c-format
-msgid "E670: Mix of help file encodings within a language: %s"
-msgstr "E670: 在一种语言中混合了多种帮助文件编码: %s"
-
-#, c-format
-msgid "E154: Duplicate tag \"%s\" in file %s/%s"
-msgstr "E154: Tag \"%s\" 在文件 %s/%s 中重复出现"
-
-#, c-format
-msgid "E160: Unknown sign command: %s"
-msgstr "E160: 未知的 sign 命令: %s"
-
-msgid "E156: Missing sign name"
-msgstr "E156: 缺少 sign 名称"
-
-msgid "E612: Too many signs defined"
-msgstr "E612: Signs 定义过多"
-
-#, c-format
-msgid "E239: Invalid sign text: %s"
-msgstr "E239: 无效的 sign 文字: %s"
-
-#, c-format
-msgid "E155: Unknown sign: %s"
-msgstr "E155: 未知的 sign: %s"
-
-msgid "E159: Missing sign number"
-msgstr "E159: 缺少 sign 号"
-
-#, c-format
-msgid "E158: Invalid buffer name: %s"
-msgstr "E158: 无效的缓冲区名: %s"
-
-#, c-format
-msgid "E157: Invalid sign ID: %ld"
-msgstr "E157: 无效的 sign ID: %ld"
-
-msgid " (NOT FOUND)"
-msgstr " (找不到)"
-
-msgid " (not supported)"
-msgstr " (不支持)"
-
-msgid "[Deleted]"
-msgstr "[已删除]"
-
 msgid "Entering Ex mode.  Type \"visual\" to go to Normal mode."
 msgstr "进入 Ex 模式。输入 \"visual\" 回到正常模式。"
 
@@ -1179,7 +1183,7 @@
 
 #, c-format
 msgid "E185: Cannot find color scheme %s"
-msgstr "E185: 找不到颜色主题 %s"
+msgstr "E185: 找不到配色方案 %s"
 
 msgid "Greetings, Vim user!"
 msgstr "您好,Vim 用户!"
@@ -1391,6 +1395,9 @@
 msgid "E193: :endfunction not inside a function"
 msgstr "E193: :endfunction 不在函数内"
 
+msgid "E788: Not allowed to edit another buffer now"
+msgstr "E788: 目前不允许编辑别的缓冲区"
+
 msgid "tagname"
 msgstr "tag 名"
 
@@ -1400,8 +1407,8 @@
 msgid "'history' option is zero"
 msgstr "选项 'history' 为零"
 
-#, fuzzy, c-format
 # do not translate to avoid writing Chinese in files
+#, fuzzy, c-format
 msgid ""
 "\n"
 "# %s History (newest to oldest):\n"
@@ -1409,17 +1416,25 @@
 "\n"
 "# %s 历史记录 (从新到旧):\n"
 
-msgid "Command Line"
-msgstr "命令行"
+# do not translate to avoid writing Chinese in files
+#, fuzzy
+#~ msgid "Command Line"
+#~ msgstr "命令行"
 
-msgid "Search String"
-msgstr "查找字符串"
+# do not translate to avoid writing Chinese in files
+#, fuzzy
+#~ msgid "Search String"
+#~ msgstr "查找字符串"
 
-msgid "Expression"
-msgstr "表达式"
+# do not translate to avoid writing Chinese in files
+#, fuzzy
+#~ msgid "Expression"
+#~ msgstr "表达式"
 
-msgid "Input Line"
-msgstr "输入行"
+# do not translate to avoid writing Chinese in files
+#, fuzzy
+#~ msgid "Input Line"
+#~ msgstr "输入行"
 
 msgid "E198: cmd_pchar beyond the command length"
 msgstr "E198: cmd_pchar 超过命令长度"
@@ -1550,9 +1565,8 @@
 msgid "E510: Can't make backup file (add ! to override)"
 msgstr "E510: 无法生成备份文件 (请加 ! 强制执行)"
 
-#, fuzzy
-#~ msgid "E460: The resource fork would be lost (add ! to override)"
-#~ msgstr "E460: Resource fork 会消失 (请加 ! 强制执行)"
+msgid "E460: The resource fork would be lost (add ! to override)"
+msgstr "E460: Resource fork 会丢失 (请加 ! 强制执行)"
 
 msgid "E214: Can't find temp file for writing"
 msgstr "E214: 找不到用于写入的临时文件"
@@ -1836,6 +1850,29 @@
 msgid "E228: makemap: Illegal mode"
 msgstr "E228: makemap: 无效的模式"
 
+msgid "E229: Cannot start the GUI"
+msgstr "E229: 无法启动图形界面"
+
+#, c-format
+msgid "E230: Cannot read from \"%s\""
+msgstr "E230: 无法读取文件 \"%s\""
+
+msgid "E665: Cannot start GUI, no valid font found"
+msgstr "E665: 无法启动图形界面,找不到有效的字体"
+
+msgid "E231: 'guifontwide' invalid"
+msgstr "E231: 无效的 'guifontwide'"
+
+msgid "E599: Value of 'imactivatekey' is invalid"
+msgstr "E599: 'imactivatekey' 的值无效"
+
+#, c-format
+msgid "E254: Cannot allocate color %s"
+msgstr "E254: 无法分配颜色 %s"
+
+msgid "No match at cursor, finding next"
+msgstr "在光标处没有匹配,查找下一个"
+
 msgid "<cannot open> "
 msgstr "<无法打开>"
 
@@ -1858,38 +1895,15 @@
 msgid "Cancel"
 msgstr "取消"
 
-msgid "Vim dialog"
-msgstr "Vim 对话框"
-
 msgid "Scrollbar Widget: Could not get geometry of thumb pixmap."
 msgstr "滚动条部件: 无法获取滑块图像的几何大小"
 
+msgid "Vim dialog"
+msgstr "Vim 对话框"
+
 msgid "E232: Cannot create BalloonEval with both message and callback"
 msgstr "E232: 不能同时使用消息和回调函数来创建 BalloonEval"
 
-msgid "E229: Cannot start the GUI"
-msgstr "E229: 无法启动图形界面"
-
-#, c-format
-msgid "E230: Cannot read from \"%s\""
-msgstr "E230: 不能读取文件 \"%s\""
-
-msgid "E665: Cannot start GUI, no valid font found"
-msgstr "E665: 无法启动图形界面,找不到有效的字体"
-
-msgid "E231: 'guifontwide' invalid"
-msgstr "E231: 无效的 'guifontwide'"
-
-msgid "E599: Value of 'imactivatekey' is invalid"
-msgstr "E599: 'imactivatekey' 的值无效"
-
-#, c-format
-msgid "E254: Cannot allocate color %s"
-msgstr "E254: 无法分配颜色 %s"
-
-msgid "No match at cursor, finding next"
-msgstr "在光标处没有匹配,查找下一个"
-
 msgid "Vim dialog..."
 msgstr "Vim 对话框..."
 
@@ -2027,6 +2041,12 @@
 msgid "E672: Unable to open window inside MDI application"
 msgstr "E672: 无法在 MDI 应用程序中打开窗口"
 
+msgid "Close tab"
+msgstr "关闭标签"
+
+msgid "Open tab..."
+msgstr "打开标签..."
+
 msgid "Find string (use '\\\\' to find  a '\\')"
 msgstr "查找字符串 (使用 '\\\\' 来查找 '\\')"
 
@@ -2084,40 +2104,36 @@
 "字体1的宽度: %ld\n"
 "\n"
 
-#, fuzzy
-#~ msgid "Invalid font specification"
-#~ msgstr "不正确的字体集(Fontset)"
+msgid "Invalid font specification"
+msgstr "指定了无效的字体"
 
-#~ msgid "&Dismiss"
-#~ msgstr ""
+msgid "&Dismiss"
+msgstr "取消(&D)"
 
-#~ msgid "no specific match"
-#~ msgstr ""
+msgid "no specific match"
+msgstr "找不到匹配的项"
 
-#, fuzzy
-#~ msgid "Vim - Font Selector"
-#~ msgstr "字体选择"
+msgid "Vim - Font Selector"
+msgstr "Vim - 字体选择器"
 
-#~ msgid "Name:"
-#~ msgstr ""
+msgid "Name:"
+msgstr "名称:"
 
 #. create toggle button
 #~ msgid "Show size in Points"
 #~ msgstr ""
 
-#, fuzzy
-#~ msgid "Encoding:"
-#~ msgstr "记录中"
+msgid "Encoding:"
+msgstr "编码:"
 
-#, fuzzy
-#~ msgid "Font:"
-#~ msgstr "字体1: %s\n"
+msgid "Font:"
+msgstr "字体:"
 
-#~ msgid "Style:"
-#~ msgstr ""
+msgid "Style:"
+msgstr "风格:"
 
-#~ msgid "Size:"
-#~ msgstr ""
+msgid "Size:"
+msgstr "尺寸:"
 
 msgid "E256: Hangul automata ERROR"
 msgstr "E256: Hangul automata 错误"
@@ -3021,8 +3037,8 @@
 msgid "-display <display>\tRun vim on <display> (also: --display)"
 msgstr "-display <display>\t在 <display> 上运行 vim (也可用 --display)"
 
-#~ msgid "--role <role>\tSet a unique role to identify the main window"
-#~ msgstr ""
+msgid "--role <role>\tSet a unique role to identify the main window"
+msgstr "--role <role>\t设置用于区分主窗口的窗口角色名"
 
 msgid "--socketid <xid>\tOpen Vim inside another GTK widget"
 msgstr "--socketid <xid>\t在另一个 GTK 部件中打开 Vim"
@@ -3030,8 +3046,8 @@
 msgid "-P <parent title>\tOpen Vim inside parent application"
 msgstr "-P <parent title>\t在父应用程序中打开 Vim"
 
-#~ msgid "No display"
-#~ msgstr ""
+msgid "No display"
+msgstr "没有 display"
 
 #. Failed to send, abort.
 msgid ": Send failed.\n"
@@ -3045,9 +3061,8 @@
 msgid "%d of %d edited"
 msgstr "%d 中 %d 已编辑"
 
-#, fuzzy
-#~ msgid "No display: Send expression failed.\n"
-#~ msgstr "发送表达式失败。\n"
+msgid "No display: Send expression failed.\n"
+msgstr "没有 display: 发送表达式失败。\n"
 
 msgid ": Send expression failed.\n"
 msgstr ": 发送表达式失败。\n"
@@ -3241,49 +3256,49 @@
 msgid "E309: Unable to read block 1 from %s"
 msgstr "E309: 无法从 %s 读取块 1"
 
-#, fuzzy
 # do not translate to avoid writing Chinese in files
-msgid "???MANY LINES MISSING"
-msgstr "???缺少了太多行"
+#, fuzzy
+#~ msgid "???MANY LINES MISSING"
+#~ msgstr "???缺少了太多行"
 
-#, fuzzy
 # do not translate to avoid writing Chinese in files
-msgid "???LINE COUNT WRONG"
-msgstr "???行数错误"
+#, fuzzy
+#~ msgid "???LINE COUNT WRONG"
+#~ msgstr "???行数错误"
 
-#, fuzzy
 # do not translate to avoid writing Chinese in files
-msgid "???EMPTY BLOCK"
-msgstr "???空的块"
+#, fuzzy
+#~ msgid "???EMPTY BLOCK"
+#~ msgstr "???空的块"
 
-#, fuzzy
 # do not translate to avoid writing Chinese in files
-msgid "???LINES MISSING"
-msgstr "???缺少了一些行"
+#, fuzzy
+#~ msgid "???LINES MISSING"
+#~ msgstr "???缺少了一些行"
 
 #, c-format
 msgid "E310: Block 1 ID wrong (%s not a .swp file?)"
 msgstr "E310: 块 1 ID 错误 (%s 不是交换文件?)"
 
-#, fuzzy
 # do not translate to avoid writing Chinese in files
-msgid "???BLOCK MISSING"
-msgstr "???缺少块"
+#, fuzzy
+#~ msgid "???BLOCK MISSING"
+#~ msgstr "???缺少块"
 
-#, fuzzy
 # do not translate to avoid writing Chinese in files
-msgid "??? from here until ???END lines may be messed up"
-msgstr "??? 从这里到 ???END 的行可能已混乱"
+#, fuzzy
+#~ msgid "??? from here until ???END lines may be messed up"
+#~ msgstr "??? 从这里到 ???END 的行可能已混乱"
 
-#, fuzzy
 # do not translate to avoid writing Chinese in files
-msgid "??? from here until ???END lines may have been inserted/deleted"
-msgstr "??? 从这里到 ???END 的行可能已被插入/删除过"
+#, fuzzy
+#~ msgid "??? from here until ???END lines may have been inserted/deleted"
+#~ msgstr "??? 从这里到 ???END 的行可能已被插入/删除过"
 
-#, fuzzy
 # do not translate to avoid writing Chinese in files
-msgid "???END"
-msgstr "???END"
+#, fuzzy
+#~ msgid "???END"
+#~ msgstr "???END"
 
 msgid "E311: Recovery Interrupted"
 msgstr "E311: 恢复已被中断"
@@ -3810,18 +3825,18 @@
 msgstr "E347: 在路径中找不到更多的文件 \"%s\""
 
 #. Get here when the server can't be found.
-#~ msgid "Cannot connect to Netbeans #2"
-#~ msgstr ""
+msgid "Cannot connect to Netbeans #2"
+msgstr "无法连接到 Netbeans #2"
 
-#~ msgid "Cannot connect to Netbeans"
-#~ msgstr ""
+msgid "Cannot connect to Netbeans"
+msgstr "无法连接到 Netbeans"
 
 #, c-format
-#~ msgid "E668: Wrong access mode for NetBeans connection info file: \"%s\""
-#~ msgstr ""
+msgid "E668: Wrong access mode for NetBeans connection info file: \"%s\""
+msgstr "E668: NetBeans 连接信息文件中错误的访问模式: \"%s\""
 
-#~ msgid "read from Netbeans socket"
-#~ msgstr ""
+msgid "read from Netbeans socket"
+msgstr "从 Netbeans 套接字读取"
 
 #, c-format
 msgid "E658: NetBeans connection lost for buffer %ld"
@@ -3950,26 +3965,27 @@
 msgid "%ld Cols; "
 msgstr "%ld 列; "
 
-#, fuzzy, c-format
-#~ msgid "Selected %s%ld of %ld Lines; %ld of %ld Words; %ld of %ld Bytes"
-#~ msgstr "选择了 %s%ld/%ld 行; %ld/%ld 字(Word); %ld/%ld 字符(Bytes)"
+#, c-format
+msgid "Selected %s%ld of %ld Lines; %ld of %ld Words; %ld of %ld Bytes"
+msgstr "选择了 %s%ld/%ld 行; %ld/%ld 个词; %ld/%ld 个字节"
 
-#, fuzzy, c-format
+#, c-format
 msgid ""
 "Selected %s%ld of %ld Lines; %ld of %ld Words; %ld of %ld Chars; %ld of %ld "
 "Bytes"
-msgstr "选择了 %s%ld/%ld 行; %ld/%ld 字(Word); %ld/%ld 字符(Chars); %ld/%ld"
+msgstr "选择了 %s%ld/%ld 行; %ld/%ld 个词; %ld/%ld 个字符; %ld/%ld 个字节"
 
-#, fuzzy, c-format
-#~ msgid "Col %s of %s; Line %ld of %ld; Word %ld of %ld; Byte %ld of %ld"
-#~ msgstr "列 %s/%s; 行 %ld/%ld; 字(Word) %ld/%ld; 字符(Byte) %ld/%ld"
+#, c-format
+msgid "Col %s of %s; Line %ld of %ld; Word %ld of %ld; Byte %ld of %ld"
+msgstr "第 %s/%s 列; 第 %ld/%ld 行; 第 %ld/%ld 个词; 第 %ld/%ld 个字节"
 
-#, fuzzy, c-format
+#, c-format
 msgid ""
 "Col %s of %s; Line %ld of %ld; Word %ld of %ld; Char %ld of %ld; Byte %ld of "
 "%ld"
 msgstr ""
-"列 %s/%s; 行 %ld/%ld; 字(Word) %ld/%ld; 字符(Char) %ld/%ld; 字符(Byte) %ld/%ld"
+"第 %s/%s 列; 第 %ld/%ld 行; 第 %ld/%ld 个词; 第 %ld/%ld 个字符; 第 %ld/%ld 个"
+"字节"
 
 #, c-format
 #~ msgid "(+%ld for BOM)"
@@ -4177,17 +4193,14 @@
 msgid "I/O ERROR"
 msgstr "I/O 错误"
 
-#~ msgid "...(truncated)"
-#~ msgstr ""
-
-#~ msgid "Message"
-#~ msgstr ""
+msgid "Message"
+msgstr "消息"
 
 msgid "'columns' is not 80, cannot execute external commands"
 msgstr "'columns' 不是 80, 不能执行外部命令"
 
 msgid "E237: Printer selection failed"
-msgstr "E237: 不能选择此打印机"
+msgstr "E237: 选择打印机失败"
 
 #, c-format
 msgid "to %s on %s"
@@ -4203,7 +4216,7 @@
 
 #, c-format
 msgid "Printing '%s'"
-msgstr "已打印: '%s'"
+msgstr "打印 '%s'"
 
 #, c-format
 msgid "E244: Illegal charset name \"%s\" in font name \"%s\""
@@ -4214,22 +4227,22 @@
 msgstr "E245: 不正确的字符 '%c' 出现在字体名称 \"%s\" 内"
 
 msgid "E366: Invalid 'osfiletype' option - using Text"
-msgstr "E366: 不正确的 'filetype' 选项 - 使用纯文字模式"
+msgstr "E366: 不正确的 'osfiletype' 选项 - 使用纯文字模式"
 
 msgid "Vim: Double signal, exiting\n"
-msgstr "Vim: 双重信号, 退出中\n"
+msgstr "Vim: 双重信号,退出中\n"
 
 #, c-format
 msgid "Vim: Caught deadly signal %s\n"
-msgstr "Vim: CVim: 拦截到信号(signal) %s\n"
+msgstr "Vim: 拦截到致命信号(deadly signal) %s\n"
 
 #, c-format
 msgid "Vim: Caught deadly signal\n"
-msgstr "Vim: 拦截到致命的信号(deadly signale)\n"
+msgstr "Vim: 拦截到致命信号(deadly signal)\n"
 
 #, c-format
 msgid "Opening the X display took %ld msec"
-msgstr "打开 X Window 用时 %ld 秒"
+msgstr "打开 X display 用时 %ld 秒"
 
 msgid ""
 "\n"
@@ -4239,24 +4252,24 @@
 "Vim: X 错误\n"
 
 msgid "Testing the X display failed"
-msgstr "测试 X Window 失败"
+msgstr "测试 X display 失败"
 
 msgid "Opening the X display timed out"
-msgstr "打开 X Window 超时"
+msgstr "打开 X display 超时"
 
 msgid ""
 "\n"
 "Cannot execute shell "
 msgstr ""
 "\n"
-"不能执行 shell"
+"无法执行 shell"
 
 msgid ""
 "\n"
 "Cannot execute shell sh\n"
 msgstr ""
 "\n"
-"不能执行 shell sh\n"
+"无法执行 shell sh\n"
 
 msgid ""
 "\n"
@@ -4270,14 +4283,14 @@
 "Cannot create pipes\n"
 msgstr ""
 "\n"
-"不能建立管道\n"
+"无法建立管道\n"
 
 msgid ""
 "\n"
 "Cannot fork\n"
 msgstr ""
 "\n"
-"不能 fork\n"
+"无法 fork\n"
 
 msgid ""
 "\n"
@@ -4286,46 +4299,45 @@
 "\n"
 "命令已结束\n"
 
-#, fuzzy
-#~ msgid "XSMP lost ICE connection"
-#~ msgstr "显示连接"
+msgid "XSMP lost ICE connection"
+msgstr "XSMP 丢失了到 ICE 的连接"
 
+# do not translate
 #, c-format
-#~ msgid "dlerror = \"%s\""
-#~ msgstr ""
+msgid "dlerror = \"%s\""
+msgstr "dlerror = \"%s\""
 
 msgid "Opening the X display failed"
-msgstr "打开 X Window 失败"
+msgstr "打开 X display 失败"
 
-#~ msgid "XSMP handling save-yourself request"
-#~ msgstr ""
+msgid "XSMP handling save-yourself request"
+msgstr "XSMP 处理 save-yourself 请求"
 
-#, fuzzy
-#~ msgid "XSMP opening connection"
-#~ msgstr "没有 cscope 连接"
+msgid "XSMP opening connection"
+msgstr "XSMP 打开连接"
 
-#~ msgid "XSMP ICE connection watch failed"
-#~ msgstr ""
+msgid "XSMP ICE connection watch failed"
+msgstr "XSMP ICE 连接监视失败"
 
 #, c-format
-#~ msgid "XSMP SmcOpenConnection failed: %s"
-#~ msgstr ""
+msgid "XSMP SmcOpenConnection failed: %s"
+msgstr "XSMP SmcOpenConnection 调用失败: %s"
 
 msgid "At line"
 msgstr "在行号 "
 
 msgid "Could not load vim32.dll!"
-msgstr "不能加载 vim32.dll!"
+msgstr "无法加载 vim32.dll!"
 
 msgid "VIM Error"
 msgstr "VIM 错误"
 
 msgid "Could not fix up function pointers to the DLL!"
-msgstr "不能修正函数指针到 DLL!"
+msgstr "无法修正到 DLL 的函数指针!"
 
 #, c-format
 msgid "shell returned %d"
-msgstr "Shell 返回值 %d"
+msgstr "Shell 返回 %d"
 
 #, c-format
 msgid "Vim: Caught %s event\n"
@@ -4348,8 +4360,8 @@
 "External commands will not pause after completion.\n"
 "See  :help win32-vimrun  for more information."
 msgstr ""
-"在你的 $PATH 中找不到 VIMRUN.EXE.\n"
-"外部命令执行完毕后将不会暂停.\n"
+"在你的 $PATH 中找不到 VIMRUN.EXE。\n"
+"外部命令执行完毕后将不会暂停。\n"
 "进一步说明请见 :help win32-vimrun"
 
 msgid "Vim Warning"
@@ -4407,8 +4419,8 @@
 msgid "E382: Cannot write, 'buftype' option is set"
 msgstr "E382: 无法写入,已设定选项 'buftype'"
 
-#~ msgid "E683: File name missing or invalid pattern"
-#~ msgstr ""
+msgid "E683: File name missing or invalid pattern"
+msgstr "E683: 缺少文件名或模式无效"
 
 #, c-format
 msgid "Cannot open file \"%s\""
@@ -4603,9 +4615,9 @@
 msgid "Scanning included file: %s"
 msgstr "查找包含文件: %s"
 
-#, fuzzy, c-format
-#~ msgid "Searching included file %s"
-#~ msgstr "查找包含文件: %s"
+#, c-format
+msgid "Searching included file %s"
+msgstr "查找包含的文件 %s"
 
 msgid "E387: Match is on current line"
 msgstr "E387: 当前行匹配"
@@ -4622,339 +4634,339 @@
 msgid "E389: Couldn't find pattern"
 msgstr "E389: 找不到 pattern"
 
-#, fuzzy
-#~ msgid "E759: Format error in spell file"
-#~ msgstr "E297: 交换文件写入错误"
+msgid "E759: Format error in spell file"
+msgstr "E759: 拼写文件格式错误"
 
-#, fuzzy
-#~ msgid "E758: Truncated spell file"
-#~ msgstr "E237: 不能选择此打印机"
-
-#, fuzzy, c-format
-#~ msgid "Trailing text in %s line %d: %s"
-#~ msgstr "\"%s%s\" 中断点: 第 %ld 行"
+msgid "E758: Truncated spell file"
+msgstr "E758: 已截断的拼写文件"
 
 #, c-format
-#~ msgid "Affix name too long in %s line %d: %s"
-#~ msgstr ""
-
-#, fuzzy
-#~ msgid "E761: Format error in affix file FOL, LOW or UPP"
-#~ msgstr "E431: Tag 文件 \"%s\" 格式错误"
-
-#~ msgid "E762: Character in FOL, LOW or UPP is out of range"
-#~ msgstr ""
-
-#~ msgid "Compressing word tree..."
-#~ msgstr ""
-
-#~ msgid "E756: Spell checking is not enabled"
-#~ msgstr ""
+msgid "Trailing text in %s line %d: %s"
+msgstr "%s 第 %d 行,多余的后续字符: %s"
 
 #, c-format
-#~ msgid "Warning: Cannot find word list \"%s.%s.spl\" or \"%s.ascii.spl\""
-#~ msgstr ""
+msgid "Affix name too long in %s line %d: %s"
+msgstr "%s 第 %d 行,附加项名字太长: %s"
 
-#, fuzzy, c-format
-#~ msgid "Reading spell file \"%s\""
-#~ msgstr "使用交换文件 \"%s\""
+msgid "E761: Format error in affix file FOL, LOW or UPP"
+msgstr "E761: 附加文件 FOL、LOW 或 UPP 中格式错误"
 
-#, fuzzy
-#~ msgid "E757: This does not look like a spell file"
-#~ msgstr "E307: %s 看起来不像是 Vim 交换文件"
+msgid "E762: Character in FOL, LOW or UPP is out of range"
+msgstr "E762: FOL、LOW 或 UPP 中字符超出范围"
 
-#, fuzzy
-#~ msgid "E771: Old spell file, needs to be updated"
-#~ msgstr "E173: 还有 %ld 个文件未编辑"
+msgid "Compressing word tree..."
+msgstr "压缩单词树……"
 
-#~ msgid "E772: Spell file is for newer version of Vim"
-#~ msgstr ""
-
-#, fuzzy
-#~ msgid "E770: Unsupported section in spell file"
-#~ msgstr "E297: 交换文件写入错误"
-
-#, fuzzy, c-format
-#~ msgid "Warning: region %s not supported"
-#~ msgstr "不支持该选项"
-
-#, fuzzy, c-format
-#~ msgid "Reading affix file %s ..."
-#~ msgstr "查找 tag 文件 \"%s\""
+msgid "E756: Spell checking is not enabled"
+msgstr "E756: 拼写检查未启用"
 
 #, c-format
-#~ msgid "Conversion failure for word in %s line %d: %s"
-#~ msgstr ""
+msgid "Warning: Cannot find word list \"%s.%s.spl\" or \"%s.ascii.spl\""
+msgstr "警告: 找不到单词列表 \"%s.%s.spl\" or \"%s.ascii.spl\""
 
 #, c-format
-#~ msgid "Conversion in %s not supported: from %s to %s"
-#~ msgstr ""
+msgid "Reading spell file \"%s\""
+msgstr "读取拼写文件 \"%s\""
 
-#, fuzzy, c-format
-#~ msgid "Conversion in %s not supported"
-#~ msgstr "不支持该选项"
+msgid "E757: This does not look like a spell file"
+msgstr "E757: 这看起来不像是拼写文件"
 
-#, fuzzy, c-format
-#~ msgid "Invalid value for FLAG in %s line %d: %s"
-#~ msgstr "不正确的服务器 id : %s"
+msgid "E771: Old spell file, needs to be updated"
+msgstr "E771: 旧版本的拼写文件,需要更新"
+
+msgid "E772: Spell file is for newer version of Vim"
+msgstr "E772: 为更高版本的 Vim 所用的拼写文件"
+
+msgid "E770: Unsupported section in spell file"
+msgstr "E770: 拼写文件中存在不支持的节"
 
 #, c-format
-#~ msgid "FLAG after using flags in %s line %d: %s"
-#~ msgstr ""
+msgid "Warning: region %s not supported"
+msgstr "警告: 区域 %s 不支持"
 
 #, c-format
-#~ msgid "Wrong COMPOUNDWORDMAX value in %s line %d: %s"
-#~ msgstr ""
+msgid "Reading affix file %s ..."
+msgstr "读取附加文件 %s ……"
 
 #, c-format
-#~ msgid "Wrong COMPOUNDMIN value in %s line %d: %s"
-#~ msgstr ""
+msgid "Conversion failure for word in %s line %d: %s"
+msgstr "单词 %s 转换失败,第 %d 行: %s"
 
 #, c-format
-#~ msgid "Wrong COMPOUNDSYLMAX value in %s line %d: %s"
-#~ msgstr ""
+msgid "Conversion in %s not supported: from %s to %s"
+msgstr "不支持 %s 中的转换: 从 %s 到 %s"
 
 #, c-format
-#~ msgid "Wrong CHECKCOMPOUNDPATTERN value in %s line %d: %s"
-#~ msgstr ""
+msgid "Conversion in %s not supported"
+msgstr "不支持 %s 中的转换"
 
 #, c-format
-#~ msgid "Different combining flag in continued affix block in %s line %d: %s"
-#~ msgstr ""
+msgid "Invalid value for FLAG in %s line %d: %s"
+msgstr "%s 第 %d 行,FLAG 的值无效: %s"
 
-#, fuzzy, c-format
-#~ msgid "Duplicate affix in %s line %d: %s"
-#~ msgstr "E154: 标签(tag) \"%s\" 在文件 %s 里重复出现多次"
+#, c-format
+msgid "FLAG after using flags in %s line %d: %s"
+msgstr "%s 第 %d 行,在使用标志后出现 FLAG: %s"
 
 #, c-format
 #~ msgid ""
-#~ "Affix also used for BAD/RARE/KEEPCASE/NEEDAFFIX/NEEDCOMPOUND/NOSUGGEST in %s "
-#~ "line %d: %s"
+#~ "Defining COMPOUNDFORBIDFLAG after PFX item may give wrong results in %s line "
+#~ "%d"
 #~ msgstr ""
 
 #, c-format
-#~ msgid "Expected Y or N in %s line %d: %s"
-#~ msgstr ""
-
-#, fuzzy, c-format
-#~ msgid "Broken condition in %s line %d: %s"
-#~ msgstr "\"%s%s\" 中断点: 第 %ld 行"
-
-#, c-format
-#~ msgid "Affix flags ignored when PFXPOSTPONE used in %s line %d: %s"
+#~ msgid ""
+#~ "Defining COMPOUNDPERMITFLAG after PFX item may give wrong results in %s line "
+#~ "%d"
 #~ msgstr ""
 
 #, c-format
-#~ msgid "Expected REP(SAL) count in %s line %d"
-#~ msgstr ""
+msgid "Wrong COMPOUNDWORDMAX value in %s line %d: %s"
+msgstr "%s 第 %d 行,错误的 COMPOUNDWORDMAX 值: %s"
 
 #, c-format
-#~ msgid "Expected MAP count in %s line %d"
-#~ msgstr ""
+msgid "Wrong COMPOUNDMIN value in %s line %d: %s"
+msgstr "%s 第 %d 行,错误的 COMPOUNDMIN 值: %s"
 
 #, c-format
-#~ msgid "Duplicate character in MAP in %s line %d"
-#~ msgstr ""
+msgid "Wrong COMPOUNDSYLMAX value in %s line %d: %s"
+msgstr "%s 第 %d 行,错误的 COMPOUNDSYLMAX 值: %s"
 
 #, c-format
-#~ msgid "Unrecognized or duplicate item in %s line %d: %s"
-#~ msgstr ""
+msgid "Wrong CHECKCOMPOUNDPATTERN value in %s line %d: %s"
+msgstr "%s 第 %d 行,错误的 CHECKCOMPOUNDPATTERN 值: %s"
 
 #, c-format
-#~ msgid "Missing FOL/LOW/UPP line in %s"
-#~ msgstr ""
-
-#~ msgid "COMPOUNDSYLMAX used without SYLLABLE"
-#~ msgstr ""
-
-#, fuzzy
-#~ msgid "Too many postponed prefixes"
-#~ msgstr "太多编辑参数"
-
-#, fuzzy
-#~ msgid "Too many compound flags"
-#~ msgstr "太多编辑参数"
-
-#~ msgid "Too many posponed prefixes and/or compound flags"
-#~ msgstr ""
+msgid "Different combining flag in continued affix block in %s line %d: %s"
+msgstr "%s 第 %d 行,在连续的附加块中出现不同的组合标志: %s"
 
 #, c-format
-#~ msgid "Missing SOFO%s line in %s"
-#~ msgstr ""
+msgid "Duplicate affix in %s line %d: %s"
+msgstr "%s 第 %d 行,重复的附加项: %s"
 
 #, c-format
-#~ msgid "Both SAL and SOFO lines in %s"
-#~ msgstr ""
+msgid ""
+"Affix also used for BAD/RARE/KEEPCASE/NEEDAFFIX/NEEDCOMPOUND/NOSUGGEST in %s "
+"line %d: %s"
+msgstr ""
+"%s 第 %d 行,附加项被 BAD/RARE/KEEPCASE/NEEDAFFIX/NEEDCOMPOUND/NOSUGGEST 使"
+"用: %s"
 
 #, c-format
-#~ msgid "Flag is not a number in %s line %d: %s"
-#~ msgstr ""
+msgid "Expected Y or N in %s line %d: %s"
+msgstr "%s 第 %d 行,此处需要 Y 或 N: %s"
 
 #, c-format
-#~ msgid "Illegal flag in %s line %d: %s"
-#~ msgstr ""
+msgid "Broken condition in %s line %d: %s"
+msgstr "%s 第 %d 行,错误的条件: %s"
 
 #, c-format
-#~ msgid "%s value differs from what is used in another .aff file"
-#~ msgstr ""
-
-#, fuzzy, c-format
-#~ msgid "Reading dictionary file %s ..."
-#~ msgstr "扫描字典: %s"
+msgid "Expected REP(SAL) count in %s line %d"
+msgstr "%s 第 %d 行,此处需要 REP(SAL) 计数"
 
 #, c-format
-#~ msgid "E760: No word count in %s"
-#~ msgstr ""
+msgid "Expected MAP count in %s line %d"
+msgstr "%s 第 %d 行,此处需要 MAP 计数"
 
 #, c-format
-#~ msgid "line %6d, word %6d - %s"
-#~ msgstr ""
-
-#, fuzzy, c-format
-#~ msgid "Duplicate word in %s line %d: %s"
-#~ msgstr "每一行都找不到模式: %s"
+msgid "Duplicate character in MAP in %s line %d"
+msgstr "%s 第 %d 行,MAP 中存在重复的字符"
 
 #, c-format
-#~ msgid "First duplicate word in %s line %d: %s"
-#~ msgstr ""
+msgid "Unrecognized or duplicate item in %s line %d: %s"
+msgstr "%s 第 %d 行,无法识别或重复的项: %s"
 
 #, c-format
-#~ msgid "%d duplicate word(s) in %s"
-#~ msgstr ""
+msgid "Missing FOL/LOW/UPP line in %s"
+msgstr "%s 中缺少 FOL/LOW/UPP 行"
+
+msgid "COMPOUNDSYLMAX used without SYLLABLE"
+msgstr "在没有 SYLLABLE 的情况下使用了 COMPOUNDSYLMAX"
+
+msgid "Too many postponed prefixes"
+msgstr "太多延迟前缀"
+
+msgid "Too many compound flags"
+msgstr "太多组合标志"
+
+msgid "Too many posponed prefixes and/or compound flags"
+msgstr "太多延迟前缀和/或组合标志"
 
 #, c-format
-#~ msgid "Ignored %d word(s) with non-ASCII characters in %s"
-#~ msgstr ""
+msgid "Missing SOFO%s line in %s"
+msgstr "%s 中缺少 SOFO%s 行"
 
-#, fuzzy, c-format
-#~ msgid "Reading word file %s ..."
-#~ msgstr "从标准输入读..."
+#, c-format
+msgid "Both SAL and SOFO lines in %s"
+msgstr "%s 同时出现 SQL 和 SOFO 行"
+
+#, c-format
+msgid "Flag is not a number in %s line %d: %s"
+msgstr "%s 第 %d 行,标志不是数字: %s"
+
+#, c-format
+msgid "Illegal flag in %s line %d: %s"
+msgstr "%s 第 %d 行,无效的标志: %s"
+
+#, c-format
+msgid "%s value differs from what is used in another .aff file"
+msgstr "%s 的值与另一个 .aff 文件中使用的值不相同"
+
+#, c-format
+msgid "Reading dictionary file %s ..."
+msgstr "读取字典文件 %s ……"
+
+#, c-format
+msgid "E760: No word count in %s"
+msgstr "E760: %s 中没有单词计数"
+
+#, c-format
+msgid "line %6d, word %6d - %s"
+msgstr "第 %6d 行,第 %6d 个单词 - %s"
+
+#, c-format
+msgid "Duplicate word in %s line %d: %s"
+msgstr "%s 第 %d 行,重复的单词: %s"
+
+#, c-format
+msgid "First duplicate word in %s line %d: %s"
+msgstr "%s 第 %d 行,首次重复的单词: %s"
+
+#, c-format
+msgid "%d duplicate word(s) in %s"
+msgstr "存在 %d 个重复的单词,在 %s 中"
+
+#, c-format
+msgid "Ignored %d word(s) with non-ASCII characters in %s"
+msgstr "忽略了含有非 ASCII 字符的 %d 个单词,在 %s 中"
+
+#, c-format
+msgid "Reading word file %s ..."
+msgstr "读取单词文件 %s ……"
 
 #, c-format
 #~ msgid "Duplicate /encoding= line ignored in %s line %d: %s"
 #~ msgstr ""
 
 #, c-format
-#~ msgid "/encoding= line after word ignored in %s line %d: %s"
-#~ msgstr ""
+msgid "/encoding= line after word ignored in %s line %d: %s"
+msgstr "%s 第 %d 行,单词后的 /encoding= 行已被忽略: %s"
 
 #, c-format
-#~ msgid "Duplicate /regions= line ignored in %s line %d: %s"
-#~ msgstr ""
+msgid "Duplicate /regions= line ignored in %s line %d: %s"
+msgstr "%s 第 %d 行,重复的 /regions= 行已被忽略: %s"
 
 #, c-format
-#~ msgid "Too many regions in %s line %d: %s"
-#~ msgstr ""
+msgid "Too many regions in %s line %d: %s"
+msgstr "%s 第 %d 行,太多区域: %s"
 
 #, c-format
-#~ msgid "/ line ignored in %s line %d: %s"
-#~ msgstr ""
-
-#, fuzzy, c-format
-#~ msgid "Invalid region nr in %s line %d: %s"
-#~ msgstr "不正确的服务器 id : %s"
+msgid "/ line ignored in %s line %d: %s"
+msgstr "%s 第 %d 行,/ 行已被忽略: %s"
 
 #, c-format
-#~ msgid "Unrecognized flags in %s line %d: %s"
-#~ msgstr ""
+msgid "Invalid region nr in %s line %d: %s"
+msgstr "%s 第 %d 行,无效的区域号: %s"
 
 #, c-format
-#~ msgid "Ignored %d words with non-ASCII characters"
-#~ msgstr ""
+msgid "Unrecognized flags in %s line %d: %s"
+msgstr "%s 第 %d 行,不可识别的标志: %s"
 
 #, c-format
-#~ msgid "Compressed %d of %d nodes; %d (%d%%) remaining"
-#~ msgstr ""
+msgid "Ignored %d words with non-ASCII characters"
+msgstr "忽略了含有非 ASCII 字符的 %d 个单词"
 
-#~ msgid "Reading back spell file..."
-#~ msgstr ""
+#, c-format
+msgid "Compressed %d of %d nodes; %d (%d%%) remaining"
+msgstr "压缩了 %d/%d 个节点;剩余 %d (%d%%)"
+
+msgid "Reading back spell file..."
+msgstr "读取拼写文件……"
 
 #.
 #. * Go through the trie of good words, soundfold each word and add it to
 #. * the soundfold trie.
 #.
-#~ msgid "Performing soundfolding..."
-#~ msgstr ""
+msgid "Performing soundfolding..."
+msgstr "正在 soundfolding……"
 
 #, c-format
-#~ msgid "Number of words after soundfolding: %ld"
-#~ msgstr ""
+msgid "Number of words after soundfolding: %ld"
+msgstr "soundfolding 后的单词数: %ld"
 
 #, c-format
-#~ msgid "Total number of words: %d"
-#~ msgstr ""
-
-#, fuzzy, c-format
-#~ msgid "Writing suggestion file %s ..."
-#~ msgstr "写入 viminfo 文件 \"%s\" 中"
+msgid "Total number of words: %d"
+msgstr "单词总数: %d"
 
 #, c-format
-#~ msgid "Estimated runtime memory use: %d bytes"
-#~ msgstr ""
-
-#~ msgid "E751: Output file name must not have region name"
-#~ msgstr ""
-
-#~ msgid "E754: Only up to 8 regions supported"
-#~ msgstr ""
-
-#, fuzzy, c-format
-#~ msgid "E755: Invalid region in %s"
-#~ msgstr "E15: 不正确的表达式: %s"
-
-#~ msgid "Warning: both compounding and NOBREAK specified"
-#~ msgstr ""
-
-#, fuzzy, c-format
-#~ msgid "Writing spell file %s ..."
-#~ msgstr "写入 viminfo 文件 \"%s\" 中"
-
-#, fuzzy
-#~ msgid "Done!"
-#~ msgstr "向下"
+msgid "Writing suggestion file %s ..."
+msgstr "写入建议文件 %s ……"
 
 #, c-format
-#~ msgid "E765: 'spellfile' does not have %ld entries"
-#~ msgstr ""
+msgid "Estimated runtime memory use: %d bytes"
+msgstr "估计运行时内存用量: %d 字节"
+
+msgid "E751: Output file name must not have region name"
+msgstr "E751: 输出文件名不能含有区域名"
+
+msgid "E754: Only up to 8 regions supported"
+msgstr "E754: 最多只支持 8 个区域"
 
 #, c-format
-#~ msgid "Word removed from %s"
-#~ msgstr ""
+msgid "E755: Invalid region in %s"
+msgstr "E755: %s 出现无效的范围"
+
+msgid "Warning: both compounding and NOBREAK specified"
+msgstr "警告: 同时指定了 compounding 和 NOBREAK"
 
 #, c-format
-#~ msgid "Word added to %s"
-#~ msgstr ""
+msgid "Writing spell file %s ..."
+msgstr "写入拼写文件 %s ……"
 
-#~ msgid "E763: Word characters differ between spell files"
-#~ msgstr ""
-
-#~ msgid "Sorry, no suggestions"
-#~ msgstr ""
+msgid "Done!"
+msgstr "完成!"
 
 #, c-format
-#~ msgid "Sorry, only %ld suggestions"
-#~ msgstr ""
+msgid "E765: 'spellfile' does not have %ld entries"
+msgstr "E765: 'spellfile' 没有 %ld 项"
+
+#, c-format
+msgid "Word removed from %s"
+msgstr "从 %s 中删除了单词"
+
+#, c-format
+msgid "Word added to %s"
+msgstr "向 %s 中添加了单词"
+
+msgid "E763: Word characters differ between spell files"
+msgstr "E763: 拼写文件之间的字符不相同"
+
+msgid "Sorry, no suggestions"
+msgstr "抱歉,没有建议"
+
+#, c-format
+msgid "Sorry, only %ld suggestions"
+msgstr "抱歉,只有 %ld 条建议"
 
 #. avoid more prompt
-#, fuzzy, c-format
-#~ msgid "Change \"%.*s\" to:"
-#~ msgstr "将改变保存到 \"%.*s\"?"
+#, c-format
+msgid "Change \"%.*s\" to:"
+msgstr "将 \"%.*s\" 改为:"
 
 #, c-format
-#~ msgid " < \"%.*s\""
-#~ msgstr ""
+msgid " < \"%.*s\""
+msgstr " < \"%.*s\""
 
-#, fuzzy
-#~ msgid "E752: No previous spell replacement"
-#~ msgstr "E35: 没有前一个查找命令"
+msgid "E752: No previous spell replacement"
+msgstr "E752: 之前没有拼写替换"
 
-#, fuzzy, c-format
-#~ msgid "E753: Not found: %s"
-#~ msgstr "E334: [菜单] 找不到 %s"
+#, c-format
+msgid "E753: Not found: %s"
+msgstr "E753: 找不到: %s"
 
-#, fuzzy, c-format
-#~ msgid "E778: This does not look like a .sug file: %s"
-#~ msgstr "E307: %s 看起来不像是 Vim 交换文件"
+#, c-format
+msgid "E778: This does not look like a .sug file: %s"
+msgstr "E778: 看起来不像是 .sug 文件: %s"
 
 #, c-format
 #~ msgid "E779: Old .sug file, needs to be updated: %s"
@@ -5056,8 +5068,8 @@
 msgstr "E397: 需要文件名称"
 
 #, c-format
-msgid "E789: Missing ']': %s"
-msgstr "E789: 缺少 ']': %s"
+msgid "E747: Missing ']': %s"
+msgstr "E747: 缺少 ']': %s"
 
 #, c-format
 msgid "E398: Missing '=': %s"
@@ -5109,8 +5121,8 @@
 msgid "E410: Invalid :syntax subcommand: %s"
 msgstr "E410: 不正确的 :syntax 子命令: %s"
 
-#~ msgid "E679: recursive loop loading syncolor.vim"
-#~ msgstr ""
+msgid "E679: recursive loop loading syncolor.vim"
+msgstr "E679: 加载 syncolor.vim 时出现嵌套循环"
 
 #, c-format
 msgid "E411: highlight group not found: %s"
@@ -5164,12 +5176,11 @@
 msgid "E424: Too many different highlighting attributes in use"
 msgstr "E424: 使用了太多不同的高亮度属性"
 
-#~ msgid "E669: Unprintable character in group name"
-#~ msgstr ""
+msgid "E669: Unprintable character in group name"
+msgstr "E669: 组名中存在不可显示字符"
 
-#, fuzzy
-#~ msgid "W18: Invalid character in group name"
-#~ msgstr "E182: 命令名称不正确"
+msgid "W18: Invalid character in group name"
+msgstr "W18: 组名中含有无效字符"
 
 msgid "E555: at bottom of tag stack"
 msgstr "E555: 已在 tag 堆栈底部"
@@ -5648,6 +5659,9 @@
 msgid "type  :help windows95<Enter>  for info on this"
 msgstr "输入  :help windows95<Enter>  查看相关说明    "
 
+msgid "Already only one window"
+msgstr "已经只剩一个窗口了"
+
 msgid "E441: There is no preview window"
 msgstr "E441: 没有预览窗口"
 
@@ -5660,9 +5674,6 @@
 msgid "E444: Cannot close last window"
 msgstr "E444: 不能关闭最后一个窗口"
 
-msgid "Already only one window"
-msgstr "已经只剩一个窗口了"
-
 msgid "E445: Other window contains changes"
 msgstr "E445: 其它窗口有改变的内容"
 
@@ -6050,6 +6061,9 @@
 msgid "search hit BOTTOM, continuing at TOP"
 msgstr "已查找到文件结尾,再从开头继续查找"
 
+#~ msgid "Affix flags ignored when PFXPOSTPONE used in %s line %d: %s"
+#~ msgstr "%s 第 %d 行,使用 PFXPOSTPONE 时附加标志被忽略: %s"
+
 #~ msgid "[No file]"
 #~ msgstr "[未命名]"
 
diff --git a/src/po/zh_CN.cp936.po b/src/po/zh_CN.cp936.po
index dd4df46..591839f 100644
--- a/src/po/zh_CN.cp936.po
+++ b/src/po/zh_CN.cp936.po
@@ -4,6 +4,10 @@
 # Do ":help credits" in Vim to see a list of people who contributed.
 #
 # FIRST AUTHOR  Wang Jun <junw@turbolinux.com.cn>
+# 
+# TRANSLATORS
+#   Edyfox <edyfox@gmail.com>
+#   Yuheng Xie <elephant@linux.net.cn>
 #
 # Generated from zh_CN.po, DO NOT EDIT.
 #
@@ -11,8 +15,8 @@
 msgstr ""
 "Project-Id-Version: Vim(Simplified Chinese)\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2006-03-28 21:47+0800\n"
-"PO-Revision-Date: 2006-04-18 18:00+0800\n"
+"POT-Creation-Date: 2006-04-21 15:16+0800\n"
+"PO-Revision-Date: 2006-04-21 14:00+0800\n"
 "Last-Translator: Yuheng Xie <elephant@linux.net.cn>\n"
 "Language-Team: Simplified Chinese <i18n-translation@lists.linux.net.cn>\n"
 "MIME-Version: 1.0\n"
@@ -209,6 +213,9 @@
 msgid "E103: Buffer \"%s\" is not in diff mode"
 msgstr "E103: »º³åÇø \"%s\" ²»ÔÚ diff ģʽ"
 
+msgid "E787: Buffer changed unexpectedly"
+msgstr "E787: ÒâÍâµØ¸Ä±äÁË»º³åÇø"
+
 msgid "E104: Escape not allowed in digraph"
 msgstr "E104: ¸´ºÏ×Ö·û(digraph)Öв»ÄÜʹÓà Escape"
 
@@ -222,8 +229,8 @@
 msgstr " ¹Ø¼ü×Ö²¹È« (^N^P)"
 
 #. ctrl_x_mode == 0, ^P/^N compl.
-msgid " ^X mode (^]^D^E^F^I^K^L^N^O^P^S^U^V^Y)"
-msgstr " ^X ģʽ (^]^D^E^F^I^K^L^N^O^P^S^U^V^Y)"
+msgid " ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)"
+msgstr " ^X ģʽ (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)"
 
 msgid " Whole line completion (^L^N^P)"
 msgstr " ÕûÐв¹È« (^L^N^P)"
@@ -256,8 +263,8 @@
 msgid " Omni completion (^O^N^P)"
 msgstr " È«Äܲ¹È« (^O^N^P)"
 
-msgid " Spelling suggestion (^S^N^P)"
-msgstr " ƴд½¨Òé (^S^N^P)"
+msgid " Spelling suggestion (s^N^P)"
+msgstr " ƴд½¨Òé (s^N^P)"
 
 msgid " Keyword Local completion (^N^P)"
 msgstr " ¹Ø¼ü×Ö¾Ö²¿²¹È« (^N^P)"
@@ -489,9 +496,8 @@
 msgid "E723: Missing end of Dictionary '}': %s"
 msgstr "E723: Dictionary ȱÉÙ½áÊø·û '}': %s"
 
-#, fuzzy
-#~ msgid "E724: variable nested too deep for displaying"
-#~ msgstr "E724: ±äÁ¿Ç¶Ì×¹ýÉî"
+msgid "E724: variable nested too deep for displaying"
+msgstr "E724: ±äÁ¿Ç¶Ì×¹ýÉîÎÞ·¨ÏÔʾ"
 
 msgid "E699: Too many arguments"
 msgstr "E699: ²ÎÊý¹ý¶à"
@@ -529,8 +535,8 @@
 msgid "called inputrestore() more often than inputsave()"
 msgstr "inputrestore() µÄµ÷ÓôÎÊý¶àÓÚ inputsave()"
 
-msgid "E745: Range not allowed"
-msgstr "E745: ²»ÔÊÐíµÄ·¶Î§"
+msgid "E786: Range not allowed"
+msgstr "E786: ²»ÔÊÐíµÄ·¶Î§"
 
 msgid "E701: Invalid type for len()"
 msgstr "E701: len() µÄÀàÐÍÎÞЧ"
@@ -560,9 +566,8 @@
 msgid "E258: Unable to send to client"
 msgstr "E258: ÎÞ·¨·¢Ë͵½¿Í»§¶Ë"
 
-#, fuzzy
-#~ msgid "E702: Sort compare function failed"
-#~ msgstr "E702: Sort ±È½Ïº¯Êýʧ°Ü"
+msgid "E702: Sort compare function failed"
+msgstr "E702: Sort ±È½Ïº¯Êýʧ°Ü"
 
 msgid "(Invalid)"
 msgstr "(ÎÞЧ)"
@@ -611,9 +616,8 @@
 msgid "E742: Cannot change value of %s"
 msgstr "E742: ÎÞ·¨¸Ä±ä %s µÄÖµ"
 
-#, fuzzy
-#~ msgid "E698: variable nested too deep for making a copy"
-#~ msgstr "E698: ±äÁ¿Ç¶Ì×¹ýÉî"
+msgid "E698: variable nested too deep for making a copy"
+msgstr "E698: ±äÁ¿Ç¶Ì×¹ýÉîÎÞ·¨¸´ÖÆ"
 
 #, c-format
 msgid "E124: Missing '(': %s"
@@ -682,6 +686,268 @@
 "\n"
 "\t×î½üÐÞ¸ÄÓÚ "
 
+#, c-format
+msgid "<%s>%s%s  %d,  Hex %02x,  Octal %03o"
+msgstr "<%s>%s%s  %d,  Ê®Áù½øÖÆ %02x,  °Ë½øÖÆ %03o"
+
+#, c-format
+msgid "> %d, Hex %04x, Octal %o"
+msgstr "> %d, Ê®Áù½øÖÆ %04x, °Ë½øÖÆ %o"
+
+#, c-format
+msgid "> %d, Hex %08x, Octal %o"
+msgstr "> %d, Ê®Áù½øÖÆ %08x, °Ë½øÖÆ %o"
+
+msgid "E134: Move lines into themselves"
+msgstr "E134: °ÑÐÐÒÆ¶¯µ½×ÔÒÑÖÐ"
+
+msgid "1 line moved"
+msgstr "ÒÆ¶¯ÁË 1 ÐÐ"
+
+#, c-format
+msgid "%ld lines moved"
+msgstr "ÒÆ¶¯ÁË %ld ÐÐ"
+
+#, c-format
+msgid "%ld lines filtered"
+msgstr "¹ýÂËÁË %ld ÐÐ"
+
+msgid "E135: *Filter* Autocommands must not change current buffer"
+msgstr "E135: *Filter* ×Ô¶¯ÃüÁî²»¿ÉÒԸı䵱ǰ»º³åÇø"
+
+msgid "[No write since last change]\n"
+msgstr "[ÒÑÐ޸ĵ«ÉÐδ±£´æ]\n"
+
+# bad to translate
+#, c-format
+msgid "%sviminfo: %s in line: "
+msgstr "%sviminfo: %s λÓÚÐÐ: "
+
+msgid "E136: viminfo: Too many errors, skipping rest of file"
+msgstr "E136: viminfo: ´íÎó¹ý¶à£¬ºöÂÔÎļþµÄÊ£Óಿ·Ö"
+
+#, c-format
+msgid "Reading viminfo file \"%s\"%s%s%s"
+msgstr "¶ÁÈ¡ viminfo Îļþ \"%s\"%s%s%s"
+
+msgid " info"
+msgstr " ÐÅÏ¢"
+
+msgid " marks"
+msgstr " 񈬀"
+
+msgid " FAILED"
+msgstr " ʧ°Ü"
+
+#, c-format
+msgid "E137: Viminfo file is not writable: %s"
+msgstr "E137: Viminfo Îļþ²»¿ÉдÈë: %s"
+
+#, c-format
+msgid "E138: Can't write viminfo file %s!"
+msgstr "E138: ÎÞ·¨Ð´Èë viminfo Îļþ %s£¡"
+
+#, c-format
+msgid "Writing viminfo file \"%s\""
+msgstr "дÈë viminfo Îļþ \"%s\""
+
+# do not translate to avoid writing Chinese in files
+#. Write the info:
+#, fuzzy, c-format
+#~ msgid "# This viminfo file was generated by Vim %s.\n"
+#~ msgstr "# Õâ¸ö viminfo ÎļþÊÇÓÉ Vim %s Éú³ÉµÄ¡£\n"
+
+# do not translate to avoid writing Chinese in files
+#, fuzzy, c-format
+msgid ""
+"# You may edit it if you're careful!\n"
+"\n"
+msgstr ""
+"# Èç¹ûÒª×ÔÐÐÐÞ¸ÄÇëÌØ±ðСÐÄ£¡\n"
+"\n"
+
+# do not translate to avoid writing Chinese in files
+#, fuzzy, c-format
+#~ msgid "# Value of 'encoding' when this file was written\n"
+#~ msgstr "# 'encoding' ÔÚ´ËÎļþ½¨Á¢Ê±µÄÖµ\n"
+
+msgid "Illegal starting char"
+msgstr "ÎÞЧµÄÆô¶¯×Ö·û"
+
+msgid "Save As"
+msgstr "Áí´æÎª"
+
+msgid "Write partial file?"
+msgstr "ҪдÈ벿·ÖÎļþÂð£¿"
+
+msgid "E140: Use ! to write partial buffer"
+msgstr "E140: ÇëʹÓà ! À´Ð´È벿·Ö»º³åÇø"
+
+#, c-format
+msgid "Overwrite existing file \"%s\"?"
+msgstr "¸²¸ÇÒÑ´æÔÚµÄÎļþ \"%s\" Âð£¿"
+
+#, c-format
+msgid "Swap file \"%s\" exists, overwrite anyway?"
+msgstr "½»»»Îļþ \"%s\" ÒÑ´æÔÚ£¬È·ÊµÒª¸²¸ÇÂð£¿"
+
+#, c-format
+msgid "E768: Swap file exists: %s (:silent! overrides)"
+msgstr "E768: ½»»»ÎļþÒÑ´æÔÚ: %s (:silent! Ç¿ÖÆÖ´ÐÐ)"
+
+#, c-format
+msgid "E141: No file name for buffer %ld"
+msgstr "E141: »º³åÇø %ld ûÓÐÎļþÃû"
+
+msgid "E142: File not written: Writing is disabled by 'write' option"
+msgstr "E142: ÎļþδдÈë: дÈë±» 'write' Ñ¡Ïî½ûÓÃ"
+
+#, c-format
+msgid ""
+"'readonly' option is set for \"%s\".\n"
+"Do you wish to write anyway?"
+msgstr ""
+"\"%s\" ÒÑÉ趨 'readonly' Ñ¡Ïî¡£\n"
+"ȷʵҪ¸²¸ÇÂð£¿"
+
+msgid "Edit File"
+msgstr "±à¼­Îļþ"
+
+#, c-format
+msgid "E143: Autocommands unexpectedly deleted new buffer %s"
+msgstr "E143: ×Ô¶¯ÃüÁîÒâÍâµØÉ¾³ýÁËлº³åÇø %s"
+
+msgid "E144: non-numeric argument to :z"
+msgstr "E144: :z ²»½ÓÊÜ·ÇÊý×ֵIJÎÊý"
+
+msgid "E145: Shell commands not allowed in rvim"
+msgstr "E145: rvim ÖнûֹʹÓà shell ÃüÁî"
+
+msgid "E146: Regular expressions can't be delimited by letters"
+msgstr "E146: ÕýÔò±í´ïʽ²»ÄÜÓÃ×Öĸ×÷·Ö½ç"
+
+#, c-format
+msgid "replace with %s (y/n/a/q/l/^E/^Y)?"
+msgstr "Ìæ»»Îª %s (y/n/a/q/l/^E/^Y)£¿"
+
+msgid "(Interrupted) "
+msgstr "(ÒÑÖжÏ) "
+
+msgid "1 match"
+msgstr "1 ¸öÆ¥Å䣬"
+
+msgid "1 substitution"
+msgstr "1 ´ÎÌæ»»£¬"
+
+#, c-format
+msgid "%ld matches"
+msgstr "%ld ¸öÆ¥Å䣬"
+
+#, c-format
+msgid "%ld substitutions"
+msgstr "%ld ´ÎÌæ»»£¬"
+
+msgid " on 1 line"
+msgstr "¹² 1 ÐÐ"
+
+#, c-format
+msgid " on %ld lines"
+msgstr "¹² %ld ÐÐ"
+
+msgid "E147: Cannot do :global recursive"
+msgstr "E147: :global ²»ÄܵݹéÖ´ÐÐ"
+
+msgid "E148: Regular expression missing from global"
+msgstr "E148: global ȱÉÙÕýÔò±í´ïʽ"
+
+#, c-format
+msgid "Pattern found in every line: %s"
+msgstr "ÿÐж¼Æ¥Åä±í´ïʽ: %s"
+
+# do not translate to avoid writing Chinese in files
+#, fuzzy, c-format
+msgid ""
+"\n"
+"# Last Substitute String:\n"
+"$"
+msgstr ""
+"\n"
+"# ×î½üµÄÌæ»»×Ö·û´®:\n"
+"$"
+
+msgid "E478: Don't panic!"
+msgstr "E478: ²»Òª»Å£¡"
+
+#, c-format
+msgid "E661: Sorry, no '%s' help for %s"
+msgstr "E661: ±§Ç¸£¬Ã»ÓÐ '%s' µÄ %s µÄ˵Ã÷"
+
+#, c-format
+msgid "E149: Sorry, no help for %s"
+msgstr "E149: ±§Ç¸£¬Ã»ÓÐ %s µÄ˵Ã÷"
+
+#, c-format
+msgid "Sorry, help file \"%s\" not found"
+msgstr "±§Ç¸£¬ÕÒ²»µ½°ïÖúÎļþ \"%s\""
+
+#, c-format
+msgid "E150: Not a directory: %s"
+msgstr "E150: ²»ÊÇĿ¼: %s"
+
+#, c-format
+msgid "E152: Cannot open %s for writing"
+msgstr "E152: ÎÞ·¨´ò¿ª²¢Ð´Èë %s"
+
+#, c-format
+msgid "E153: Unable to open %s for reading"
+msgstr "E153: ÎÞ·¨´ò¿ª²¢¶ÁÈ¡ %s"
+
+#, c-format
+msgid "E670: Mix of help file encodings within a language: %s"
+msgstr "E670: ÔÚÒ»ÖÖÓïÑÔÖлìºÏÁ˶àÖÖ°ïÖúÎļþ±àÂë: %s"
+
+#, c-format
+msgid "E154: Duplicate tag \"%s\" in file %s/%s"
+msgstr "E154: Tag \"%s\" ÔÚÎļþ %s/%s ÖÐÖØ¸´³öÏÖ"
+
+#, c-format
+msgid "E160: Unknown sign command: %s"
+msgstr "E160: δ֪µÄ sign ÃüÁî: %s"
+
+msgid "E156: Missing sign name"
+msgstr "E156: ȱÉÙ sign Ãû³Æ"
+
+msgid "E612: Too many signs defined"
+msgstr "E612: Signs ¶¨Òå¹ý¶à"
+
+#, c-format
+msgid "E239: Invalid sign text: %s"
+msgstr "E239: ÎÞЧµÄ sign ÎÄ×Ö: %s"
+
+#, c-format
+msgid "E155: Unknown sign: %s"
+msgstr "E155: δ֪µÄ sign: %s"
+
+msgid "E159: Missing sign number"
+msgstr "E159: ȱÉÙ sign ºÅ"
+
+#, c-format
+msgid "E158: Invalid buffer name: %s"
+msgstr "E158: ÎÞЧµÄ»º³åÇøÃû: %s"
+
+#, c-format
+msgid "E157: Invalid sign ID: %ld"
+msgstr "E157: ÎÞЧµÄ sign ID: %ld"
+
+msgid " (NOT FOUND)"
+msgstr " (ÕÒ²»µ½)"
+
+msgid " (not supported)"
+msgstr " (²»Ö§³Ö)"
+
+msgid "[Deleted]"
+msgstr "[ÒÑɾ³ý]"
+
 msgid "Entering Debug mode.  Type \"cont\" to continue."
 msgstr "½øÈëµ÷ÊÔģʽ¡£ÊäÈë \"cont\" ¼ÌÐøÔËÐС£"
 
@@ -711,9 +977,6 @@
 msgid "E750: First use :profile start <fname>"
 msgstr "E750: ÇëÏÈʹÓà :profile start <fname>"
 
-msgid "Save As"
-msgstr "Áí´æÎª"
-
 #, c-format
 msgid "Save changes to \"%s\"?"
 msgstr "½«¸Ä±ä±£´æµ½ \"%s\" Âð£¿"
@@ -812,265 +1075,6 @@
 msgid "E197: Cannot set language to \"%s\""
 msgstr "E197: ²»ÄÜÉ趨ÓïÑÔΪ \"%s\""
 
-#, c-format
-msgid "<%s>%s%s  %d,  Hex %02x,  Octal %03o"
-msgstr "<%s>%s%s  %d,  Ê®Áù½øÖÆ %02x,  °Ë½øÖÆ %03o"
-
-#, c-format
-msgid "> %d, Hex %04x, Octal %o"
-msgstr "> %d, Ê®Áù½øÖÆ %04x, °Ë½øÖÆ %o"
-
-#, c-format
-msgid "> %d, Hex %08x, Octal %o"
-msgstr "> %d, Ê®Áù½øÖÆ %08x, °Ë½øÖÆ %o"
-
-msgid "E134: Move lines into themselves"
-msgstr "E134: °ÑÐÐÒÆ¶¯µ½×ÔÒÑÖÐ"
-
-msgid "1 line moved"
-msgstr "ÒÆ¶¯ÁË 1 ÐÐ"
-
-#, c-format
-msgid "%ld lines moved"
-msgstr "ÒÆ¶¯ÁË %ld ÐÐ"
-
-#, c-format
-msgid "%ld lines filtered"
-msgstr "¹ýÂËÁË %ld ÐÐ"
-
-msgid "E135: *Filter* Autocommands must not change current buffer"
-msgstr "E135: *Filter* ×Ô¶¯ÃüÁî²»¿ÉÒԸı䵱ǰ»º³åÇø"
-
-msgid "[No write since last change]\n"
-msgstr "[ÒÑÐ޸ĵ«ÉÐδ±£´æ]\n"
-
-#, c-format
-# bad to translate
-msgid "%sviminfo: %s in line: "
-msgstr "%sviminfo: %s λÓÚÐÐ: "
-
-msgid "E136: viminfo: Too many errors, skipping rest of file"
-msgstr "E136: viminfo: ´íÎó¹ý¶à£¬ºöÂÔÎļþµÄÊ£Óಿ·Ö"
-
-#, c-format
-msgid "Reading viminfo file \"%s\"%s%s%s"
-msgstr "¶ÁÈ¡ viminfo Îļþ \"%s\"%s%s%s"
-
-msgid " info"
-msgstr " ÐÅÏ¢"
-
-msgid " marks"
-msgstr " 񈬀"
-
-msgid " FAILED"
-msgstr " ʧ°Ü"
-
-#, c-format
-msgid "E137: Viminfo file is not writable: %s"
-msgstr "E137: Viminfo Îļþ²»¿ÉдÈë: %s"
-
-#, c-format
-msgid "E138: Can't write viminfo file %s!"
-msgstr "E138: ÎÞ·¨Ð´Èë viminfo Îļþ %s£¡"
-
-#, c-format
-msgid "Writing viminfo file \"%s\""
-msgstr "дÈë viminfo Îļþ \"%s\""
-
-#. Write the info:
-#, fuzzy, c-format
-# do not translate to avoid writing Chinese in files
-msgid "# This viminfo file was generated by Vim %s.\n"
-msgstr "# Õâ¸ö viminfo ÎļþÊÇÓÉ vim %s Éú³ÉµÄ¡£\n"
-
-#, fuzzy, c-format
-# do not translate to avoid writing Chinese in files
-msgid ""
-"# You may edit it if you're careful!\n"
-"\n"
-msgstr ""
-"# Èç¹ûÒª×ÔÐÐÐÞ¸ÄÇëÌØ±ðСÐÄ£¡\n"
-"\n"
-
-#, fuzzy, c-format
-# do not translate to avoid writing Chinese in files
-msgid "# Value of 'encoding' when this file was written\n"
-msgstr "# 'encoding' ÔÚ´ËÎļþ½¨Á¢Ê±µÄÖµ\n"
-
-msgid "Illegal starting char"
-msgstr "ÎÞЧµÄÆô¶¯×Ö·û"
-
-msgid "Write partial file?"
-msgstr "ҪдÈ벿·ÖÎļþÂð£¿"
-
-msgid "E140: Use ! to write partial buffer"
-msgstr "E140: ÇëʹÓà ! À´Ð´È벿·Ö»º³åÇø"
-
-#, c-format
-msgid "Overwrite existing file \"%s\"?"
-msgstr "¸²¸ÇÒÑ´æÔÚµÄÎļþ \"%s\" Âð£¿"
-
-#, c-format
-msgid "Swap file \"%s\" exists, overwrite anyway?"
-msgstr "½»»»Îļþ \"%s\" ÒÑ´æÔÚ£¬È·ÊµÒª¸²¸ÇÂð£¿"
-
-#, c-format
-msgid "E768: Swap file exists: %s (:silent! overrides)"
-msgstr "E768: ½»»»ÎļþÒÑ´æÔÚ: %s (:silent! Ç¿ÖÆÖ´ÐÐ)"
-
-#, c-format
-msgid "E141: No file name for buffer %ld"
-msgstr "E141: »º³åÇø %ld ûÓÐÎļþÃû"
-
-msgid "E142: File not written: Writing is disabled by 'write' option"
-msgstr "E142: ÎļþδдÈë: дÈë±» 'write' Ñ¡Ïî½ûÓÃ"
-
-#, c-format
-msgid ""
-"'readonly' option is set for \"%s\".\n"
-"Do you wish to write anyway?"
-msgstr ""
-"\"%s\" ÒÑÉ趨 'readonly' Ñ¡Ïî¡£\n"
-"ȷʵҪ¸²¸ÇÂð£¿"
-
-msgid "Edit File"
-msgstr "±à¼­Îļþ"
-
-#, c-format
-msgid "E143: Autocommands unexpectedly deleted new buffer %s"
-msgstr "E143: ×Ô¶¯ÃüÁîÒâÍâµØÉ¾³ýÁËлº³åÇø %s"
-
-msgid "E144: non-numeric argument to :z"
-msgstr "E144: :z ²»½ÓÊÜ·ÇÊý×ֵIJÎÊý"
-
-msgid "E145: Shell commands not allowed in rvim"
-msgstr "E145: rvim ÖнûֹʹÓà shell ÃüÁî"
-
-msgid "E146: Regular expressions can't be delimited by letters"
-msgstr "E146: ÕýÔò±í´ïʽ²»ÄÜÓÃ×Öĸ×÷·Ö½ç"
-
-#, c-format
-msgid "replace with %s (y/n/a/q/l/^E/^Y)?"
-msgstr "Ìæ»»Îª %s (y/n/a/q/l/^E/^Y)£¿"
-
-msgid "(Interrupted) "
-msgstr "(ÒÑÖжÏ) "
-
-msgid "1 match"
-msgstr "1 ¸öÆ¥Å䣬"
-
-msgid "1 substitution"
-msgstr "1 ´ÎÌæ»»£¬"
-
-#, c-format
-msgid "%ld matches"
-msgstr "%ld ¸öÆ¥Å䣬"
-
-#, c-format
-msgid "%ld substitutions"
-msgstr "%ld ´ÎÌæ»»£¬"
-
-msgid " on 1 line"
-msgstr "¹² 1 ÐÐ"
-
-#, c-format
-msgid " on %ld lines"
-msgstr "¹² %ld ÐÐ"
-
-msgid "E147: Cannot do :global recursive"
-msgstr "E147: :global ²»ÄܵݹéÖ´ÐÐ"
-
-msgid "E148: Regular expression missing from global"
-msgstr "E148: global ȱÉÙÕýÔò±í´ïʽ"
-
-#, c-format
-msgid "Pattern found in every line: %s"
-msgstr "ÿÐж¼Æ¥Åä±í´ïʽ: %s"
-
-#, fuzzy, c-format
-# do not translate to avoid writing Chinese in files
-msgid ""
-"\n"
-"# Last Substitute String:\n"
-"$"
-msgstr ""
-"\n"
-"# ×î½üµÄÌæ»»×Ö·û´®:\n"
-"$"
-
-msgid "E478: Don't panic!"
-msgstr "E478: ²»Òª»Å£¡"
-
-#, c-format
-msgid "E661: Sorry, no '%s' help for %s"
-msgstr "E661: ±§Ç¸£¬Ã»ÓÐ '%s' µÄ %s µÄ˵Ã÷"
-
-#, c-format
-msgid "E149: Sorry, no help for %s"
-msgstr "E149: ±§Ç¸£¬Ã»ÓÐ %s µÄ˵Ã÷"
-
-#, c-format
-msgid "Sorry, help file \"%s\" not found"
-msgstr "±§Ç¸£¬ÕÒ²»µ½°ïÖúÎļþ \"%s\""
-
-#, c-format
-msgid "E150: Not a directory: %s"
-msgstr "E150: ²»ÊÇĿ¼: %s"
-
-#, c-format
-msgid "E152: Cannot open %s for writing"
-msgstr "E152: ÎÞ·¨´ò¿ª²¢Ð´Èë %s"
-
-#, c-format
-msgid "E153: Unable to open %s for reading"
-msgstr "E153: ÎÞ·¨´ò¿ª²¢¶ÁÈ¡ %s"
-
-#, c-format
-msgid "E670: Mix of help file encodings within a language: %s"
-msgstr "E670: ÔÚÒ»ÖÖÓïÑÔÖлìºÏÁ˶àÖÖ°ïÖúÎļþ±àÂë: %s"
-
-#, c-format
-msgid "E154: Duplicate tag \"%s\" in file %s/%s"
-msgstr "E154: Tag \"%s\" ÔÚÎļþ %s/%s ÖÐÖØ¸´³öÏÖ"
-
-#, c-format
-msgid "E160: Unknown sign command: %s"
-msgstr "E160: δ֪µÄ sign ÃüÁî: %s"
-
-msgid "E156: Missing sign name"
-msgstr "E156: ȱÉÙ sign Ãû³Æ"
-
-msgid "E612: Too many signs defined"
-msgstr "E612: Signs ¶¨Òå¹ý¶à"
-
-#, c-format
-msgid "E239: Invalid sign text: %s"
-msgstr "E239: ÎÞЧµÄ sign ÎÄ×Ö: %s"
-
-#, c-format
-msgid "E155: Unknown sign: %s"
-msgstr "E155: δ֪µÄ sign: %s"
-
-msgid "E159: Missing sign number"
-msgstr "E159: ȱÉÙ sign ºÅ"
-
-#, c-format
-msgid "E158: Invalid buffer name: %s"
-msgstr "E158: ÎÞЧµÄ»º³åÇøÃû: %s"
-
-#, c-format
-msgid "E157: Invalid sign ID: %ld"
-msgstr "E157: ÎÞЧµÄ sign ID: %ld"
-
-msgid " (NOT FOUND)"
-msgstr " (ÕÒ²»µ½)"
-
-msgid " (not supported)"
-msgstr " (²»Ö§³Ö)"
-
-msgid "[Deleted]"
-msgstr "[ÒÑɾ³ý]"
-
 msgid "Entering Ex mode.  Type \"visual\" to go to Normal mode."
 msgstr "½øÈë Ex ģʽ¡£ÊäÈë \"visual\" »Øµ½Õý³£Ä£Ê½¡£"
 
@@ -1179,7 +1183,7 @@
 
 #, c-format
 msgid "E185: Cannot find color scheme %s"
-msgstr "E185: ÕÒ²»µ½ÑÕÉ«Ö÷Ìâ %s"
+msgstr "E185: ÕÒ²»µ½ÅäÉ«·½°¸ %s"
 
 msgid "Greetings, Vim user!"
 msgstr "ÄúºÃ£¬Vim Óû§£¡"
@@ -1391,6 +1395,9 @@
 msgid "E193: :endfunction not inside a function"
 msgstr "E193: :endfunction ²»ÔÚº¯ÊýÄÚ"
 
+msgid "E788: Not allowed to edit another buffer now"
+msgstr "E788: Ŀǰ²»ÔÊÐí±à¼­±ðµÄ»º³åÇø"
+
 msgid "tagname"
 msgstr "tag Ãû"
 
@@ -1400,8 +1407,8 @@
 msgid "'history' option is zero"
 msgstr "Ñ¡Ïî 'history' ΪÁã"
 
-#, fuzzy, c-format
 # do not translate to avoid writing Chinese in files
+#, fuzzy, c-format
 msgid ""
 "\n"
 "# %s History (newest to oldest):\n"
@@ -1409,17 +1416,25 @@
 "\n"
 "# %s ÀúÊ·¼Ç¼ (´Óе½¾É):\n"
 
-msgid "Command Line"
-msgstr "ÃüÁîÐÐ"
+# do not translate to avoid writing Chinese in files
+#, fuzzy
+#~ msgid "Command Line"
+#~ msgstr "ÃüÁîÐÐ"
 
-msgid "Search String"
-msgstr "²éÕÒ×Ö·û´®"
+# do not translate to avoid writing Chinese in files
+#, fuzzy
+#~ msgid "Search String"
+#~ msgstr "²éÕÒ×Ö·û´®"
 
-msgid "Expression"
-msgstr "±í´ïʽ"
+# do not translate to avoid writing Chinese in files
+#, fuzzy
+#~ msgid "Expression"
+#~ msgstr "±í´ïʽ"
 
-msgid "Input Line"
-msgstr "ÊäÈëÐÐ"
+# do not translate to avoid writing Chinese in files
+#, fuzzy
+#~ msgid "Input Line"
+#~ msgstr "ÊäÈëÐÐ"
 
 msgid "E198: cmd_pchar beyond the command length"
 msgstr "E198: cmd_pchar ³¬¹ýÃüÁ¶È"
@@ -1550,9 +1565,8 @@
 msgid "E510: Can't make backup file (add ! to override)"
 msgstr "E510: ÎÞ·¨Éú³É±¸·ÝÎļþ (Çë¼Ó ! Ç¿ÖÆÖ´ÐÐ)"
 
-#, fuzzy
-#~ msgid "E460: The resource fork would be lost (add ! to override)"
-#~ msgstr "E460: Resource fork »áÏûʧ (Çë¼Ó ! Ç¿ÖÆÖ´ÐÐ)"
+msgid "E460: The resource fork would be lost (add ! to override)"
+msgstr "E460: Resource fork »á¶ªÊ§ (Çë¼Ó ! Ç¿ÖÆÖ´ÐÐ)"
 
 msgid "E214: Can't find temp file for writing"
 msgstr "E214: ÕÒ²»µ½ÓÃÓÚдÈëµÄÁÙʱÎļþ"
@@ -1836,6 +1850,29 @@
 msgid "E228: makemap: Illegal mode"
 msgstr "E228: makemap: ÎÞЧµÄģʽ"
 
+msgid "E229: Cannot start the GUI"
+msgstr "E229: ÎÞ·¨Æô¶¯Í¼ÐνçÃæ"
+
+#, c-format
+msgid "E230: Cannot read from \"%s\""
+msgstr "E230: ÎÞ·¨¶ÁÈ¡Îļþ \"%s\""
+
+msgid "E665: Cannot start GUI, no valid font found"
+msgstr "E665: ÎÞ·¨Æô¶¯Í¼ÐνçÃæ£¬ÕÒ²»µ½ÓÐЧµÄ×ÖÌå"
+
+msgid "E231: 'guifontwide' invalid"
+msgstr "E231: ÎÞЧµÄ 'guifontwide'"
+
+msgid "E599: Value of 'imactivatekey' is invalid"
+msgstr "E599: 'imactivatekey' µÄÖµÎÞЧ"
+
+#, c-format
+msgid "E254: Cannot allocate color %s"
+msgstr "E254: ÎÞ·¨·ÖÅäÑÕÉ« %s"
+
+msgid "No match at cursor, finding next"
+msgstr "ÔÚ¹â±ê´¦Ã»ÓÐÆ¥Å䣬²éÕÒÏÂÒ»¸ö"
+
 msgid "<cannot open> "
 msgstr "<ÎÞ·¨´ò¿ª>"
 
@@ -1858,38 +1895,15 @@
 msgid "Cancel"
 msgstr "È¡Ïû"
 
-msgid "Vim dialog"
-msgstr "Vim ¶Ô»°¿ò"
-
 msgid "Scrollbar Widget: Could not get geometry of thumb pixmap."
 msgstr "¹ö¶¯Ìõ²¿¼þ: ÎÞ·¨»ñÈ¡»¬¿éͼÏñµÄ¼¸ºÎ´óС"
 
+msgid "Vim dialog"
+msgstr "Vim ¶Ô»°¿ò"
+
 msgid "E232: Cannot create BalloonEval with both message and callback"
 msgstr "E232: ²»ÄÜͬʱʹÓÃÏûÏ¢ºÍ»Øµ÷º¯ÊýÀ´´´½¨ BalloonEval"
 
-msgid "E229: Cannot start the GUI"
-msgstr "E229: ÎÞ·¨Æô¶¯Í¼ÐνçÃæ"
-
-#, c-format
-msgid "E230: Cannot read from \"%s\""
-msgstr "E230: ²»ÄܶÁÈ¡Îļþ \"%s\""
-
-msgid "E665: Cannot start GUI, no valid font found"
-msgstr "E665: ÎÞ·¨Æô¶¯Í¼ÐνçÃæ£¬ÕÒ²»µ½ÓÐЧµÄ×ÖÌå"
-
-msgid "E231: 'guifontwide' invalid"
-msgstr "E231: ÎÞЧµÄ 'guifontwide'"
-
-msgid "E599: Value of 'imactivatekey' is invalid"
-msgstr "E599: 'imactivatekey' µÄÖµÎÞЧ"
-
-#, c-format
-msgid "E254: Cannot allocate color %s"
-msgstr "E254: ÎÞ·¨·ÖÅäÑÕÉ« %s"
-
-msgid "No match at cursor, finding next"
-msgstr "ÔÚ¹â±ê´¦Ã»ÓÐÆ¥Å䣬²éÕÒÏÂÒ»¸ö"
-
 msgid "Vim dialog..."
 msgstr "Vim ¶Ô»°¿ò..."
 
@@ -2027,6 +2041,12 @@
 msgid "E672: Unable to open window inside MDI application"
 msgstr "E672: ÎÞ·¨ÔÚ MDI Ó¦ÓóÌÐòÖдò¿ª´°¿Ú"
 
+msgid "Close tab"
+msgstr "¹Ø±Õ±êÇ©"
+
+msgid "Open tab..."
+msgstr "´ò¿ª±êÇ©..."
+
 msgid "Find string (use '\\\\' to find  a '\\')"
 msgstr "²éÕÒ×Ö·û´® (ʹÓà '\\\\' À´²éÕÒ '\\')"
 
@@ -2084,40 +2104,36 @@
 "×ÖÌå1µÄ¿í¶È: %ld\n"
 "\n"
 
-#, fuzzy
-#~ msgid "Invalid font specification"
-#~ msgstr "²»ÕýÈ·µÄ×ÖÌ弯(Fontset)"
+msgid "Invalid font specification"
+msgstr "Ö¸¶¨ÁËÎÞЧµÄ×ÖÌå"
 
-#~ msgid "&Dismiss"
-#~ msgstr ""
+msgid "&Dismiss"
+msgstr "È¡Ïû(&D)"
 
-#~ msgid "no specific match"
-#~ msgstr ""
+msgid "no specific match"
+msgstr "ÕÒ²»µ½Æ¥ÅäµÄÏî"
 
-#, fuzzy
-#~ msgid "Vim - Font Selector"
-#~ msgstr "×ÖÌåÑ¡Ôñ"
+msgid "Vim - Font Selector"
+msgstr "Vim - ×ÖÌåÑ¡ÔñÆ÷"
 
-#~ msgid "Name:"
-#~ msgstr ""
+msgid "Name:"
+msgstr "Ãû³Æ:"
 
 #. create toggle button
 #~ msgid "Show size in Points"
 #~ msgstr ""
 
-#, fuzzy
-#~ msgid "Encoding:"
-#~ msgstr "¼Ç¼ÖÐ"
+msgid "Encoding:"
+msgstr "±àÂë:"
 
-#, fuzzy
-#~ msgid "Font:"
-#~ msgstr "×ÖÌå1: %s\n"
+msgid "Font:"
+msgstr "×ÖÌå:"
 
-#~ msgid "Style:"
-#~ msgstr ""
+msgid "Style:"
+msgstr "·ç¸ñ:"
 
-#~ msgid "Size:"
-#~ msgstr ""
+msgid "Size:"
+msgstr "³ß´ç:"
 
 msgid "E256: Hangul automata ERROR"
 msgstr "E256: Hangul automata ´íÎó"
@@ -3021,8 +3037,8 @@
 msgid "-display <display>\tRun vim on <display> (also: --display)"
 msgstr "-display <display>\tÔÚ <display> ÉÏÔËÐÐ vim (Ò²¿ÉÓà --display)"
 
-#~ msgid "--role <role>\tSet a unique role to identify the main window"
-#~ msgstr ""
+msgid "--role <role>\tSet a unique role to identify the main window"
+msgstr "--role <role>\tÉèÖÃÓÃÓÚÇø·ÖÖ÷´°¿ÚµÄ´°¿Ú½ÇÉ«Ãû"
 
 msgid "--socketid <xid>\tOpen Vim inside another GTK widget"
 msgstr "--socketid <xid>\tÔÚÁíÒ»¸ö GTK ²¿¼þÖдò¿ª Vim"
@@ -3030,8 +3046,8 @@
 msgid "-P <parent title>\tOpen Vim inside parent application"
 msgstr "-P <parent title>\tÔÚ¸¸Ó¦ÓóÌÐòÖдò¿ª Vim"
 
-#~ msgid "No display"
-#~ msgstr ""
+msgid "No display"
+msgstr "ûÓÐ display"
 
 #. Failed to send, abort.
 msgid ": Send failed.\n"
@@ -3045,9 +3061,8 @@
 msgid "%d of %d edited"
 msgstr "%d ÖÐ %d Òѱ༭"
 
-#, fuzzy
-#~ msgid "No display: Send expression failed.\n"
-#~ msgstr "·¢Ëͱí´ïʽʧ°Ü¡£\n"
+msgid "No display: Send expression failed.\n"
+msgstr "ûÓÐ display: ·¢Ëͱí´ïʽʧ°Ü¡£\n"
 
 msgid ": Send expression failed.\n"
 msgstr ": ·¢Ëͱí´ïʽʧ°Ü¡£\n"
@@ -3241,49 +3256,49 @@
 msgid "E309: Unable to read block 1 from %s"
 msgstr "E309: ÎÞ·¨´Ó %s ¶ÁÈ¡¿é 1"
 
-#, fuzzy
 # do not translate to avoid writing Chinese in files
-msgid "???MANY LINES MISSING"
-msgstr "???ȱÉÙÁËÌ«¶àÐÐ"
+#, fuzzy
+#~ msgid "???MANY LINES MISSING"
+#~ msgstr "???ȱÉÙÁËÌ«¶àÐÐ"
 
-#, fuzzy
 # do not translate to avoid writing Chinese in files
-msgid "???LINE COUNT WRONG"
-msgstr "???ÐÐÊý´íÎó"
+#, fuzzy
+#~ msgid "???LINE COUNT WRONG"
+#~ msgstr "???ÐÐÊý´íÎó"
 
-#, fuzzy
 # do not translate to avoid writing Chinese in files
-msgid "???EMPTY BLOCK"
-msgstr "???¿ÕµÄ¿é"
+#, fuzzy
+#~ msgid "???EMPTY BLOCK"
+#~ msgstr "???¿ÕµÄ¿é"
 
-#, fuzzy
 # do not translate to avoid writing Chinese in files
-msgid "???LINES MISSING"
-msgstr "???ȱÉÙÁËһЩÐÐ"
+#, fuzzy
+#~ msgid "???LINES MISSING"
+#~ msgstr "???ȱÉÙÁËһЩÐÐ"
 
 #, c-format
 msgid "E310: Block 1 ID wrong (%s not a .swp file?)"
 msgstr "E310: ¿é 1 ID ´íÎó (%s ²»Êǽ»»»Îļþ£¿)"
 
-#, fuzzy
 # do not translate to avoid writing Chinese in files
-msgid "???BLOCK MISSING"
-msgstr "???ȱÉÙ¿é"
+#, fuzzy
+#~ msgid "???BLOCK MISSING"
+#~ msgstr "???ȱÉÙ¿é"
 
-#, fuzzy
 # do not translate to avoid writing Chinese in files
-msgid "??? from here until ???END lines may be messed up"
-msgstr "??? ´ÓÕâÀïµ½ ???END µÄÐпÉÄÜÒÑ»ìÂÒ"
+#, fuzzy
+#~ msgid "??? from here until ???END lines may be messed up"
+#~ msgstr "??? ´ÓÕâÀïµ½ ???END µÄÐпÉÄÜÒÑ»ìÂÒ"
 
-#, fuzzy
 # do not translate to avoid writing Chinese in files
-msgid "??? from here until ???END lines may have been inserted/deleted"
-msgstr "??? ´ÓÕâÀïµ½ ???END µÄÐпÉÄÜÒѱ»²åÈë/ɾ³ý¹ý"
+#, fuzzy
+#~ msgid "??? from here until ???END lines may have been inserted/deleted"
+#~ msgstr "??? ´ÓÕâÀïµ½ ???END µÄÐпÉÄÜÒѱ»²åÈë/ɾ³ý¹ý"
 
-#, fuzzy
 # do not translate to avoid writing Chinese in files
-msgid "???END"
-msgstr "???END"
+#, fuzzy
+#~ msgid "???END"
+#~ msgstr "???END"
 
 msgid "E311: Recovery Interrupted"
 msgstr "E311: »Ö¸´Òѱ»ÖжÏ"
@@ -3810,18 +3825,18 @@
 msgstr "E347: ÔÚ·¾¶ÖÐÕÒ²»µ½¸ü¶àµÄÎļþ \"%s\""
 
 #. Get here when the server can't be found.
-#~ msgid "Cannot connect to Netbeans #2"
-#~ msgstr ""
+msgid "Cannot connect to Netbeans #2"
+msgstr "ÎÞ·¨Á¬½Óµ½ Netbeans #2"
 
-#~ msgid "Cannot connect to Netbeans"
-#~ msgstr ""
+msgid "Cannot connect to Netbeans"
+msgstr "ÎÞ·¨Á¬½Óµ½ Netbeans"
 
 #, c-format
-#~ msgid "E668: Wrong access mode for NetBeans connection info file: \"%s\""
-#~ msgstr ""
+msgid "E668: Wrong access mode for NetBeans connection info file: \"%s\""
+msgstr "E668: NetBeans Á¬½ÓÐÅÏ¢ÎļþÖдíÎóµÄ·ÃÎÊģʽ: \"%s\""
 
-#~ msgid "read from Netbeans socket"
-#~ msgstr ""
+msgid "read from Netbeans socket"
+msgstr "´Ó Netbeans Ì×½Ó×Ö¶ÁÈ¡"
 
 #, c-format
 msgid "E658: NetBeans connection lost for buffer %ld"
@@ -3950,26 +3965,27 @@
 msgid "%ld Cols; "
 msgstr "%ld ÁÐ; "
 
-#, fuzzy, c-format
-#~ msgid "Selected %s%ld of %ld Lines; %ld of %ld Words; %ld of %ld Bytes"
-#~ msgstr "Ñ¡ÔñÁË %s%ld/%ld ÐÐ; %ld/%ld ×Ö(Word); %ld/%ld ×Ö·û(Bytes)"
+#, c-format
+msgid "Selected %s%ld of %ld Lines; %ld of %ld Words; %ld of %ld Bytes"
+msgstr "Ñ¡ÔñÁË %s%ld/%ld ÐÐ; %ld/%ld ¸ö´Ê; %ld/%ld ¸ö×Ö½Ú"
 
-#, fuzzy, c-format
+#, c-format
 msgid ""
 "Selected %s%ld of %ld Lines; %ld of %ld Words; %ld of %ld Chars; %ld of %ld "
 "Bytes"
-msgstr "Ñ¡ÔñÁË %s%ld/%ld ÐÐ; %ld/%ld ×Ö(Word); %ld/%ld ×Ö·û(Chars); %ld/%ld"
+msgstr "Ñ¡ÔñÁË %s%ld/%ld ÐÐ; %ld/%ld ¸ö´Ê; %ld/%ld ¸ö×Ö·û; %ld/%ld ¸ö×Ö½Ú"
 
-#, fuzzy, c-format
-#~ msgid "Col %s of %s; Line %ld of %ld; Word %ld of %ld; Byte %ld of %ld"
-#~ msgstr "ÁÐ %s/%s; ÐÐ %ld/%ld; ×Ö(Word) %ld/%ld; ×Ö·û(Byte) %ld/%ld"
+#, c-format
+msgid "Col %s of %s; Line %ld of %ld; Word %ld of %ld; Byte %ld of %ld"
+msgstr "µÚ %s/%s ÁÐ; µÚ %ld/%ld ÐÐ; µÚ %ld/%ld ¸ö´Ê; µÚ %ld/%ld ¸ö×Ö½Ú"
 
-#, fuzzy, c-format
+#, c-format
 msgid ""
 "Col %s of %s; Line %ld of %ld; Word %ld of %ld; Char %ld of %ld; Byte %ld of "
 "%ld"
 msgstr ""
-"ÁÐ %s/%s; ÐÐ %ld/%ld; ×Ö(Word) %ld/%ld; ×Ö·û(Char) %ld/%ld; ×Ö·û(Byte) %ld/%ld"
+"µÚ %s/%s ÁÐ; µÚ %ld/%ld ÐÐ; µÚ %ld/%ld ¸ö´Ê; µÚ %ld/%ld ¸ö×Ö·û; µÚ %ld/%ld ¸ö"
+"×Ö½Ú"
 
 #, c-format
 #~ msgid "(+%ld for BOM)"
@@ -4177,17 +4193,14 @@
 msgid "I/O ERROR"
 msgstr "I/O ´íÎó"
 
-#~ msgid "...(truncated)"
-#~ msgstr ""
-
-#~ msgid "Message"
-#~ msgstr ""
+msgid "Message"
+msgstr "ÏûÏ¢"
 
 msgid "'columns' is not 80, cannot execute external commands"
 msgstr "'columns' ²»ÊÇ 80, ²»ÄÜÖ´ÐÐÍⲿÃüÁî"
 
 msgid "E237: Printer selection failed"
-msgstr "E237: ²»ÄÜÑ¡Ôñ´Ë´òÓ¡»ú"
+msgstr "E237: Ñ¡Ôñ´òÓ¡»úʧ°Ü"
 
 #, c-format
 msgid "to %s on %s"
@@ -4203,7 +4216,7 @@
 
 #, c-format
 msgid "Printing '%s'"
-msgstr "ÒÑ´òÓ¡: '%s'"
+msgstr "´òÓ¡ '%s'"
 
 #, c-format
 msgid "E244: Illegal charset name \"%s\" in font name \"%s\""
@@ -4214,22 +4227,22 @@
 msgstr "E245: ²»ÕýÈ·µÄ×Ö·û '%c' ³öÏÖÔÚ×ÖÌåÃû³Æ \"%s\" ÄÚ"
 
 msgid "E366: Invalid 'osfiletype' option - using Text"
-msgstr "E366: ²»ÕýÈ·µÄ 'filetype' Ñ¡Ïî - ʹÓô¿ÎÄ×Öģʽ"
+msgstr "E366: ²»ÕýÈ·µÄ 'osfiletype' Ñ¡Ïî - ʹÓô¿ÎÄ×Öģʽ"
 
 msgid "Vim: Double signal, exiting\n"
-msgstr "Vim: Ë«ÖØÐźÅ, Í˳öÖÐ\n"
+msgstr "Vim: Ë«ÖØÐźţ¬Í˳öÖÐ\n"
 
 #, c-format
 msgid "Vim: Caught deadly signal %s\n"
-msgstr "Vim: CVim: À¹½Øµ½ÐźÅ(signal) %s\n"
+msgstr "Vim: À¹½Øµ½ÖÂÃüÐźÅ(deadly signal) %s\n"
 
 #, c-format
 msgid "Vim: Caught deadly signal\n"
-msgstr "Vim: À¹½Øµ½ÖÂÃüµÄÐźÅ(deadly signale)\n"
+msgstr "Vim: À¹½Øµ½ÖÂÃüÐźÅ(deadly signal)\n"
 
 #, c-format
 msgid "Opening the X display took %ld msec"
-msgstr "´ò¿ª X Window ÓÃʱ %ld Ãë"
+msgstr "´ò¿ª X display ÓÃʱ %ld Ãë"
 
 msgid ""
 "\n"
@@ -4239,24 +4252,24 @@
 "Vim: X ´íÎó\n"
 
 msgid "Testing the X display failed"
-msgstr "²âÊÔ X Window ʧ°Ü"
+msgstr "²âÊÔ X display ʧ°Ü"
 
 msgid "Opening the X display timed out"
-msgstr "´ò¿ª X Window ³¬Ê±"
+msgstr "´ò¿ª X display ³¬Ê±"
 
 msgid ""
 "\n"
 "Cannot execute shell "
 msgstr ""
 "\n"
-"²»ÄÜÖ´ÐÐ shell"
+"ÎÞ·¨Ö´ÐÐ shell"
 
 msgid ""
 "\n"
 "Cannot execute shell sh\n"
 msgstr ""
 "\n"
-"²»ÄÜÖ´ÐÐ shell sh\n"
+"ÎÞ·¨Ö´ÐÐ shell sh\n"
 
 msgid ""
 "\n"
@@ -4270,14 +4283,14 @@
 "Cannot create pipes\n"
 msgstr ""
 "\n"
-"²»Äܽ¨Á¢¹ÜµÀ\n"
+"ÎÞ·¨½¨Á¢¹ÜµÀ\n"
 
 msgid ""
 "\n"
 "Cannot fork\n"
 msgstr ""
 "\n"
-"²»ÄÜ fork\n"
+"ÎÞ·¨ fork\n"
 
 msgid ""
 "\n"
@@ -4286,46 +4299,45 @@
 "\n"
 "ÃüÁîÒѽáÊø\n"
 
-#, fuzzy
-#~ msgid "XSMP lost ICE connection"
-#~ msgstr "ÏÔʾÁ¬½Ó"
+msgid "XSMP lost ICE connection"
+msgstr "XSMP ¶ªÊ§Á˵½ ICE µÄÁ¬½Ó"
 
+# do not translate
 #, c-format
-#~ msgid "dlerror = \"%s\""
-#~ msgstr ""
+msgid "dlerror = \"%s\""
+msgstr "dlerror = \"%s\""
 
 msgid "Opening the X display failed"
-msgstr "´ò¿ª X Window ʧ°Ü"
+msgstr "´ò¿ª X display ʧ°Ü"
 
-#~ msgid "XSMP handling save-yourself request"
-#~ msgstr ""
+msgid "XSMP handling save-yourself request"
+msgstr "XSMP ´¦Àí save-yourself ÇëÇó"
 
-#, fuzzy
-#~ msgid "XSMP opening connection"
-#~ msgstr "ûÓÐ cscope Á¬½Ó"
+msgid "XSMP opening connection"
+msgstr "XSMP ´ò¿ªÁ¬½Ó"
 
-#~ msgid "XSMP ICE connection watch failed"
-#~ msgstr ""
+msgid "XSMP ICE connection watch failed"
+msgstr "XSMP ICE Á¬½Ó¼àÊÓʧ°Ü"
 
 #, c-format
-#~ msgid "XSMP SmcOpenConnection failed: %s"
-#~ msgstr ""
+msgid "XSMP SmcOpenConnection failed: %s"
+msgstr "XSMP SmcOpenConnection µ÷ÓÃʧ°Ü: %s"
 
 msgid "At line"
 msgstr "ÔÚÐкŠ"
 
 msgid "Could not load vim32.dll!"
-msgstr "²»ÄܼÓÔØ vim32.dll£¡"
+msgstr "ÎÞ·¨¼ÓÔØ vim32.dll£¡"
 
 msgid "VIM Error"
 msgstr "VIM ´íÎó"
 
 msgid "Could not fix up function pointers to the DLL!"
-msgstr "²»ÄÜÐÞÕýº¯ÊýÖ¸Õëµ½ DLL!"
+msgstr "ÎÞ·¨ÐÞÕýµ½ DLL µÄº¯ÊýÖ¸Õë!"
 
 #, c-format
 msgid "shell returned %d"
-msgstr "Shell ·µ»ØÖµ %d"
+msgstr "Shell ·µ»Ø %d"
 
 #, c-format
 msgid "Vim: Caught %s event\n"
@@ -4348,8 +4360,8 @@
 "External commands will not pause after completion.\n"
 "See  :help win32-vimrun  for more information."
 msgstr ""
-"ÔÚÄãµÄ $PATH ÖÐÕÒ²»µ½ VIMRUN.EXE.\n"
-"ÍⲿÃüÁîÖ´ÐÐÍê±Ïºó½«²»»áÔÝÍ£.\n"
+"ÔÚÄãµÄ $PATH ÖÐÕÒ²»µ½ VIMRUN.EXE¡£\n"
+"ÍⲿÃüÁîÖ´ÐÐÍê±Ïºó½«²»»áÔÝÍ£¡£\n"
 "½øÒ»²½ËµÃ÷Çë¼û :help win32-vimrun"
 
 msgid "Vim Warning"
@@ -4407,8 +4419,8 @@
 msgid "E382: Cannot write, 'buftype' option is set"
 msgstr "E382: ÎÞ·¨Ð´È룬ÒÑÉ趨ѡÏî 'buftype'"
 
-#~ msgid "E683: File name missing or invalid pattern"
-#~ msgstr ""
+msgid "E683: File name missing or invalid pattern"
+msgstr "E683: ȱÉÙÎļþÃû»òģʽÎÞЧ"
 
 #, c-format
 msgid "Cannot open file \"%s\""
@@ -4603,9 +4615,9 @@
 msgid "Scanning included file: %s"
 msgstr "²éÕÒ°üº¬Îļþ: %s"
 
-#, fuzzy, c-format
-#~ msgid "Searching included file %s"
-#~ msgstr "²éÕÒ°üº¬Îļþ: %s"
+#, c-format
+msgid "Searching included file %s"
+msgstr "²éÕÒ°üº¬µÄÎļþ %s"
 
 msgid "E387: Match is on current line"
 msgstr "E387: µ±Ç°ÐÐÆ¥Åä"
@@ -4622,339 +4634,339 @@
 msgid "E389: Couldn't find pattern"
 msgstr "E389: ÕÒ²»µ½ pattern"
 
-#, fuzzy
-#~ msgid "E759: Format error in spell file"
-#~ msgstr "E297: ½»»»ÎļþдÈë´íÎó"
+msgid "E759: Format error in spell file"
+msgstr "E759: ƴдÎļþ¸ñʽ´íÎó"
 
-#, fuzzy
-#~ msgid "E758: Truncated spell file"
-#~ msgstr "E237: ²»ÄÜÑ¡Ôñ´Ë´òÓ¡»ú"
-
-#, fuzzy, c-format
-#~ msgid "Trailing text in %s line %d: %s"
-#~ msgstr "\"%s%s\" Öжϵã: µÚ %ld ÐÐ"
+msgid "E758: Truncated spell file"
+msgstr "E758: ÒÑ½Ø¶ÏµÄÆ´Ð´Îļþ"
 
 #, c-format
-#~ msgid "Affix name too long in %s line %d: %s"
-#~ msgstr ""
-
-#, fuzzy
-#~ msgid "E761: Format error in affix file FOL, LOW or UPP"
-#~ msgstr "E431: Tag Îļþ \"%s\" ¸ñʽ´íÎó"
-
-#~ msgid "E762: Character in FOL, LOW or UPP is out of range"
-#~ msgstr ""
-
-#~ msgid "Compressing word tree..."
-#~ msgstr ""
-
-#~ msgid "E756: Spell checking is not enabled"
-#~ msgstr ""
+msgid "Trailing text in %s line %d: %s"
+msgstr "%s µÚ %d ÐУ¬¶àÓàµÄºóÐø×Ö·û: %s"
 
 #, c-format
-#~ msgid "Warning: Cannot find word list \"%s.%s.spl\" or \"%s.ascii.spl\""
-#~ msgstr ""
+msgid "Affix name too long in %s line %d: %s"
+msgstr "%s µÚ %d ÐУ¬¸½¼ÓÏîÃû×ÖÌ«³¤: %s"
 
-#, fuzzy, c-format
-#~ msgid "Reading spell file \"%s\""
-#~ msgstr "ʹÓý»»»Îļþ \"%s\""
+msgid "E761: Format error in affix file FOL, LOW or UPP"
+msgstr "E761: ¸½¼ÓÎļþ FOL¡¢LOW »ò UPP Öиñʽ´íÎó"
 
-#, fuzzy
-#~ msgid "E757: This does not look like a spell file"
-#~ msgstr "E307: %s ¿´ÆðÀ´²»ÏñÊÇ Vim ½»»»Îļþ"
+msgid "E762: Character in FOL, LOW or UPP is out of range"
+msgstr "E762: FOL¡¢LOW »ò UPP ÖÐ×Ö·û³¬³ö·¶Î§"
 
-#, fuzzy
-#~ msgid "E771: Old spell file, needs to be updated"
-#~ msgstr "E173: »¹ÓÐ %ld ¸öÎļþδ±à¼­"
+msgid "Compressing word tree..."
+msgstr "ѹËõµ¥´ÊÊ÷¡­¡­"
 
-#~ msgid "E772: Spell file is for newer version of Vim"
-#~ msgstr ""
-
-#, fuzzy
-#~ msgid "E770: Unsupported section in spell file"
-#~ msgstr "E297: ½»»»ÎļþдÈë´íÎó"
-
-#, fuzzy, c-format
-#~ msgid "Warning: region %s not supported"
-#~ msgstr "²»Ö§³Ö¸ÃÑ¡Ïî"
-
-#, fuzzy, c-format
-#~ msgid "Reading affix file %s ..."
-#~ msgstr "²éÕÒ tag Îļþ \"%s\""
+msgid "E756: Spell checking is not enabled"
+msgstr "E756: ƴд¼ì²éδÆôÓÃ"
 
 #, c-format
-#~ msgid "Conversion failure for word in %s line %d: %s"
-#~ msgstr ""
+msgid "Warning: Cannot find word list \"%s.%s.spl\" or \"%s.ascii.spl\""
+msgstr "¾¯¸æ: ÕÒ²»µ½µ¥´ÊÁбí \"%s.%s.spl\" or \"%s.ascii.spl\""
 
 #, c-format
-#~ msgid "Conversion in %s not supported: from %s to %s"
-#~ msgstr ""
+msgid "Reading spell file \"%s\""
+msgstr "¶ÁȡƴдÎļþ \"%s\""
 
-#, fuzzy, c-format
-#~ msgid "Conversion in %s not supported"
-#~ msgstr "²»Ö§³Ö¸ÃÑ¡Ïî"
+msgid "E757: This does not look like a spell file"
+msgstr "E757: Õâ¿´ÆðÀ´²»ÏñÊÇÆ´Ð´Îļþ"
 
-#, fuzzy, c-format
-#~ msgid "Invalid value for FLAG in %s line %d: %s"
-#~ msgstr "²»ÕýÈ·µÄ·þÎñÆ÷ id : %s"
+msgid "E771: Old spell file, needs to be updated"
+msgstr "E771: ¾É°æ±¾µÄƴдÎļþ£¬ÐèÒª¸üÐÂ"
+
+msgid "E772: Spell file is for newer version of Vim"
+msgstr "E772: Ϊ¸ü¸ß°æ±¾µÄ Vim ËùÓÃµÄÆ´Ð´Îļþ"
+
+msgid "E770: Unsupported section in spell file"
+msgstr "E770: ƴдÎļþÖдæÔÚ²»Ö§³ÖµÄ½Ú"
 
 #, c-format
-#~ msgid "FLAG after using flags in %s line %d: %s"
-#~ msgstr ""
+msgid "Warning: region %s not supported"
+msgstr "¾¯¸æ: ÇøÓò %s ²»Ö§³Ö"
 
 #, c-format
-#~ msgid "Wrong COMPOUNDWORDMAX value in %s line %d: %s"
-#~ msgstr ""
+msgid "Reading affix file %s ..."
+msgstr "¶ÁÈ¡¸½¼ÓÎļþ %s ¡­¡­"
 
 #, c-format
-#~ msgid "Wrong COMPOUNDMIN value in %s line %d: %s"
-#~ msgstr ""
+msgid "Conversion failure for word in %s line %d: %s"
+msgstr "µ¥´Ê %s ת»»Ê§°Ü£¬µÚ %d ÐÐ: %s"
 
 #, c-format
-#~ msgid "Wrong COMPOUNDSYLMAX value in %s line %d: %s"
-#~ msgstr ""
+msgid "Conversion in %s not supported: from %s to %s"
+msgstr "²»Ö§³Ö %s ÖеÄת»»: ´Ó %s µ½ %s"
 
 #, c-format
-#~ msgid "Wrong CHECKCOMPOUNDPATTERN value in %s line %d: %s"
-#~ msgstr ""
+msgid "Conversion in %s not supported"
+msgstr "²»Ö§³Ö %s ÖеÄת»»"
 
 #, c-format
-#~ msgid "Different combining flag in continued affix block in %s line %d: %s"
-#~ msgstr ""
+msgid "Invalid value for FLAG in %s line %d: %s"
+msgstr "%s µÚ %d ÐУ¬FLAG µÄÖµÎÞЧ: %s"
 
-#, fuzzy, c-format
-#~ msgid "Duplicate affix in %s line %d: %s"
-#~ msgstr "E154: ±êÇ©(tag) \"%s\" ÔÚÎļþ %s ÀïÖØ¸´³öÏÖ¶à´Î"
+#, c-format
+msgid "FLAG after using flags in %s line %d: %s"
+msgstr "%s µÚ %d ÐУ¬ÔÚʹÓñêÖ¾ºó³öÏÖ FLAG: %s"
 
 #, c-format
 #~ msgid ""
-#~ "Affix also used for BAD/RARE/KEEPCASE/NEEDAFFIX/NEEDCOMPOUND/NOSUGGEST in %s "
-#~ "line %d: %s"
+#~ "Defining COMPOUNDFORBIDFLAG after PFX item may give wrong results in %s line "
+#~ "%d"
 #~ msgstr ""
 
 #, c-format
-#~ msgid "Expected Y or N in %s line %d: %s"
-#~ msgstr ""
-
-#, fuzzy, c-format
-#~ msgid "Broken condition in %s line %d: %s"
-#~ msgstr "\"%s%s\" Öжϵã: µÚ %ld ÐÐ"
-
-#, c-format
-#~ msgid "Affix flags ignored when PFXPOSTPONE used in %s line %d: %s"
+#~ msgid ""
+#~ "Defining COMPOUNDPERMITFLAG after PFX item may give wrong results in %s line "
+#~ "%d"
 #~ msgstr ""
 
 #, c-format
-#~ msgid "Expected REP(SAL) count in %s line %d"
-#~ msgstr ""
+msgid "Wrong COMPOUNDWORDMAX value in %s line %d: %s"
+msgstr "%s µÚ %d ÐУ¬´íÎóµÄ COMPOUNDWORDMAX Öµ: %s"
 
 #, c-format
-#~ msgid "Expected MAP count in %s line %d"
-#~ msgstr ""
+msgid "Wrong COMPOUNDMIN value in %s line %d: %s"
+msgstr "%s µÚ %d ÐУ¬´íÎóµÄ COMPOUNDMIN Öµ: %s"
 
 #, c-format
-#~ msgid "Duplicate character in MAP in %s line %d"
-#~ msgstr ""
+msgid "Wrong COMPOUNDSYLMAX value in %s line %d: %s"
+msgstr "%s µÚ %d ÐУ¬´íÎóµÄ COMPOUNDSYLMAX Öµ: %s"
 
 #, c-format
-#~ msgid "Unrecognized or duplicate item in %s line %d: %s"
-#~ msgstr ""
+msgid "Wrong CHECKCOMPOUNDPATTERN value in %s line %d: %s"
+msgstr "%s µÚ %d ÐУ¬´íÎóµÄ CHECKCOMPOUNDPATTERN Öµ: %s"
 
 #, c-format
-#~ msgid "Missing FOL/LOW/UPP line in %s"
-#~ msgstr ""
-
-#~ msgid "COMPOUNDSYLMAX used without SYLLABLE"
-#~ msgstr ""
-
-#, fuzzy
-#~ msgid "Too many postponed prefixes"
-#~ msgstr "Ì«¶à±à¼­²ÎÊý"
-
-#, fuzzy
-#~ msgid "Too many compound flags"
-#~ msgstr "Ì«¶à±à¼­²ÎÊý"
-
-#~ msgid "Too many posponed prefixes and/or compound flags"
-#~ msgstr ""
+msgid "Different combining flag in continued affix block in %s line %d: %s"
+msgstr "%s µÚ %d ÐУ¬ÔÚÁ¬ÐøµÄ¸½¼Ó¿éÖгöÏÖ²»Í¬µÄ×éºÏ±êÖ¾: %s"
 
 #, c-format
-#~ msgid "Missing SOFO%s line in %s"
-#~ msgstr ""
+msgid "Duplicate affix in %s line %d: %s"
+msgstr "%s µÚ %d ÐУ¬Öظ´µÄ¸½¼ÓÏî: %s"
 
 #, c-format
-#~ msgid "Both SAL and SOFO lines in %s"
-#~ msgstr ""
+msgid ""
+"Affix also used for BAD/RARE/KEEPCASE/NEEDAFFIX/NEEDCOMPOUND/NOSUGGEST in %s "
+"line %d: %s"
+msgstr ""
+"%s µÚ %d ÐУ¬¸½¼ÓÏî±» BAD/RARE/KEEPCASE/NEEDAFFIX/NEEDCOMPOUND/NOSUGGEST ʹ"
+"ÓÃ: %s"
 
 #, c-format
-#~ msgid "Flag is not a number in %s line %d: %s"
-#~ msgstr ""
+msgid "Expected Y or N in %s line %d: %s"
+msgstr "%s µÚ %d ÐУ¬´Ë´¦ÐèÒª Y »ò N: %s"
 
 #, c-format
-#~ msgid "Illegal flag in %s line %d: %s"
-#~ msgstr ""
+msgid "Broken condition in %s line %d: %s"
+msgstr "%s µÚ %d ÐУ¬´íÎóµÄÌõ¼þ: %s"
 
 #, c-format
-#~ msgid "%s value differs from what is used in another .aff file"
-#~ msgstr ""
-
-#, fuzzy, c-format
-#~ msgid "Reading dictionary file %s ..."
-#~ msgstr "ɨÃè×Öµä: %s"
+msgid "Expected REP(SAL) count in %s line %d"
+msgstr "%s µÚ %d ÐУ¬´Ë´¦ÐèÒª REP(SAL) ¼ÆÊý"
 
 #, c-format
-#~ msgid "E760: No word count in %s"
-#~ msgstr ""
+msgid "Expected MAP count in %s line %d"
+msgstr "%s µÚ %d ÐУ¬´Ë´¦ÐèÒª MAP ¼ÆÊý"
 
 #, c-format
-#~ msgid "line %6d, word %6d - %s"
-#~ msgstr ""
-
-#, fuzzy, c-format
-#~ msgid "Duplicate word in %s line %d: %s"
-#~ msgstr "ÿһÐж¼ÕÒ²»µ½Ä£Ê½: %s"
+msgid "Duplicate character in MAP in %s line %d"
+msgstr "%s µÚ %d ÐУ¬MAP ÖдæÔÚÖØ¸´µÄ×Ö·û"
 
 #, c-format
-#~ msgid "First duplicate word in %s line %d: %s"
-#~ msgstr ""
+msgid "Unrecognized or duplicate item in %s line %d: %s"
+msgstr "%s µÚ %d ÐУ¬ÎÞ·¨Ê¶±ð»òÖØ¸´µÄÏî: %s"
 
 #, c-format
-#~ msgid "%d duplicate word(s) in %s"
-#~ msgstr ""
+msgid "Missing FOL/LOW/UPP line in %s"
+msgstr "%s ÖÐȱÉÙ FOL/LOW/UPP ÐÐ"
+
+msgid "COMPOUNDSYLMAX used without SYLLABLE"
+msgstr "ÔÚûÓÐ SYLLABLE µÄÇé¿öÏÂʹÓÃÁË COMPOUNDSYLMAX"
+
+msgid "Too many postponed prefixes"
+msgstr "Ì«¶àÑÓ³Ùǰ׺"
+
+msgid "Too many compound flags"
+msgstr "Ì«¶à×éºÏ±êÖ¾"
+
+msgid "Too many posponed prefixes and/or compound flags"
+msgstr "Ì«¶àÑÓ³Ùǰ׺ºÍ/»ò×éºÏ±êÖ¾"
 
 #, c-format
-#~ msgid "Ignored %d word(s) with non-ASCII characters in %s"
-#~ msgstr ""
+msgid "Missing SOFO%s line in %s"
+msgstr "%s ÖÐȱÉÙ SOFO%s ÐÐ"
 
-#, fuzzy, c-format
-#~ msgid "Reading word file %s ..."
-#~ msgstr "´Ó±ê×¼ÊäÈë¶Á..."
+#, c-format
+msgid "Both SAL and SOFO lines in %s"
+msgstr "%s ͬʱ³öÏÖ SQL ºÍ SOFO ÐÐ"
+
+#, c-format
+msgid "Flag is not a number in %s line %d: %s"
+msgstr "%s µÚ %d ÐУ¬±êÖ¾²»ÊÇÊý×Ö: %s"
+
+#, c-format
+msgid "Illegal flag in %s line %d: %s"
+msgstr "%s µÚ %d ÐУ¬ÎÞЧµÄ±êÖ¾: %s"
+
+#, c-format
+msgid "%s value differs from what is used in another .aff file"
+msgstr "%s µÄÖµÓëÁíÒ»¸ö .aff ÎļþÖÐʹÓõÄÖµ²»Ïàͬ"
+
+#, c-format
+msgid "Reading dictionary file %s ..."
+msgstr "¶ÁÈ¡×ÖµäÎļþ %s ¡­¡­"
+
+#, c-format
+msgid "E760: No word count in %s"
+msgstr "E760: %s ÖÐûÓе¥´Ê¼ÆÊý"
+
+#, c-format
+msgid "line %6d, word %6d - %s"
+msgstr "µÚ %6d ÐУ¬µÚ %6d ¸öµ¥´Ê - %s"
+
+#, c-format
+msgid "Duplicate word in %s line %d: %s"
+msgstr "%s µÚ %d ÐУ¬Öظ´µÄµ¥´Ê: %s"
+
+#, c-format
+msgid "First duplicate word in %s line %d: %s"
+msgstr "%s µÚ %d ÐУ¬Ê×´ÎÖØ¸´µÄµ¥´Ê: %s"
+
+#, c-format
+msgid "%d duplicate word(s) in %s"
+msgstr "´æÔÚ %d ¸öÖØ¸´µÄµ¥´Ê£¬ÔÚ %s ÖÐ"
+
+#, c-format
+msgid "Ignored %d word(s) with non-ASCII characters in %s"
+msgstr "ºöÂÔÁ˺¬ÓÐ·Ç ASCII ×Ö·ûµÄ %d ¸öµ¥´Ê£¬ÔÚ %s ÖÐ"
+
+#, c-format
+msgid "Reading word file %s ..."
+msgstr "¶ÁÈ¡µ¥´ÊÎļþ %s ¡­¡­"
 
 #, c-format
 #~ msgid "Duplicate /encoding= line ignored in %s line %d: %s"
 #~ msgstr ""
 
 #, c-format
-#~ msgid "/encoding= line after word ignored in %s line %d: %s"
-#~ msgstr ""
+msgid "/encoding= line after word ignored in %s line %d: %s"
+msgstr "%s µÚ %d ÐУ¬µ¥´ÊºóµÄ /encoding= ÐÐÒѱ»ºöÂÔ: %s"
 
 #, c-format
-#~ msgid "Duplicate /regions= line ignored in %s line %d: %s"
-#~ msgstr ""
+msgid "Duplicate /regions= line ignored in %s line %d: %s"
+msgstr "%s µÚ %d ÐУ¬Öظ´µÄ /regions= ÐÐÒѱ»ºöÂÔ: %s"
 
 #, c-format
-#~ msgid "Too many regions in %s line %d: %s"
-#~ msgstr ""
+msgid "Too many regions in %s line %d: %s"
+msgstr "%s µÚ %d ÐУ¬Ì«¶àÇøÓò: %s"
 
 #, c-format
-#~ msgid "/ line ignored in %s line %d: %s"
-#~ msgstr ""
-
-#, fuzzy, c-format
-#~ msgid "Invalid region nr in %s line %d: %s"
-#~ msgstr "²»ÕýÈ·µÄ·þÎñÆ÷ id : %s"
+msgid "/ line ignored in %s line %d: %s"
+msgstr "%s µÚ %d ÐУ¬/ ÐÐÒѱ»ºöÂÔ: %s"
 
 #, c-format
-#~ msgid "Unrecognized flags in %s line %d: %s"
-#~ msgstr ""
+msgid "Invalid region nr in %s line %d: %s"
+msgstr "%s µÚ %d ÐУ¬ÎÞЧµÄÇøÓòºÅ: %s"
 
 #, c-format
-#~ msgid "Ignored %d words with non-ASCII characters"
-#~ msgstr ""
+msgid "Unrecognized flags in %s line %d: %s"
+msgstr "%s µÚ %d ÐУ¬²»¿Éʶ±ðµÄ±êÖ¾: %s"
 
 #, c-format
-#~ msgid "Compressed %d of %d nodes; %d (%d%%) remaining"
-#~ msgstr ""
+msgid "Ignored %d words with non-ASCII characters"
+msgstr "ºöÂÔÁ˺¬ÓÐ·Ç ASCII ×Ö·ûµÄ %d ¸öµ¥´Ê"
 
-#~ msgid "Reading back spell file..."
-#~ msgstr ""
+#, c-format
+msgid "Compressed %d of %d nodes; %d (%d%%) remaining"
+msgstr "ѹËõÁË %d/%d ¸ö½Úµã£»Ê£Óà %d (%d%%)"
+
+msgid "Reading back spell file..."
+msgstr "¶ÁȡƴдÎļþ¡­¡­"
 
 #.
 #. * Go through the trie of good words, soundfold each word and add it to
 #. * the soundfold trie.
 #.
-#~ msgid "Performing soundfolding..."
-#~ msgstr ""
+msgid "Performing soundfolding..."
+msgstr "ÕýÔÚ soundfolding¡­¡­"
 
 #, c-format
-#~ msgid "Number of words after soundfolding: %ld"
-#~ msgstr ""
+msgid "Number of words after soundfolding: %ld"
+msgstr "soundfolding ºóµÄµ¥´ÊÊý: %ld"
 
 #, c-format
-#~ msgid "Total number of words: %d"
-#~ msgstr ""
-
-#, fuzzy, c-format
-#~ msgid "Writing suggestion file %s ..."
-#~ msgstr "дÈë viminfo Îļþ \"%s\" ÖÐ"
+msgid "Total number of words: %d"
+msgstr "µ¥´Ê×ÜÊý: %d"
 
 #, c-format
-#~ msgid "Estimated runtime memory use: %d bytes"
-#~ msgstr ""
-
-#~ msgid "E751: Output file name must not have region name"
-#~ msgstr ""
-
-#~ msgid "E754: Only up to 8 regions supported"
-#~ msgstr ""
-
-#, fuzzy, c-format
-#~ msgid "E755: Invalid region in %s"
-#~ msgstr "E15: ²»ÕýÈ·µÄ±í´ïʽ: %s"
-
-#~ msgid "Warning: both compounding and NOBREAK specified"
-#~ msgstr ""
-
-#, fuzzy, c-format
-#~ msgid "Writing spell file %s ..."
-#~ msgstr "дÈë viminfo Îļþ \"%s\" ÖÐ"
-
-#, fuzzy
-#~ msgid "Done!"
-#~ msgstr "ÏòÏÂ"
+msgid "Writing suggestion file %s ..."
+msgstr "дÈ뽨ÒéÎļþ %s ¡­¡­"
 
 #, c-format
-#~ msgid "E765: 'spellfile' does not have %ld entries"
-#~ msgstr ""
+msgid "Estimated runtime memory use: %d bytes"
+msgstr "¹À¼ÆÔËÐÐʱÄÚ´æÓÃÁ¿: %d ×Ö½Ú"
+
+msgid "E751: Output file name must not have region name"
+msgstr "E751: Êä³öÎļþÃû²»Äܺ¬ÓÐÇøÓòÃû"
+
+msgid "E754: Only up to 8 regions supported"
+msgstr "E754: ×î¶àÖ»Ö§³Ö 8 ¸öÇøÓò"
 
 #, c-format
-#~ msgid "Word removed from %s"
-#~ msgstr ""
+msgid "E755: Invalid region in %s"
+msgstr "E755: %s ³öÏÖÎÞЧµÄ·¶Î§"
+
+msgid "Warning: both compounding and NOBREAK specified"
+msgstr "¾¯¸æ: ͬʱָ¶¨ÁË compounding ºÍ NOBREAK"
 
 #, c-format
-#~ msgid "Word added to %s"
-#~ msgstr ""
+msgid "Writing spell file %s ..."
+msgstr "дÈëÆ´Ð´Îļþ %s ¡­¡­"
 
-#~ msgid "E763: Word characters differ between spell files"
-#~ msgstr ""
-
-#~ msgid "Sorry, no suggestions"
-#~ msgstr ""
+msgid "Done!"
+msgstr "Íê³É£¡"
 
 #, c-format
-#~ msgid "Sorry, only %ld suggestions"
-#~ msgstr ""
+msgid "E765: 'spellfile' does not have %ld entries"
+msgstr "E765: 'spellfile' ûÓÐ %ld Ïî"
+
+#, c-format
+msgid "Word removed from %s"
+msgstr "´Ó %s ÖÐɾ³ýÁ˵¥´Ê"
+
+#, c-format
+msgid "Word added to %s"
+msgstr "Ïò %s ÖÐÌí¼ÓÁ˵¥´Ê"
+
+msgid "E763: Word characters differ between spell files"
+msgstr "E763: ƴдÎļþÖ®¼äµÄ×Ö·û²»Ïàͬ"
+
+msgid "Sorry, no suggestions"
+msgstr "±§Ç¸£¬Ã»Óн¨Òé"
+
+#, c-format
+msgid "Sorry, only %ld suggestions"
+msgstr "±§Ç¸£¬Ö»ÓÐ %ld Ìõ½¨Òé"
 
 #. avoid more prompt
-#, fuzzy, c-format
-#~ msgid "Change \"%.*s\" to:"
-#~ msgstr "½«¸Ä±ä±£´æµ½ \"%.*s\"?"
+#, c-format
+msgid "Change \"%.*s\" to:"
+msgstr "½« \"%.*s\" ¸ÄΪ£º"
 
 #, c-format
-#~ msgid " < \"%.*s\""
-#~ msgstr ""
+msgid " < \"%.*s\""
+msgstr " < \"%.*s\""
 
-#, fuzzy
-#~ msgid "E752: No previous spell replacement"
-#~ msgstr "E35: ûÓÐǰһ¸ö²éÕÒÃüÁî"
+msgid "E752: No previous spell replacement"
+msgstr "E752: ֮ǰûÓÐÆ´Ð´Ìæ»»"
 
-#, fuzzy, c-format
-#~ msgid "E753: Not found: %s"
-#~ msgstr "E334: [²Ëµ¥] ÕÒ²»µ½ %s"
+#, c-format
+msgid "E753: Not found: %s"
+msgstr "E753: ÕÒ²»µ½: %s"
 
-#, fuzzy, c-format
-#~ msgid "E778: This does not look like a .sug file: %s"
-#~ msgstr "E307: %s ¿´ÆðÀ´²»ÏñÊÇ Vim ½»»»Îļþ"
+#, c-format
+msgid "E778: This does not look like a .sug file: %s"
+msgstr "E778: ¿´ÆðÀ´²»ÏñÊÇ .sug Îļþ: %s"
 
 #, c-format
 #~ msgid "E779: Old .sug file, needs to be updated: %s"
@@ -5056,8 +5068,8 @@
 msgstr "E397: ÐèÒªÎļþÃû³Æ"
 
 #, c-format
-msgid "E789: Missing ']': %s"
-msgstr "E789: ȱÉÙ ']': %s"
+msgid "E747: Missing ']': %s"
+msgstr "E747: ȱÉÙ ']': %s"
 
 #, c-format
 msgid "E398: Missing '=': %s"
@@ -5109,8 +5121,8 @@
 msgid "E410: Invalid :syntax subcommand: %s"
 msgstr "E410: ²»ÕýÈ·µÄ :syntax ×ÓÃüÁî: %s"
 
-#~ msgid "E679: recursive loop loading syncolor.vim"
-#~ msgstr ""
+msgid "E679: recursive loop loading syncolor.vim"
+msgstr "E679: ¼ÓÔØ syncolor.vim ʱ³öÏÖǶÌ×Ñ­»·"
 
 #, c-format
 msgid "E411: highlight group not found: %s"
@@ -5164,12 +5176,11 @@
 msgid "E424: Too many different highlighting attributes in use"
 msgstr "E424: ʹÓÃÁËÌ«¶à²»Í¬µÄ¸ßÁÁ¶ÈÊôÐÔ"
 
-#~ msgid "E669: Unprintable character in group name"
-#~ msgstr ""
+msgid "E669: Unprintable character in group name"
+msgstr "E669: ×éÃûÖдæÔÚ²»¿ÉÏÔʾ×Ö·û"
 
-#, fuzzy
-#~ msgid "W18: Invalid character in group name"
-#~ msgstr "E182: ÃüÁîÃû³Æ²»ÕýÈ·"
+msgid "W18: Invalid character in group name"
+msgstr "W18: ×éÃûÖк¬ÓÐÎÞЧ×Ö·û"
 
 msgid "E555: at bottom of tag stack"
 msgstr "E555: ÒÑÔÚ tag ¶ÑÕ»µ×²¿"
@@ -5648,6 +5659,9 @@
 msgid "type  :help windows95<Enter>  for info on this"
 msgstr "ÊäÈë  :help windows95<Enter>  ²é¿´Ïà¹ØËµÃ÷    "
 
+msgid "Already only one window"
+msgstr "ÒѾ­Ö»Ê£Ò»¸ö´°¿ÚÁË"
+
 msgid "E441: There is no preview window"
 msgstr "E441: ûÓÐÔ¤ÀÀ´°¿Ú"
 
@@ -5660,9 +5674,6 @@
 msgid "E444: Cannot close last window"
 msgstr "E444: ²»ÄܹرÕ×îºóÒ»¸ö´°¿Ú"
 
-msgid "Already only one window"
-msgstr "ÒѾ­Ö»Ê£Ò»¸ö´°¿ÚÁË"
-
 msgid "E445: Other window contains changes"
 msgstr "E445: ÆäËü´°¿ÚÓиıäµÄÄÚÈÝ"
 
@@ -6050,6 +6061,9 @@
 msgid "search hit BOTTOM, continuing at TOP"
 msgstr "ÒѲéÕÒµ½Îļþ½á⣬ÔÙ´Ó¿ªÍ·¼ÌÐø²éÕÒ"
 
+#~ msgid "Affix flags ignored when PFXPOSTPONE used in %s line %d: %s"
+#~ msgstr "%s µÚ %d ÐУ¬Ê¹Óà PFXPOSTPONE ʱ¸½¼Ó±êÖ¾±»ºöÂÔ: %s"
+
 #~ msgid "[No file]"
 #~ msgstr "[δÃüÃû]"
 
diff --git a/src/po/zh_CN.po b/src/po/zh_CN.po
index b77b45e..3d3ab62 100644
--- a/src/po/zh_CN.po
+++ b/src/po/zh_CN.po
@@ -4,6 +4,10 @@
 # Do ":help credits" in Vim to see a list of people who contributed.
 #
 # FIRST AUTHOR  Wang Jun <junw@turbolinux.com.cn>
+# 
+# TRANSLATORS
+#   Edyfox <edyfox@gmail.com>
+#   Yuheng Xie <elephant@linux.net.cn>
 #
 # Original translations.
 #
@@ -11,8 +15,8 @@
 msgstr ""
 "Project-Id-Version: Vim(Simplified Chinese)\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2006-03-28 21:47+0800\n"
-"PO-Revision-Date: 2006-04-18 18:00+0800\n"
+"POT-Creation-Date: 2006-04-21 15:16+0800\n"
+"PO-Revision-Date: 2006-04-21 14:00+0800\n"
 "Last-Translator: Yuheng Xie <elephant@linux.net.cn>\n"
 "Language-Team: Simplified Chinese <i18n-translation@lists.linux.net.cn>\n"
 "MIME-Version: 1.0\n"
@@ -209,6 +213,9 @@
 msgid "E103: Buffer \"%s\" is not in diff mode"
 msgstr "E103: »º³åÇø \"%s\" ²»ÔÚ diff ģʽ"
 
+msgid "E787: Buffer changed unexpectedly"
+msgstr "E787: ÒâÍâµØ¸Ä±äÁË»º³åÇø"
+
 msgid "E104: Escape not allowed in digraph"
 msgstr "E104: ¸´ºÏ×Ö·û(digraph)Öв»ÄÜʹÓà Escape"
 
@@ -222,8 +229,8 @@
 msgstr " ¹Ø¼ü×Ö²¹È« (^N^P)"
 
 #. ctrl_x_mode == 0, ^P/^N compl.
-msgid " ^X mode (^]^D^E^F^I^K^L^N^O^P^S^U^V^Y)"
-msgstr " ^X ģʽ (^]^D^E^F^I^K^L^N^O^P^S^U^V^Y)"
+msgid " ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)"
+msgstr " ^X ģʽ (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)"
 
 msgid " Whole line completion (^L^N^P)"
 msgstr " ÕûÐв¹È« (^L^N^P)"
@@ -256,8 +263,8 @@
 msgid " Omni completion (^O^N^P)"
 msgstr " È«Äܲ¹È« (^O^N^P)"
 
-msgid " Spelling suggestion (^S^N^P)"
-msgstr " ƴд½¨Òé (^S^N^P)"
+msgid " Spelling suggestion (s^N^P)"
+msgstr " ƴд½¨Òé (s^N^P)"
 
 msgid " Keyword Local completion (^N^P)"
 msgstr " ¹Ø¼ü×Ö¾Ö²¿²¹È« (^N^P)"
@@ -489,9 +496,8 @@
 msgid "E723: Missing end of Dictionary '}': %s"
 msgstr "E723: Dictionary ȱÉÙ½áÊø·û '}': %s"
 
-#, fuzzy
-#~ msgid "E724: variable nested too deep for displaying"
-#~ msgstr "E724: ±äÁ¿Ç¶Ì×¹ýÉî"
+msgid "E724: variable nested too deep for displaying"
+msgstr "E724: ±äÁ¿Ç¶Ì×¹ýÉîÎÞ·¨ÏÔʾ"
 
 msgid "E699: Too many arguments"
 msgstr "E699: ²ÎÊý¹ý¶à"
@@ -529,8 +535,8 @@
 msgid "called inputrestore() more often than inputsave()"
 msgstr "inputrestore() µÄµ÷ÓôÎÊý¶àÓÚ inputsave()"
 
-msgid "E745: Range not allowed"
-msgstr "E745: ²»ÔÊÐíµÄ·¶Î§"
+msgid "E786: Range not allowed"
+msgstr "E786: ²»ÔÊÐíµÄ·¶Î§"
 
 msgid "E701: Invalid type for len()"
 msgstr "E701: len() µÄÀàÐÍÎÞЧ"
@@ -560,9 +566,8 @@
 msgid "E258: Unable to send to client"
 msgstr "E258: ÎÞ·¨·¢Ë͵½¿Í»§¶Ë"
 
-#, fuzzy
-#~ msgid "E702: Sort compare function failed"
-#~ msgstr "E702: Sort ±È½Ïº¯Êýʧ°Ü"
+msgid "E702: Sort compare function failed"
+msgstr "E702: Sort ±È½Ïº¯Êýʧ°Ü"
 
 msgid "(Invalid)"
 msgstr "(ÎÞЧ)"
@@ -611,9 +616,8 @@
 msgid "E742: Cannot change value of %s"
 msgstr "E742: ÎÞ·¨¸Ä±ä %s µÄÖµ"
 
-#, fuzzy
-#~ msgid "E698: variable nested too deep for making a copy"
-#~ msgstr "E698: ±äÁ¿Ç¶Ì×¹ýÉî"
+msgid "E698: variable nested too deep for making a copy"
+msgstr "E698: ±äÁ¿Ç¶Ì×¹ýÉîÎÞ·¨¸´ÖÆ"
 
 #, c-format
 msgid "E124: Missing '(': %s"
@@ -682,6 +686,268 @@
 "\n"
 "\t×î½üÐÞ¸ÄÓÚ "
 
+#, c-format
+msgid "<%s>%s%s  %d,  Hex %02x,  Octal %03o"
+msgstr "<%s>%s%s  %d,  Ê®Áù½øÖÆ %02x,  °Ë½øÖÆ %03o"
+
+#, c-format
+msgid "> %d, Hex %04x, Octal %o"
+msgstr "> %d, Ê®Áù½øÖÆ %04x, °Ë½øÖÆ %o"
+
+#, c-format
+msgid "> %d, Hex %08x, Octal %o"
+msgstr "> %d, Ê®Áù½øÖÆ %08x, °Ë½øÖÆ %o"
+
+msgid "E134: Move lines into themselves"
+msgstr "E134: °ÑÐÐÒÆ¶¯µ½×ÔÒÑÖÐ"
+
+msgid "1 line moved"
+msgstr "ÒÆ¶¯ÁË 1 ÐÐ"
+
+#, c-format
+msgid "%ld lines moved"
+msgstr "ÒÆ¶¯ÁË %ld ÐÐ"
+
+#, c-format
+msgid "%ld lines filtered"
+msgstr "¹ýÂËÁË %ld ÐÐ"
+
+msgid "E135: *Filter* Autocommands must not change current buffer"
+msgstr "E135: *Filter* ×Ô¶¯ÃüÁî²»¿ÉÒԸı䵱ǰ»º³åÇø"
+
+msgid "[No write since last change]\n"
+msgstr "[ÒÑÐ޸ĵ«ÉÐδ±£´æ]\n"
+
+# bad to translate
+#, c-format
+msgid "%sviminfo: %s in line: "
+msgstr "%sviminfo: %s λÓÚÐÐ: "
+
+msgid "E136: viminfo: Too many errors, skipping rest of file"
+msgstr "E136: viminfo: ´íÎó¹ý¶à£¬ºöÂÔÎļþµÄÊ£Óಿ·Ö"
+
+#, c-format
+msgid "Reading viminfo file \"%s\"%s%s%s"
+msgstr "¶ÁÈ¡ viminfo Îļþ \"%s\"%s%s%s"
+
+msgid " info"
+msgstr " ÐÅÏ¢"
+
+msgid " marks"
+msgstr " 񈬀"
+
+msgid " FAILED"
+msgstr " ʧ°Ü"
+
+#, c-format
+msgid "E137: Viminfo file is not writable: %s"
+msgstr "E137: Viminfo Îļþ²»¿ÉдÈë: %s"
+
+#, c-format
+msgid "E138: Can't write viminfo file %s!"
+msgstr "E138: ÎÞ·¨Ð´Èë viminfo Îļþ %s£¡"
+
+#, c-format
+msgid "Writing viminfo file \"%s\""
+msgstr "дÈë viminfo Îļþ \"%s\""
+
+# do not translate to avoid writing Chinese in files
+#. Write the info:
+#, fuzzy, c-format
+#~ msgid "# This viminfo file was generated by Vim %s.\n"
+#~ msgstr "# Õâ¸ö viminfo ÎļþÊÇÓÉ Vim %s Éú³ÉµÄ¡£\n"
+
+# do not translate to avoid writing Chinese in files
+#, fuzzy, c-format
+msgid ""
+"# You may edit it if you're careful!\n"
+"\n"
+msgstr ""
+"# Èç¹ûÒª×ÔÐÐÐÞ¸ÄÇëÌØ±ðСÐÄ£¡\n"
+"\n"
+
+# do not translate to avoid writing Chinese in files
+#, fuzzy, c-format
+#~ msgid "# Value of 'encoding' when this file was written\n"
+#~ msgstr "# 'encoding' ÔÚ´ËÎļþ½¨Á¢Ê±µÄÖµ\n"
+
+msgid "Illegal starting char"
+msgstr "ÎÞЧµÄÆô¶¯×Ö·û"
+
+msgid "Save As"
+msgstr "Áí´æÎª"
+
+msgid "Write partial file?"
+msgstr "ҪдÈ벿·ÖÎļþÂð£¿"
+
+msgid "E140: Use ! to write partial buffer"
+msgstr "E140: ÇëʹÓà ! À´Ð´È벿·Ö»º³åÇø"
+
+#, c-format
+msgid "Overwrite existing file \"%s\"?"
+msgstr "¸²¸ÇÒÑ´æÔÚµÄÎļþ \"%s\" Âð£¿"
+
+#, c-format
+msgid "Swap file \"%s\" exists, overwrite anyway?"
+msgstr "½»»»Îļþ \"%s\" ÒÑ´æÔÚ£¬È·ÊµÒª¸²¸ÇÂð£¿"
+
+#, c-format
+msgid "E768: Swap file exists: %s (:silent! overrides)"
+msgstr "E768: ½»»»ÎļþÒÑ´æÔÚ: %s (:silent! Ç¿ÖÆÖ´ÐÐ)"
+
+#, c-format
+msgid "E141: No file name for buffer %ld"
+msgstr "E141: »º³åÇø %ld ûÓÐÎļþÃû"
+
+msgid "E142: File not written: Writing is disabled by 'write' option"
+msgstr "E142: ÎļþδдÈë: дÈë±» 'write' Ñ¡Ïî½ûÓÃ"
+
+#, c-format
+msgid ""
+"'readonly' option is set for \"%s\".\n"
+"Do you wish to write anyway?"
+msgstr ""
+"\"%s\" ÒÑÉ趨 'readonly' Ñ¡Ïî¡£\n"
+"ȷʵҪ¸²¸ÇÂð£¿"
+
+msgid "Edit File"
+msgstr "±à¼­Îļþ"
+
+#, c-format
+msgid "E143: Autocommands unexpectedly deleted new buffer %s"
+msgstr "E143: ×Ô¶¯ÃüÁîÒâÍâµØÉ¾³ýÁËлº³åÇø %s"
+
+msgid "E144: non-numeric argument to :z"
+msgstr "E144: :z ²»½ÓÊÜ·ÇÊý×ֵIJÎÊý"
+
+msgid "E145: Shell commands not allowed in rvim"
+msgstr "E145: rvim ÖнûֹʹÓà shell ÃüÁî"
+
+msgid "E146: Regular expressions can't be delimited by letters"
+msgstr "E146: ÕýÔò±í´ïʽ²»ÄÜÓÃ×Öĸ×÷·Ö½ç"
+
+#, c-format
+msgid "replace with %s (y/n/a/q/l/^E/^Y)?"
+msgstr "Ìæ»»Îª %s (y/n/a/q/l/^E/^Y)£¿"
+
+msgid "(Interrupted) "
+msgstr "(ÒÑÖжÏ) "
+
+msgid "1 match"
+msgstr "1 ¸öÆ¥Å䣬"
+
+msgid "1 substitution"
+msgstr "1 ´ÎÌæ»»£¬"
+
+#, c-format
+msgid "%ld matches"
+msgstr "%ld ¸öÆ¥Å䣬"
+
+#, c-format
+msgid "%ld substitutions"
+msgstr "%ld ´ÎÌæ»»£¬"
+
+msgid " on 1 line"
+msgstr "¹² 1 ÐÐ"
+
+#, c-format
+msgid " on %ld lines"
+msgstr "¹² %ld ÐÐ"
+
+msgid "E147: Cannot do :global recursive"
+msgstr "E147: :global ²»ÄܵݹéÖ´ÐÐ"
+
+msgid "E148: Regular expression missing from global"
+msgstr "E148: global ȱÉÙÕýÔò±í´ïʽ"
+
+#, c-format
+msgid "Pattern found in every line: %s"
+msgstr "ÿÐж¼Æ¥Åä±í´ïʽ: %s"
+
+# do not translate to avoid writing Chinese in files
+#, fuzzy, c-format
+msgid ""
+"\n"
+"# Last Substitute String:\n"
+"$"
+msgstr ""
+"\n"
+"# ×î½üµÄÌæ»»×Ö·û´®:\n"
+"$"
+
+msgid "E478: Don't panic!"
+msgstr "E478: ²»Òª»Å£¡"
+
+#, c-format
+msgid "E661: Sorry, no '%s' help for %s"
+msgstr "E661: ±§Ç¸£¬Ã»ÓÐ '%s' µÄ %s µÄ˵Ã÷"
+
+#, c-format
+msgid "E149: Sorry, no help for %s"
+msgstr "E149: ±§Ç¸£¬Ã»ÓÐ %s µÄ˵Ã÷"
+
+#, c-format
+msgid "Sorry, help file \"%s\" not found"
+msgstr "±§Ç¸£¬ÕÒ²»µ½°ïÖúÎļþ \"%s\""
+
+#, c-format
+msgid "E150: Not a directory: %s"
+msgstr "E150: ²»ÊÇĿ¼: %s"
+
+#, c-format
+msgid "E152: Cannot open %s for writing"
+msgstr "E152: ÎÞ·¨´ò¿ª²¢Ð´Èë %s"
+
+#, c-format
+msgid "E153: Unable to open %s for reading"
+msgstr "E153: ÎÞ·¨´ò¿ª²¢¶ÁÈ¡ %s"
+
+#, c-format
+msgid "E670: Mix of help file encodings within a language: %s"
+msgstr "E670: ÔÚÒ»ÖÖÓïÑÔÖлìºÏÁ˶àÖÖ°ïÖúÎļþ±àÂë: %s"
+
+#, c-format
+msgid "E154: Duplicate tag \"%s\" in file %s/%s"
+msgstr "E154: Tag \"%s\" ÔÚÎļþ %s/%s ÖÐÖØ¸´³öÏÖ"
+
+#, c-format
+msgid "E160: Unknown sign command: %s"
+msgstr "E160: δ֪µÄ sign ÃüÁî: %s"
+
+msgid "E156: Missing sign name"
+msgstr "E156: ȱÉÙ sign Ãû³Æ"
+
+msgid "E612: Too many signs defined"
+msgstr "E612: Signs ¶¨Òå¹ý¶à"
+
+#, c-format
+msgid "E239: Invalid sign text: %s"
+msgstr "E239: ÎÞЧµÄ sign ÎÄ×Ö: %s"
+
+#, c-format
+msgid "E155: Unknown sign: %s"
+msgstr "E155: δ֪µÄ sign: %s"
+
+msgid "E159: Missing sign number"
+msgstr "E159: ȱÉÙ sign ºÅ"
+
+#, c-format
+msgid "E158: Invalid buffer name: %s"
+msgstr "E158: ÎÞЧµÄ»º³åÇøÃû: %s"
+
+#, c-format
+msgid "E157: Invalid sign ID: %ld"
+msgstr "E157: ÎÞЧµÄ sign ID: %ld"
+
+msgid " (NOT FOUND)"
+msgstr " (ÕÒ²»µ½)"
+
+msgid " (not supported)"
+msgstr " (²»Ö§³Ö)"
+
+msgid "[Deleted]"
+msgstr "[ÒÑɾ³ý]"
+
 msgid "Entering Debug mode.  Type \"cont\" to continue."
 msgstr "½øÈëµ÷ÊÔģʽ¡£ÊäÈë \"cont\" ¼ÌÐøÔËÐС£"
 
@@ -711,9 +977,6 @@
 msgid "E750: First use :profile start <fname>"
 msgstr "E750: ÇëÏÈʹÓà :profile start <fname>"
 
-msgid "Save As"
-msgstr "Áí´æÎª"
-
 #, c-format
 msgid "Save changes to \"%s\"?"
 msgstr "½«¸Ä±ä±£´æµ½ \"%s\" Âð£¿"
@@ -812,265 +1075,6 @@
 msgid "E197: Cannot set language to \"%s\""
 msgstr "E197: ²»ÄÜÉ趨ÓïÑÔΪ \"%s\""
 
-#, c-format
-msgid "<%s>%s%s  %d,  Hex %02x,  Octal %03o"
-msgstr "<%s>%s%s  %d,  Ê®Áù½øÖÆ %02x,  °Ë½øÖÆ %03o"
-
-#, c-format
-msgid "> %d, Hex %04x, Octal %o"
-msgstr "> %d, Ê®Áù½øÖÆ %04x, °Ë½øÖÆ %o"
-
-#, c-format
-msgid "> %d, Hex %08x, Octal %o"
-msgstr "> %d, Ê®Áù½øÖÆ %08x, °Ë½øÖÆ %o"
-
-msgid "E134: Move lines into themselves"
-msgstr "E134: °ÑÐÐÒÆ¶¯µ½×ÔÒÑÖÐ"
-
-msgid "1 line moved"
-msgstr "ÒÆ¶¯ÁË 1 ÐÐ"
-
-#, c-format
-msgid "%ld lines moved"
-msgstr "ÒÆ¶¯ÁË %ld ÐÐ"
-
-#, c-format
-msgid "%ld lines filtered"
-msgstr "¹ýÂËÁË %ld ÐÐ"
-
-msgid "E135: *Filter* Autocommands must not change current buffer"
-msgstr "E135: *Filter* ×Ô¶¯ÃüÁî²»¿ÉÒԸı䵱ǰ»º³åÇø"
-
-msgid "[No write since last change]\n"
-msgstr "[ÒÑÐ޸ĵ«ÉÐδ±£´æ]\n"
-
-#, c-format
-# bad to translate
-msgid "%sviminfo: %s in line: "
-msgstr "%sviminfo: %s λÓÚÐÐ: "
-
-msgid "E136: viminfo: Too many errors, skipping rest of file"
-msgstr "E136: viminfo: ´íÎó¹ý¶à£¬ºöÂÔÎļþµÄÊ£Óಿ·Ö"
-
-#, c-format
-msgid "Reading viminfo file \"%s\"%s%s%s"
-msgstr "¶ÁÈ¡ viminfo Îļþ \"%s\"%s%s%s"
-
-msgid " info"
-msgstr " ÐÅÏ¢"
-
-msgid " marks"
-msgstr " 񈬀"
-
-msgid " FAILED"
-msgstr " ʧ°Ü"
-
-#, c-format
-msgid "E137: Viminfo file is not writable: %s"
-msgstr "E137: Viminfo Îļþ²»¿ÉдÈë: %s"
-
-#, c-format
-msgid "E138: Can't write viminfo file %s!"
-msgstr "E138: ÎÞ·¨Ð´Èë viminfo Îļþ %s£¡"
-
-#, c-format
-msgid "Writing viminfo file \"%s\""
-msgstr "дÈë viminfo Îļþ \"%s\""
-
-#. Write the info:
-#, fuzzy, c-format
-# do not translate to avoid writing Chinese in files
-msgid "# This viminfo file was generated by Vim %s.\n"
-msgstr "# Õâ¸ö viminfo ÎļþÊÇÓÉ vim %s Éú³ÉµÄ¡£\n"
-
-#, fuzzy, c-format
-# do not translate to avoid writing Chinese in files
-msgid ""
-"# You may edit it if you're careful!\n"
-"\n"
-msgstr ""
-"# Èç¹ûÒª×ÔÐÐÐÞ¸ÄÇëÌØ±ðСÐÄ£¡\n"
-"\n"
-
-#, fuzzy, c-format
-# do not translate to avoid writing Chinese in files
-msgid "# Value of 'encoding' when this file was written\n"
-msgstr "# 'encoding' ÔÚ´ËÎļþ½¨Á¢Ê±µÄÖµ\n"
-
-msgid "Illegal starting char"
-msgstr "ÎÞЧµÄÆô¶¯×Ö·û"
-
-msgid "Write partial file?"
-msgstr "ҪдÈ벿·ÖÎļþÂð£¿"
-
-msgid "E140: Use ! to write partial buffer"
-msgstr "E140: ÇëʹÓà ! À´Ð´È벿·Ö»º³åÇø"
-
-#, c-format
-msgid "Overwrite existing file \"%s\"?"
-msgstr "¸²¸ÇÒÑ´æÔÚµÄÎļþ \"%s\" Âð£¿"
-
-#, c-format
-msgid "Swap file \"%s\" exists, overwrite anyway?"
-msgstr "½»»»Îļþ \"%s\" ÒÑ´æÔÚ£¬È·ÊµÒª¸²¸ÇÂð£¿"
-
-#, c-format
-msgid "E768: Swap file exists: %s (:silent! overrides)"
-msgstr "E768: ½»»»ÎļþÒÑ´æÔÚ: %s (:silent! Ç¿ÖÆÖ´ÐÐ)"
-
-#, c-format
-msgid "E141: No file name for buffer %ld"
-msgstr "E141: »º³åÇø %ld ûÓÐÎļþÃû"
-
-msgid "E142: File not written: Writing is disabled by 'write' option"
-msgstr "E142: ÎļþδдÈë: дÈë±» 'write' Ñ¡Ïî½ûÓÃ"
-
-#, c-format
-msgid ""
-"'readonly' option is set for \"%s\".\n"
-"Do you wish to write anyway?"
-msgstr ""
-"\"%s\" ÒÑÉ趨 'readonly' Ñ¡Ïî¡£\n"
-"ȷʵҪ¸²¸ÇÂð£¿"
-
-msgid "Edit File"
-msgstr "±à¼­Îļþ"
-
-#, c-format
-msgid "E143: Autocommands unexpectedly deleted new buffer %s"
-msgstr "E143: ×Ô¶¯ÃüÁîÒâÍâµØÉ¾³ýÁËлº³åÇø %s"
-
-msgid "E144: non-numeric argument to :z"
-msgstr "E144: :z ²»½ÓÊÜ·ÇÊý×ֵIJÎÊý"
-
-msgid "E145: Shell commands not allowed in rvim"
-msgstr "E145: rvim ÖнûֹʹÓà shell ÃüÁî"
-
-msgid "E146: Regular expressions can't be delimited by letters"
-msgstr "E146: ÕýÔò±í´ïʽ²»ÄÜÓÃ×Öĸ×÷·Ö½ç"
-
-#, c-format
-msgid "replace with %s (y/n/a/q/l/^E/^Y)?"
-msgstr "Ìæ»»Îª %s (y/n/a/q/l/^E/^Y)£¿"
-
-msgid "(Interrupted) "
-msgstr "(ÒÑÖжÏ) "
-
-msgid "1 match"
-msgstr "1 ¸öÆ¥Å䣬"
-
-msgid "1 substitution"
-msgstr "1 ´ÎÌæ»»£¬"
-
-#, c-format
-msgid "%ld matches"
-msgstr "%ld ¸öÆ¥Å䣬"
-
-#, c-format
-msgid "%ld substitutions"
-msgstr "%ld ´ÎÌæ»»£¬"
-
-msgid " on 1 line"
-msgstr "¹² 1 ÐÐ"
-
-#, c-format
-msgid " on %ld lines"
-msgstr "¹² %ld ÐÐ"
-
-msgid "E147: Cannot do :global recursive"
-msgstr "E147: :global ²»ÄܵݹéÖ´ÐÐ"
-
-msgid "E148: Regular expression missing from global"
-msgstr "E148: global ȱÉÙÕýÔò±í´ïʽ"
-
-#, c-format
-msgid "Pattern found in every line: %s"
-msgstr "ÿÐж¼Æ¥Åä±í´ïʽ: %s"
-
-#, fuzzy, c-format
-# do not translate to avoid writing Chinese in files
-msgid ""
-"\n"
-"# Last Substitute String:\n"
-"$"
-msgstr ""
-"\n"
-"# ×î½üµÄÌæ»»×Ö·û´®:\n"
-"$"
-
-msgid "E478: Don't panic!"
-msgstr "E478: ²»Òª»Å£¡"
-
-#, c-format
-msgid "E661: Sorry, no '%s' help for %s"
-msgstr "E661: ±§Ç¸£¬Ã»ÓÐ '%s' µÄ %s µÄ˵Ã÷"
-
-#, c-format
-msgid "E149: Sorry, no help for %s"
-msgstr "E149: ±§Ç¸£¬Ã»ÓÐ %s µÄ˵Ã÷"
-
-#, c-format
-msgid "Sorry, help file \"%s\" not found"
-msgstr "±§Ç¸£¬ÕÒ²»µ½°ïÖúÎļþ \"%s\""
-
-#, c-format
-msgid "E150: Not a directory: %s"
-msgstr "E150: ²»ÊÇĿ¼: %s"
-
-#, c-format
-msgid "E152: Cannot open %s for writing"
-msgstr "E152: ÎÞ·¨´ò¿ª²¢Ð´Èë %s"
-
-#, c-format
-msgid "E153: Unable to open %s for reading"
-msgstr "E153: ÎÞ·¨´ò¿ª²¢¶ÁÈ¡ %s"
-
-#, c-format
-msgid "E670: Mix of help file encodings within a language: %s"
-msgstr "E670: ÔÚÒ»ÖÖÓïÑÔÖлìºÏÁ˶àÖÖ°ïÖúÎļþ±àÂë: %s"
-
-#, c-format
-msgid "E154: Duplicate tag \"%s\" in file %s/%s"
-msgstr "E154: Tag \"%s\" ÔÚÎļþ %s/%s ÖÐÖØ¸´³öÏÖ"
-
-#, c-format
-msgid "E160: Unknown sign command: %s"
-msgstr "E160: δ֪µÄ sign ÃüÁî: %s"
-
-msgid "E156: Missing sign name"
-msgstr "E156: ȱÉÙ sign Ãû³Æ"
-
-msgid "E612: Too many signs defined"
-msgstr "E612: Signs ¶¨Òå¹ý¶à"
-
-#, c-format
-msgid "E239: Invalid sign text: %s"
-msgstr "E239: ÎÞЧµÄ sign ÎÄ×Ö: %s"
-
-#, c-format
-msgid "E155: Unknown sign: %s"
-msgstr "E155: δ֪µÄ sign: %s"
-
-msgid "E159: Missing sign number"
-msgstr "E159: ȱÉÙ sign ºÅ"
-
-#, c-format
-msgid "E158: Invalid buffer name: %s"
-msgstr "E158: ÎÞЧµÄ»º³åÇøÃû: %s"
-
-#, c-format
-msgid "E157: Invalid sign ID: %ld"
-msgstr "E157: ÎÞЧµÄ sign ID: %ld"
-
-msgid " (NOT FOUND)"
-msgstr " (ÕÒ²»µ½)"
-
-msgid " (not supported)"
-msgstr " (²»Ö§³Ö)"
-
-msgid "[Deleted]"
-msgstr "[ÒÑɾ³ý]"
-
 msgid "Entering Ex mode.  Type \"visual\" to go to Normal mode."
 msgstr "½øÈë Ex ģʽ¡£ÊäÈë \"visual\" »Øµ½Õý³£Ä£Ê½¡£"
 
@@ -1179,7 +1183,7 @@
 
 #, c-format
 msgid "E185: Cannot find color scheme %s"
-msgstr "E185: ÕÒ²»µ½ÑÕÉ«Ö÷Ìâ %s"
+msgstr "E185: ÕÒ²»µ½ÅäÉ«·½°¸ %s"
 
 msgid "Greetings, Vim user!"
 msgstr "ÄúºÃ£¬Vim Óû§£¡"
@@ -1391,6 +1395,9 @@
 msgid "E193: :endfunction not inside a function"
 msgstr "E193: :endfunction ²»ÔÚº¯ÊýÄÚ"
 
+msgid "E788: Not allowed to edit another buffer now"
+msgstr "E788: Ŀǰ²»ÔÊÐí±à¼­±ðµÄ»º³åÇø"
+
 msgid "tagname"
 msgstr "tag Ãû"
 
@@ -1400,8 +1407,8 @@
 msgid "'history' option is zero"
 msgstr "Ñ¡Ïî 'history' ΪÁã"
 
-#, fuzzy, c-format
 # do not translate to avoid writing Chinese in files
+#, fuzzy, c-format
 msgid ""
 "\n"
 "# %s History (newest to oldest):\n"
@@ -1409,17 +1416,25 @@
 "\n"
 "# %s ÀúÊ·¼Ç¼ (´Óе½¾É):\n"
 
-msgid "Command Line"
-msgstr "ÃüÁîÐÐ"
+# do not translate to avoid writing Chinese in files
+#, fuzzy
+#~ msgid "Command Line"
+#~ msgstr "ÃüÁîÐÐ"
 
-msgid "Search String"
-msgstr "²éÕÒ×Ö·û´®"
+# do not translate to avoid writing Chinese in files
+#, fuzzy
+#~ msgid "Search String"
+#~ msgstr "²éÕÒ×Ö·û´®"
 
-msgid "Expression"
-msgstr "±í´ïʽ"
+# do not translate to avoid writing Chinese in files
+#, fuzzy
+#~ msgid "Expression"
+#~ msgstr "±í´ïʽ"
 
-msgid "Input Line"
-msgstr "ÊäÈëÐÐ"
+# do not translate to avoid writing Chinese in files
+#, fuzzy
+#~ msgid "Input Line"
+#~ msgstr "ÊäÈëÐÐ"
 
 msgid "E198: cmd_pchar beyond the command length"
 msgstr "E198: cmd_pchar ³¬¹ýÃüÁ¶È"
@@ -1550,9 +1565,8 @@
 msgid "E510: Can't make backup file (add ! to override)"
 msgstr "E510: ÎÞ·¨Éú³É±¸·ÝÎļþ (Çë¼Ó ! Ç¿ÖÆÖ´ÐÐ)"
 
-#, fuzzy
-#~ msgid "E460: The resource fork would be lost (add ! to override)"
-#~ msgstr "E460: Resource fork »áÏûʧ (Çë¼Ó ! Ç¿ÖÆÖ´ÐÐ)"
+msgid "E460: The resource fork would be lost (add ! to override)"
+msgstr "E460: Resource fork »á¶ªÊ§ (Çë¼Ó ! Ç¿ÖÆÖ´ÐÐ)"
 
 msgid "E214: Can't find temp file for writing"
 msgstr "E214: ÕÒ²»µ½ÓÃÓÚдÈëµÄÁÙʱÎļþ"
@@ -1836,6 +1850,29 @@
 msgid "E228: makemap: Illegal mode"
 msgstr "E228: makemap: ÎÞЧµÄģʽ"
 
+msgid "E229: Cannot start the GUI"
+msgstr "E229: ÎÞ·¨Æô¶¯Í¼ÐνçÃæ"
+
+#, c-format
+msgid "E230: Cannot read from \"%s\""
+msgstr "E230: ÎÞ·¨¶ÁÈ¡Îļþ \"%s\""
+
+msgid "E665: Cannot start GUI, no valid font found"
+msgstr "E665: ÎÞ·¨Æô¶¯Í¼ÐνçÃæ£¬ÕÒ²»µ½ÓÐЧµÄ×ÖÌå"
+
+msgid "E231: 'guifontwide' invalid"
+msgstr "E231: ÎÞЧµÄ 'guifontwide'"
+
+msgid "E599: Value of 'imactivatekey' is invalid"
+msgstr "E599: 'imactivatekey' µÄÖµÎÞЧ"
+
+#, c-format
+msgid "E254: Cannot allocate color %s"
+msgstr "E254: ÎÞ·¨·ÖÅäÑÕÉ« %s"
+
+msgid "No match at cursor, finding next"
+msgstr "ÔÚ¹â±ê´¦Ã»ÓÐÆ¥Å䣬²éÕÒÏÂÒ»¸ö"
+
 msgid "<cannot open> "
 msgstr "<ÎÞ·¨´ò¿ª>"
 
@@ -1858,38 +1895,15 @@
 msgid "Cancel"
 msgstr "È¡Ïû"
 
-msgid "Vim dialog"
-msgstr "Vim ¶Ô»°¿ò"
-
 msgid "Scrollbar Widget: Could not get geometry of thumb pixmap."
 msgstr "¹ö¶¯Ìõ²¿¼þ: ÎÞ·¨»ñÈ¡»¬¿éͼÏñµÄ¼¸ºÎ´óС"
 
+msgid "Vim dialog"
+msgstr "Vim ¶Ô»°¿ò"
+
 msgid "E232: Cannot create BalloonEval with both message and callback"
 msgstr "E232: ²»ÄÜͬʱʹÓÃÏûÏ¢ºÍ»Øµ÷º¯ÊýÀ´´´½¨ BalloonEval"
 
-msgid "E229: Cannot start the GUI"
-msgstr "E229: ÎÞ·¨Æô¶¯Í¼ÐνçÃæ"
-
-#, c-format
-msgid "E230: Cannot read from \"%s\""
-msgstr "E230: ²»ÄܶÁÈ¡Îļþ \"%s\""
-
-msgid "E665: Cannot start GUI, no valid font found"
-msgstr "E665: ÎÞ·¨Æô¶¯Í¼ÐνçÃæ£¬ÕÒ²»µ½ÓÐЧµÄ×ÖÌå"
-
-msgid "E231: 'guifontwide' invalid"
-msgstr "E231: ÎÞЧµÄ 'guifontwide'"
-
-msgid "E599: Value of 'imactivatekey' is invalid"
-msgstr "E599: 'imactivatekey' µÄÖµÎÞЧ"
-
-#, c-format
-msgid "E254: Cannot allocate color %s"
-msgstr "E254: ÎÞ·¨·ÖÅäÑÕÉ« %s"
-
-msgid "No match at cursor, finding next"
-msgstr "ÔÚ¹â±ê´¦Ã»ÓÐÆ¥Å䣬²éÕÒÏÂÒ»¸ö"
-
 msgid "Vim dialog..."
 msgstr "Vim ¶Ô»°¿ò..."
 
@@ -2027,6 +2041,12 @@
 msgid "E672: Unable to open window inside MDI application"
 msgstr "E672: ÎÞ·¨ÔÚ MDI Ó¦ÓóÌÐòÖдò¿ª´°¿Ú"
 
+msgid "Close tab"
+msgstr "¹Ø±Õ±êÇ©"
+
+msgid "Open tab..."
+msgstr "´ò¿ª±êÇ©..."
+
 msgid "Find string (use '\\\\' to find  a '\\')"
 msgstr "²éÕÒ×Ö·û´® (ʹÓà '\\\\' À´²éÕÒ '\\')"
 
@@ -2084,40 +2104,36 @@
 "×ÖÌå1µÄ¿í¶È: %ld\n"
 "\n"
 
-#, fuzzy
-#~ msgid "Invalid font specification"
-#~ msgstr "²»ÕýÈ·µÄ×ÖÌ弯(Fontset)"
+msgid "Invalid font specification"
+msgstr "Ö¸¶¨ÁËÎÞЧµÄ×ÖÌå"
 
-#~ msgid "&Dismiss"
-#~ msgstr ""
+msgid "&Dismiss"
+msgstr "È¡Ïû(&D)"
 
-#~ msgid "no specific match"
-#~ msgstr ""
+msgid "no specific match"
+msgstr "ÕÒ²»µ½Æ¥ÅäµÄÏî"
 
-#, fuzzy
-#~ msgid "Vim - Font Selector"
-#~ msgstr "×ÖÌåÑ¡Ôñ"
+msgid "Vim - Font Selector"
+msgstr "Vim - ×ÖÌåÑ¡ÔñÆ÷"
 
-#~ msgid "Name:"
-#~ msgstr ""
+msgid "Name:"
+msgstr "Ãû³Æ:"
 
 #. create toggle button
 #~ msgid "Show size in Points"
 #~ msgstr ""
 
-#, fuzzy
-#~ msgid "Encoding:"
-#~ msgstr "¼Ç¼ÖÐ"
+msgid "Encoding:"
+msgstr "±àÂë:"
 
-#, fuzzy
-#~ msgid "Font:"
-#~ msgstr "×ÖÌå1: %s\n"
+msgid "Font:"
+msgstr "×ÖÌå:"
 
-#~ msgid "Style:"
-#~ msgstr ""
+msgid "Style:"
+msgstr "·ç¸ñ:"
 
-#~ msgid "Size:"
-#~ msgstr ""
+msgid "Size:"
+msgstr "³ß´ç:"
 
 msgid "E256: Hangul automata ERROR"
 msgstr "E256: Hangul automata ´íÎó"
@@ -3021,8 +3037,8 @@
 msgid "-display <display>\tRun vim on <display> (also: --display)"
 msgstr "-display <display>\tÔÚ <display> ÉÏÔËÐÐ vim (Ò²¿ÉÓà --display)"
 
-#~ msgid "--role <role>\tSet a unique role to identify the main window"
-#~ msgstr ""
+msgid "--role <role>\tSet a unique role to identify the main window"
+msgstr "--role <role>\tÉèÖÃÓÃÓÚÇø·ÖÖ÷´°¿ÚµÄ´°¿Ú½ÇÉ«Ãû"
 
 msgid "--socketid <xid>\tOpen Vim inside another GTK widget"
 msgstr "--socketid <xid>\tÔÚÁíÒ»¸ö GTK ²¿¼þÖдò¿ª Vim"
@@ -3030,8 +3046,8 @@
 msgid "-P <parent title>\tOpen Vim inside parent application"
 msgstr "-P <parent title>\tÔÚ¸¸Ó¦ÓóÌÐòÖдò¿ª Vim"
 
-#~ msgid "No display"
-#~ msgstr ""
+msgid "No display"
+msgstr "ûÓÐ display"
 
 #. Failed to send, abort.
 msgid ": Send failed.\n"
@@ -3045,9 +3061,8 @@
 msgid "%d of %d edited"
 msgstr "%d ÖÐ %d Òѱ༭"
 
-#, fuzzy
-#~ msgid "No display: Send expression failed.\n"
-#~ msgstr "·¢Ëͱí´ïʽʧ°Ü¡£\n"
+msgid "No display: Send expression failed.\n"
+msgstr "ûÓÐ display: ·¢Ëͱí´ïʽʧ°Ü¡£\n"
 
 msgid ": Send expression failed.\n"
 msgstr ": ·¢Ëͱí´ïʽʧ°Ü¡£\n"
@@ -3241,49 +3256,49 @@
 msgid "E309: Unable to read block 1 from %s"
 msgstr "E309: ÎÞ·¨´Ó %s ¶ÁÈ¡¿é 1"
 
-#, fuzzy
 # do not translate to avoid writing Chinese in files
-msgid "???MANY LINES MISSING"
-msgstr "???ȱÉÙÁËÌ«¶àÐÐ"
+#, fuzzy
+#~ msgid "???MANY LINES MISSING"
+#~ msgstr "???ȱÉÙÁËÌ«¶àÐÐ"
 
-#, fuzzy
 # do not translate to avoid writing Chinese in files
-msgid "???LINE COUNT WRONG"
-msgstr "???ÐÐÊý´íÎó"
+#, fuzzy
+#~ msgid "???LINE COUNT WRONG"
+#~ msgstr "???ÐÐÊý´íÎó"
 
-#, fuzzy
 # do not translate to avoid writing Chinese in files
-msgid "???EMPTY BLOCK"
-msgstr "???¿ÕµÄ¿é"
+#, fuzzy
+#~ msgid "???EMPTY BLOCK"
+#~ msgstr "???¿ÕµÄ¿é"
 
-#, fuzzy
 # do not translate to avoid writing Chinese in files
-msgid "???LINES MISSING"
-msgstr "???ȱÉÙÁËһЩÐÐ"
+#, fuzzy
+#~ msgid "???LINES MISSING"
+#~ msgstr "???ȱÉÙÁËһЩÐÐ"
 
 #, c-format
 msgid "E310: Block 1 ID wrong (%s not a .swp file?)"
 msgstr "E310: ¿é 1 ID ´íÎó (%s ²»Êǽ»»»Îļþ£¿)"
 
-#, fuzzy
 # do not translate to avoid writing Chinese in files
-msgid "???BLOCK MISSING"
-msgstr "???ȱÉÙ¿é"
+#, fuzzy
+#~ msgid "???BLOCK MISSING"
+#~ msgstr "???ȱÉÙ¿é"
 
-#, fuzzy
 # do not translate to avoid writing Chinese in files
-msgid "??? from here until ???END lines may be messed up"
-msgstr "??? ´ÓÕâÀïµ½ ???END µÄÐпÉÄÜÒÑ»ìÂÒ"
+#, fuzzy
+#~ msgid "??? from here until ???END lines may be messed up"
+#~ msgstr "??? ´ÓÕâÀïµ½ ???END µÄÐпÉÄÜÒÑ»ìÂÒ"
 
-#, fuzzy
 # do not translate to avoid writing Chinese in files
-msgid "??? from here until ???END lines may have been inserted/deleted"
-msgstr "??? ´ÓÕâÀïµ½ ???END µÄÐпÉÄÜÒѱ»²åÈë/ɾ³ý¹ý"
+#, fuzzy
+#~ msgid "??? from here until ???END lines may have been inserted/deleted"
+#~ msgstr "??? ´ÓÕâÀïµ½ ???END µÄÐпÉÄÜÒѱ»²åÈë/ɾ³ý¹ý"
 
-#, fuzzy
 # do not translate to avoid writing Chinese in files
-msgid "???END"
-msgstr "???END"
+#, fuzzy
+#~ msgid "???END"
+#~ msgstr "???END"
 
 msgid "E311: Recovery Interrupted"
 msgstr "E311: »Ö¸´Òѱ»ÖжÏ"
@@ -3810,18 +3825,18 @@
 msgstr "E347: ÔÚ·¾¶ÖÐÕÒ²»µ½¸ü¶àµÄÎļþ \"%s\""
 
 #. Get here when the server can't be found.
-#~ msgid "Cannot connect to Netbeans #2"
-#~ msgstr ""
+msgid "Cannot connect to Netbeans #2"
+msgstr "ÎÞ·¨Á¬½Óµ½ Netbeans #2"
 
-#~ msgid "Cannot connect to Netbeans"
-#~ msgstr ""
+msgid "Cannot connect to Netbeans"
+msgstr "ÎÞ·¨Á¬½Óµ½ Netbeans"
 
 #, c-format
-#~ msgid "E668: Wrong access mode for NetBeans connection info file: \"%s\""
-#~ msgstr ""
+msgid "E668: Wrong access mode for NetBeans connection info file: \"%s\""
+msgstr "E668: NetBeans Á¬½ÓÐÅÏ¢ÎļþÖдíÎóµÄ·ÃÎÊģʽ: \"%s\""
 
-#~ msgid "read from Netbeans socket"
-#~ msgstr ""
+msgid "read from Netbeans socket"
+msgstr "´Ó Netbeans Ì×½Ó×Ö¶ÁÈ¡"
 
 #, c-format
 msgid "E658: NetBeans connection lost for buffer %ld"
@@ -3950,26 +3965,27 @@
 msgid "%ld Cols; "
 msgstr "%ld ÁÐ; "
 
-#, fuzzy, c-format
-#~ msgid "Selected %s%ld of %ld Lines; %ld of %ld Words; %ld of %ld Bytes"
-#~ msgstr "Ñ¡ÔñÁË %s%ld/%ld ÐÐ; %ld/%ld ×Ö(Word); %ld/%ld ×Ö·û(Bytes)"
+#, c-format
+msgid "Selected %s%ld of %ld Lines; %ld of %ld Words; %ld of %ld Bytes"
+msgstr "Ñ¡ÔñÁË %s%ld/%ld ÐÐ; %ld/%ld ¸ö´Ê; %ld/%ld ¸ö×Ö½Ú"
 
-#, fuzzy, c-format
+#, c-format
 msgid ""
 "Selected %s%ld of %ld Lines; %ld of %ld Words; %ld of %ld Chars; %ld of %ld "
 "Bytes"
-msgstr "Ñ¡ÔñÁË %s%ld/%ld ÐÐ; %ld/%ld ×Ö(Word); %ld/%ld ×Ö·û(Chars); %ld/%ld"
+msgstr "Ñ¡ÔñÁË %s%ld/%ld ÐÐ; %ld/%ld ¸ö´Ê; %ld/%ld ¸ö×Ö·û; %ld/%ld ¸ö×Ö½Ú"
 
-#, fuzzy, c-format
-#~ msgid "Col %s of %s; Line %ld of %ld; Word %ld of %ld; Byte %ld of %ld"
-#~ msgstr "ÁÐ %s/%s; ÐÐ %ld/%ld; ×Ö(Word) %ld/%ld; ×Ö·û(Byte) %ld/%ld"
+#, c-format
+msgid "Col %s of %s; Line %ld of %ld; Word %ld of %ld; Byte %ld of %ld"
+msgstr "µÚ %s/%s ÁÐ; µÚ %ld/%ld ÐÐ; µÚ %ld/%ld ¸ö´Ê; µÚ %ld/%ld ¸ö×Ö½Ú"
 
-#, fuzzy, c-format
+#, c-format
 msgid ""
 "Col %s of %s; Line %ld of %ld; Word %ld of %ld; Char %ld of %ld; Byte %ld of "
 "%ld"
 msgstr ""
-"ÁÐ %s/%s; ÐÐ %ld/%ld; ×Ö(Word) %ld/%ld; ×Ö·û(Char) %ld/%ld; ×Ö·û(Byte) %ld/%ld"
+"µÚ %s/%s ÁÐ; µÚ %ld/%ld ÐÐ; µÚ %ld/%ld ¸ö´Ê; µÚ %ld/%ld ¸ö×Ö·û; µÚ %ld/%ld ¸ö"
+"×Ö½Ú"
 
 #, c-format
 #~ msgid "(+%ld for BOM)"
@@ -4177,17 +4193,14 @@
 msgid "I/O ERROR"
 msgstr "I/O ´íÎó"
 
-#~ msgid "...(truncated)"
-#~ msgstr ""
-
-#~ msgid "Message"
-#~ msgstr ""
+msgid "Message"
+msgstr "ÏûÏ¢"
 
 msgid "'columns' is not 80, cannot execute external commands"
 msgstr "'columns' ²»ÊÇ 80, ²»ÄÜÖ´ÐÐÍⲿÃüÁî"
 
 msgid "E237: Printer selection failed"
-msgstr "E237: ²»ÄÜÑ¡Ôñ´Ë´òÓ¡»ú"
+msgstr "E237: Ñ¡Ôñ´òÓ¡»úʧ°Ü"
 
 #, c-format
 msgid "to %s on %s"
@@ -4203,7 +4216,7 @@
 
 #, c-format
 msgid "Printing '%s'"
-msgstr "ÒÑ´òÓ¡: '%s'"
+msgstr "´òÓ¡ '%s'"
 
 #, c-format
 msgid "E244: Illegal charset name \"%s\" in font name \"%s\""
@@ -4214,22 +4227,22 @@
 msgstr "E245: ²»ÕýÈ·µÄ×Ö·û '%c' ³öÏÖÔÚ×ÖÌåÃû³Æ \"%s\" ÄÚ"
 
 msgid "E366: Invalid 'osfiletype' option - using Text"
-msgstr "E366: ²»ÕýÈ·µÄ 'filetype' Ñ¡Ïî - ʹÓô¿ÎÄ×Öģʽ"
+msgstr "E366: ²»ÕýÈ·µÄ 'osfiletype' Ñ¡Ïî - ʹÓô¿ÎÄ×Öģʽ"
 
 msgid "Vim: Double signal, exiting\n"
-msgstr "Vim: Ë«ÖØÐźÅ, Í˳öÖÐ\n"
+msgstr "Vim: Ë«ÖØÐźţ¬Í˳öÖÐ\n"
 
 #, c-format
 msgid "Vim: Caught deadly signal %s\n"
-msgstr "Vim: CVim: À¹½Øµ½ÐźÅ(signal) %s\n"
+msgstr "Vim: À¹½Øµ½ÖÂÃüÐźÅ(deadly signal) %s\n"
 
 #, c-format
 msgid "Vim: Caught deadly signal\n"
-msgstr "Vim: À¹½Øµ½ÖÂÃüµÄÐźÅ(deadly signale)\n"
+msgstr "Vim: À¹½Øµ½ÖÂÃüÐźÅ(deadly signal)\n"
 
 #, c-format
 msgid "Opening the X display took %ld msec"
-msgstr "´ò¿ª X Window ÓÃʱ %ld Ãë"
+msgstr "´ò¿ª X display ÓÃʱ %ld Ãë"
 
 msgid ""
 "\n"
@@ -4239,24 +4252,24 @@
 "Vim: X ´íÎó\n"
 
 msgid "Testing the X display failed"
-msgstr "²âÊÔ X Window ʧ°Ü"
+msgstr "²âÊÔ X display ʧ°Ü"
 
 msgid "Opening the X display timed out"
-msgstr "´ò¿ª X Window ³¬Ê±"
+msgstr "´ò¿ª X display ³¬Ê±"
 
 msgid ""
 "\n"
 "Cannot execute shell "
 msgstr ""
 "\n"
-"²»ÄÜÖ´ÐÐ shell"
+"ÎÞ·¨Ö´ÐÐ shell"
 
 msgid ""
 "\n"
 "Cannot execute shell sh\n"
 msgstr ""
 "\n"
-"²»ÄÜÖ´ÐÐ shell sh\n"
+"ÎÞ·¨Ö´ÐÐ shell sh\n"
 
 msgid ""
 "\n"
@@ -4270,14 +4283,14 @@
 "Cannot create pipes\n"
 msgstr ""
 "\n"
-"²»Äܽ¨Á¢¹ÜµÀ\n"
+"ÎÞ·¨½¨Á¢¹ÜµÀ\n"
 
 msgid ""
 "\n"
 "Cannot fork\n"
 msgstr ""
 "\n"
-"²»ÄÜ fork\n"
+"ÎÞ·¨ fork\n"
 
 msgid ""
 "\n"
@@ -4286,46 +4299,45 @@
 "\n"
 "ÃüÁîÒѽáÊø\n"
 
-#, fuzzy
-#~ msgid "XSMP lost ICE connection"
-#~ msgstr "ÏÔʾÁ¬½Ó"
+msgid "XSMP lost ICE connection"
+msgstr "XSMP ¶ªÊ§Á˵½ ICE µÄÁ¬½Ó"
 
+# do not translate
 #, c-format
-#~ msgid "dlerror = \"%s\""
-#~ msgstr ""
+msgid "dlerror = \"%s\""
+msgstr "dlerror = \"%s\""
 
 msgid "Opening the X display failed"
-msgstr "´ò¿ª X Window ʧ°Ü"
+msgstr "´ò¿ª X display ʧ°Ü"
 
-#~ msgid "XSMP handling save-yourself request"
-#~ msgstr ""
+msgid "XSMP handling save-yourself request"
+msgstr "XSMP ´¦Àí save-yourself ÇëÇó"
 
-#, fuzzy
-#~ msgid "XSMP opening connection"
-#~ msgstr "ûÓÐ cscope Á¬½Ó"
+msgid "XSMP opening connection"
+msgstr "XSMP ´ò¿ªÁ¬½Ó"
 
-#~ msgid "XSMP ICE connection watch failed"
-#~ msgstr ""
+msgid "XSMP ICE connection watch failed"
+msgstr "XSMP ICE Á¬½Ó¼àÊÓʧ°Ü"
 
 #, c-format
-#~ msgid "XSMP SmcOpenConnection failed: %s"
-#~ msgstr ""
+msgid "XSMP SmcOpenConnection failed: %s"
+msgstr "XSMP SmcOpenConnection µ÷ÓÃʧ°Ü: %s"
 
 msgid "At line"
 msgstr "ÔÚÐкŠ"
 
 msgid "Could not load vim32.dll!"
-msgstr "²»ÄܼÓÔØ vim32.dll£¡"
+msgstr "ÎÞ·¨¼ÓÔØ vim32.dll£¡"
 
 msgid "VIM Error"
 msgstr "VIM ´íÎó"
 
 msgid "Could not fix up function pointers to the DLL!"
-msgstr "²»ÄÜÐÞÕýº¯ÊýÖ¸Õëµ½ DLL!"
+msgstr "ÎÞ·¨ÐÞÕýµ½ DLL µÄº¯ÊýÖ¸Õë!"
 
 #, c-format
 msgid "shell returned %d"
-msgstr "Shell ·µ»ØÖµ %d"
+msgstr "Shell ·µ»Ø %d"
 
 #, c-format
 msgid "Vim: Caught %s event\n"
@@ -4348,8 +4360,8 @@
 "External commands will not pause after completion.\n"
 "See  :help win32-vimrun  for more information."
 msgstr ""
-"ÔÚÄãµÄ $PATH ÖÐÕÒ²»µ½ VIMRUN.EXE.\n"
-"ÍⲿÃüÁîÖ´ÐÐÍê±Ïºó½«²»»áÔÝÍ£.\n"
+"ÔÚÄãµÄ $PATH ÖÐÕÒ²»µ½ VIMRUN.EXE¡£\n"
+"ÍⲿÃüÁîÖ´ÐÐÍê±Ïºó½«²»»áÔÝÍ£¡£\n"
 "½øÒ»²½ËµÃ÷Çë¼û :help win32-vimrun"
 
 msgid "Vim Warning"
@@ -4407,8 +4419,8 @@
 msgid "E382: Cannot write, 'buftype' option is set"
 msgstr "E382: ÎÞ·¨Ð´È룬ÒÑÉ趨ѡÏî 'buftype'"
 
-#~ msgid "E683: File name missing or invalid pattern"
-#~ msgstr ""
+msgid "E683: File name missing or invalid pattern"
+msgstr "E683: ȱÉÙÎļþÃû»òģʽÎÞЧ"
 
 #, c-format
 msgid "Cannot open file \"%s\""
@@ -4603,9 +4615,9 @@
 msgid "Scanning included file: %s"
 msgstr "²éÕÒ°üº¬Îļþ: %s"
 
-#, fuzzy, c-format
-#~ msgid "Searching included file %s"
-#~ msgstr "²éÕÒ°üº¬Îļþ: %s"
+#, c-format
+msgid "Searching included file %s"
+msgstr "²éÕÒ°üº¬µÄÎļþ %s"
 
 msgid "E387: Match is on current line"
 msgstr "E387: µ±Ç°ÐÐÆ¥Åä"
@@ -4622,339 +4634,339 @@
 msgid "E389: Couldn't find pattern"
 msgstr "E389: ÕÒ²»µ½ pattern"
 
-#, fuzzy
-#~ msgid "E759: Format error in spell file"
-#~ msgstr "E297: ½»»»ÎļþдÈë´íÎó"
+msgid "E759: Format error in spell file"
+msgstr "E759: ƴдÎļþ¸ñʽ´íÎó"
 
-#, fuzzy
-#~ msgid "E758: Truncated spell file"
-#~ msgstr "E237: ²»ÄÜÑ¡Ôñ´Ë´òÓ¡»ú"
-
-#, fuzzy, c-format
-#~ msgid "Trailing text in %s line %d: %s"
-#~ msgstr "\"%s%s\" Öжϵã: µÚ %ld ÐÐ"
+msgid "E758: Truncated spell file"
+msgstr "E758: ÒÑ½Ø¶ÏµÄÆ´Ð´Îļþ"
 
 #, c-format
-#~ msgid "Affix name too long in %s line %d: %s"
-#~ msgstr ""
-
-#, fuzzy
-#~ msgid "E761: Format error in affix file FOL, LOW or UPP"
-#~ msgstr "E431: Tag Îļþ \"%s\" ¸ñʽ´íÎó"
-
-#~ msgid "E762: Character in FOL, LOW or UPP is out of range"
-#~ msgstr ""
-
-#~ msgid "Compressing word tree..."
-#~ msgstr ""
-
-#~ msgid "E756: Spell checking is not enabled"
-#~ msgstr ""
+msgid "Trailing text in %s line %d: %s"
+msgstr "%s µÚ %d ÐУ¬¶àÓàµÄºóÐø×Ö·û: %s"
 
 #, c-format
-#~ msgid "Warning: Cannot find word list \"%s.%s.spl\" or \"%s.ascii.spl\""
-#~ msgstr ""
+msgid "Affix name too long in %s line %d: %s"
+msgstr "%s µÚ %d ÐУ¬¸½¼ÓÏîÃû×ÖÌ«³¤: %s"
 
-#, fuzzy, c-format
-#~ msgid "Reading spell file \"%s\""
-#~ msgstr "ʹÓý»»»Îļþ \"%s\""
+msgid "E761: Format error in affix file FOL, LOW or UPP"
+msgstr "E761: ¸½¼ÓÎļþ FOL¡¢LOW »ò UPP Öиñʽ´íÎó"
 
-#, fuzzy
-#~ msgid "E757: This does not look like a spell file"
-#~ msgstr "E307: %s ¿´ÆðÀ´²»ÏñÊÇ Vim ½»»»Îļþ"
+msgid "E762: Character in FOL, LOW or UPP is out of range"
+msgstr "E762: FOL¡¢LOW »ò UPP ÖÐ×Ö·û³¬³ö·¶Î§"
 
-#, fuzzy
-#~ msgid "E771: Old spell file, needs to be updated"
-#~ msgstr "E173: »¹ÓÐ %ld ¸öÎļþδ±à¼­"
+msgid "Compressing word tree..."
+msgstr "ѹËõµ¥´ÊÊ÷¡­¡­"
 
-#~ msgid "E772: Spell file is for newer version of Vim"
-#~ msgstr ""
-
-#, fuzzy
-#~ msgid "E770: Unsupported section in spell file"
-#~ msgstr "E297: ½»»»ÎļþдÈë´íÎó"
-
-#, fuzzy, c-format
-#~ msgid "Warning: region %s not supported"
-#~ msgstr "²»Ö§³Ö¸ÃÑ¡Ïî"
-
-#, fuzzy, c-format
-#~ msgid "Reading affix file %s ..."
-#~ msgstr "²éÕÒ tag Îļþ \"%s\""
+msgid "E756: Spell checking is not enabled"
+msgstr "E756: ƴд¼ì²éδÆôÓÃ"
 
 #, c-format
-#~ msgid "Conversion failure for word in %s line %d: %s"
-#~ msgstr ""
+msgid "Warning: Cannot find word list \"%s.%s.spl\" or \"%s.ascii.spl\""
+msgstr "¾¯¸æ: ÕÒ²»µ½µ¥´ÊÁбí \"%s.%s.spl\" or \"%s.ascii.spl\""
 
 #, c-format
-#~ msgid "Conversion in %s not supported: from %s to %s"
-#~ msgstr ""
+msgid "Reading spell file \"%s\""
+msgstr "¶ÁȡƴдÎļþ \"%s\""
 
-#, fuzzy, c-format
-#~ msgid "Conversion in %s not supported"
-#~ msgstr "²»Ö§³Ö¸ÃÑ¡Ïî"
+msgid "E757: This does not look like a spell file"
+msgstr "E757: Õâ¿´ÆðÀ´²»ÏñÊÇÆ´Ð´Îļþ"
 
-#, fuzzy, c-format
-#~ msgid "Invalid value for FLAG in %s line %d: %s"
-#~ msgstr "²»ÕýÈ·µÄ·þÎñÆ÷ id : %s"
+msgid "E771: Old spell file, needs to be updated"
+msgstr "E771: ¾É°æ±¾µÄƴдÎļþ£¬ÐèÒª¸üÐÂ"
+
+msgid "E772: Spell file is for newer version of Vim"
+msgstr "E772: Ϊ¸ü¸ß°æ±¾µÄ Vim ËùÓÃµÄÆ´Ð´Îļþ"
+
+msgid "E770: Unsupported section in spell file"
+msgstr "E770: ƴдÎļþÖдæÔÚ²»Ö§³ÖµÄ½Ú"
 
 #, c-format
-#~ msgid "FLAG after using flags in %s line %d: %s"
-#~ msgstr ""
+msgid "Warning: region %s not supported"
+msgstr "¾¯¸æ: ÇøÓò %s ²»Ö§³Ö"
 
 #, c-format
-#~ msgid "Wrong COMPOUNDWORDMAX value in %s line %d: %s"
-#~ msgstr ""
+msgid "Reading affix file %s ..."
+msgstr "¶ÁÈ¡¸½¼ÓÎļþ %s ¡­¡­"
 
 #, c-format
-#~ msgid "Wrong COMPOUNDMIN value in %s line %d: %s"
-#~ msgstr ""
+msgid "Conversion failure for word in %s line %d: %s"
+msgstr "µ¥´Ê %s ת»»Ê§°Ü£¬µÚ %d ÐÐ: %s"
 
 #, c-format
-#~ msgid "Wrong COMPOUNDSYLMAX value in %s line %d: %s"
-#~ msgstr ""
+msgid "Conversion in %s not supported: from %s to %s"
+msgstr "²»Ö§³Ö %s ÖеÄת»»: ´Ó %s µ½ %s"
 
 #, c-format
-#~ msgid "Wrong CHECKCOMPOUNDPATTERN value in %s line %d: %s"
-#~ msgstr ""
+msgid "Conversion in %s not supported"
+msgstr "²»Ö§³Ö %s ÖеÄת»»"
 
 #, c-format
-#~ msgid "Different combining flag in continued affix block in %s line %d: %s"
-#~ msgstr ""
+msgid "Invalid value for FLAG in %s line %d: %s"
+msgstr "%s µÚ %d ÐУ¬FLAG µÄÖµÎÞЧ: %s"
 
-#, fuzzy, c-format
-#~ msgid "Duplicate affix in %s line %d: %s"
-#~ msgstr "E154: ±êÇ©(tag) \"%s\" ÔÚÎļþ %s ÀïÖØ¸´³öÏÖ¶à´Î"
+#, c-format
+msgid "FLAG after using flags in %s line %d: %s"
+msgstr "%s µÚ %d ÐУ¬ÔÚʹÓñêÖ¾ºó³öÏÖ FLAG: %s"
 
 #, c-format
 #~ msgid ""
-#~ "Affix also used for BAD/RARE/KEEPCASE/NEEDAFFIX/NEEDCOMPOUND/NOSUGGEST in %s "
-#~ "line %d: %s"
+#~ "Defining COMPOUNDFORBIDFLAG after PFX item may give wrong results in %s line "
+#~ "%d"
 #~ msgstr ""
 
 #, c-format
-#~ msgid "Expected Y or N in %s line %d: %s"
-#~ msgstr ""
-
-#, fuzzy, c-format
-#~ msgid "Broken condition in %s line %d: %s"
-#~ msgstr "\"%s%s\" Öжϵã: µÚ %ld ÐÐ"
-
-#, c-format
-#~ msgid "Affix flags ignored when PFXPOSTPONE used in %s line %d: %s"
+#~ msgid ""
+#~ "Defining COMPOUNDPERMITFLAG after PFX item may give wrong results in %s line "
+#~ "%d"
 #~ msgstr ""
 
 #, c-format
-#~ msgid "Expected REP(SAL) count in %s line %d"
-#~ msgstr ""
+msgid "Wrong COMPOUNDWORDMAX value in %s line %d: %s"
+msgstr "%s µÚ %d ÐУ¬´íÎóµÄ COMPOUNDWORDMAX Öµ: %s"
 
 #, c-format
-#~ msgid "Expected MAP count in %s line %d"
-#~ msgstr ""
+msgid "Wrong COMPOUNDMIN value in %s line %d: %s"
+msgstr "%s µÚ %d ÐУ¬´íÎóµÄ COMPOUNDMIN Öµ: %s"
 
 #, c-format
-#~ msgid "Duplicate character in MAP in %s line %d"
-#~ msgstr ""
+msgid "Wrong COMPOUNDSYLMAX value in %s line %d: %s"
+msgstr "%s µÚ %d ÐУ¬´íÎóµÄ COMPOUNDSYLMAX Öµ: %s"
 
 #, c-format
-#~ msgid "Unrecognized or duplicate item in %s line %d: %s"
-#~ msgstr ""
+msgid "Wrong CHECKCOMPOUNDPATTERN value in %s line %d: %s"
+msgstr "%s µÚ %d ÐУ¬´íÎóµÄ CHECKCOMPOUNDPATTERN Öµ: %s"
 
 #, c-format
-#~ msgid "Missing FOL/LOW/UPP line in %s"
-#~ msgstr ""
-
-#~ msgid "COMPOUNDSYLMAX used without SYLLABLE"
-#~ msgstr ""
-
-#, fuzzy
-#~ msgid "Too many postponed prefixes"
-#~ msgstr "Ì«¶à±à¼­²ÎÊý"
-
-#, fuzzy
-#~ msgid "Too many compound flags"
-#~ msgstr "Ì«¶à±à¼­²ÎÊý"
-
-#~ msgid "Too many posponed prefixes and/or compound flags"
-#~ msgstr ""
+msgid "Different combining flag in continued affix block in %s line %d: %s"
+msgstr "%s µÚ %d ÐУ¬ÔÚÁ¬ÐøµÄ¸½¼Ó¿éÖгöÏÖ²»Í¬µÄ×éºÏ±êÖ¾: %s"
 
 #, c-format
-#~ msgid "Missing SOFO%s line in %s"
-#~ msgstr ""
+msgid "Duplicate affix in %s line %d: %s"
+msgstr "%s µÚ %d ÐУ¬Öظ´µÄ¸½¼ÓÏî: %s"
 
 #, c-format
-#~ msgid "Both SAL and SOFO lines in %s"
-#~ msgstr ""
+msgid ""
+"Affix also used for BAD/RARE/KEEPCASE/NEEDAFFIX/NEEDCOMPOUND/NOSUGGEST in %s "
+"line %d: %s"
+msgstr ""
+"%s µÚ %d ÐУ¬¸½¼ÓÏî±» BAD/RARE/KEEPCASE/NEEDAFFIX/NEEDCOMPOUND/NOSUGGEST ʹ"
+"ÓÃ: %s"
 
 #, c-format
-#~ msgid "Flag is not a number in %s line %d: %s"
-#~ msgstr ""
+msgid "Expected Y or N in %s line %d: %s"
+msgstr "%s µÚ %d ÐУ¬´Ë´¦ÐèÒª Y »ò N: %s"
 
 #, c-format
-#~ msgid "Illegal flag in %s line %d: %s"
-#~ msgstr ""
+msgid "Broken condition in %s line %d: %s"
+msgstr "%s µÚ %d ÐУ¬´íÎóµÄÌõ¼þ: %s"
 
 #, c-format
-#~ msgid "%s value differs from what is used in another .aff file"
-#~ msgstr ""
-
-#, fuzzy, c-format
-#~ msgid "Reading dictionary file %s ..."
-#~ msgstr "ɨÃè×Öµä: %s"
+msgid "Expected REP(SAL) count in %s line %d"
+msgstr "%s µÚ %d ÐУ¬´Ë´¦ÐèÒª REP(SAL) ¼ÆÊý"
 
 #, c-format
-#~ msgid "E760: No word count in %s"
-#~ msgstr ""
+msgid "Expected MAP count in %s line %d"
+msgstr "%s µÚ %d ÐУ¬´Ë´¦ÐèÒª MAP ¼ÆÊý"
 
 #, c-format
-#~ msgid "line %6d, word %6d - %s"
-#~ msgstr ""
-
-#, fuzzy, c-format
-#~ msgid "Duplicate word in %s line %d: %s"
-#~ msgstr "ÿһÐж¼ÕÒ²»µ½Ä£Ê½: %s"
+msgid "Duplicate character in MAP in %s line %d"
+msgstr "%s µÚ %d ÐУ¬MAP ÖдæÔÚÖØ¸´µÄ×Ö·û"
 
 #, c-format
-#~ msgid "First duplicate word in %s line %d: %s"
-#~ msgstr ""
+msgid "Unrecognized or duplicate item in %s line %d: %s"
+msgstr "%s µÚ %d ÐУ¬ÎÞ·¨Ê¶±ð»òÖØ¸´µÄÏî: %s"
 
 #, c-format
-#~ msgid "%d duplicate word(s) in %s"
-#~ msgstr ""
+msgid "Missing FOL/LOW/UPP line in %s"
+msgstr "%s ÖÐȱÉÙ FOL/LOW/UPP ÐÐ"
+
+msgid "COMPOUNDSYLMAX used without SYLLABLE"
+msgstr "ÔÚûÓÐ SYLLABLE µÄÇé¿öÏÂʹÓÃÁË COMPOUNDSYLMAX"
+
+msgid "Too many postponed prefixes"
+msgstr "Ì«¶àÑÓ³Ùǰ׺"
+
+msgid "Too many compound flags"
+msgstr "Ì«¶à×éºÏ±êÖ¾"
+
+msgid "Too many posponed prefixes and/or compound flags"
+msgstr "Ì«¶àÑÓ³Ùǰ׺ºÍ/»ò×éºÏ±êÖ¾"
 
 #, c-format
-#~ msgid "Ignored %d word(s) with non-ASCII characters in %s"
-#~ msgstr ""
+msgid "Missing SOFO%s line in %s"
+msgstr "%s ÖÐȱÉÙ SOFO%s ÐÐ"
 
-#, fuzzy, c-format
-#~ msgid "Reading word file %s ..."
-#~ msgstr "´Ó±ê×¼ÊäÈë¶Á..."
+#, c-format
+msgid "Both SAL and SOFO lines in %s"
+msgstr "%s ͬʱ³öÏÖ SQL ºÍ SOFO ÐÐ"
+
+#, c-format
+msgid "Flag is not a number in %s line %d: %s"
+msgstr "%s µÚ %d ÐУ¬±êÖ¾²»ÊÇÊý×Ö: %s"
+
+#, c-format
+msgid "Illegal flag in %s line %d: %s"
+msgstr "%s µÚ %d ÐУ¬ÎÞЧµÄ±êÖ¾: %s"
+
+#, c-format
+msgid "%s value differs from what is used in another .aff file"
+msgstr "%s µÄÖµÓëÁíÒ»¸ö .aff ÎļþÖÐʹÓõÄÖµ²»Ïàͬ"
+
+#, c-format
+msgid "Reading dictionary file %s ..."
+msgstr "¶ÁÈ¡×ÖµäÎļþ %s ¡­¡­"
+
+#, c-format
+msgid "E760: No word count in %s"
+msgstr "E760: %s ÖÐûÓе¥´Ê¼ÆÊý"
+
+#, c-format
+msgid "line %6d, word %6d - %s"
+msgstr "µÚ %6d ÐУ¬µÚ %6d ¸öµ¥´Ê - %s"
+
+#, c-format
+msgid "Duplicate word in %s line %d: %s"
+msgstr "%s µÚ %d ÐУ¬Öظ´µÄµ¥´Ê: %s"
+
+#, c-format
+msgid "First duplicate word in %s line %d: %s"
+msgstr "%s µÚ %d ÐУ¬Ê×´ÎÖØ¸´µÄµ¥´Ê: %s"
+
+#, c-format
+msgid "%d duplicate word(s) in %s"
+msgstr "´æÔÚ %d ¸öÖØ¸´µÄµ¥´Ê£¬ÔÚ %s ÖÐ"
+
+#, c-format
+msgid "Ignored %d word(s) with non-ASCII characters in %s"
+msgstr "ºöÂÔÁ˺¬ÓÐ·Ç ASCII ×Ö·ûµÄ %d ¸öµ¥´Ê£¬ÔÚ %s ÖÐ"
+
+#, c-format
+msgid "Reading word file %s ..."
+msgstr "¶ÁÈ¡µ¥´ÊÎļþ %s ¡­¡­"
 
 #, c-format
 #~ msgid "Duplicate /encoding= line ignored in %s line %d: %s"
 #~ msgstr ""
 
 #, c-format
-#~ msgid "/encoding= line after word ignored in %s line %d: %s"
-#~ msgstr ""
+msgid "/encoding= line after word ignored in %s line %d: %s"
+msgstr "%s µÚ %d ÐУ¬µ¥´ÊºóµÄ /encoding= ÐÐÒѱ»ºöÂÔ: %s"
 
 #, c-format
-#~ msgid "Duplicate /regions= line ignored in %s line %d: %s"
-#~ msgstr ""
+msgid "Duplicate /regions= line ignored in %s line %d: %s"
+msgstr "%s µÚ %d ÐУ¬Öظ´µÄ /regions= ÐÐÒѱ»ºöÂÔ: %s"
 
 #, c-format
-#~ msgid "Too many regions in %s line %d: %s"
-#~ msgstr ""
+msgid "Too many regions in %s line %d: %s"
+msgstr "%s µÚ %d ÐУ¬Ì«¶àÇøÓò: %s"
 
 #, c-format
-#~ msgid "/ line ignored in %s line %d: %s"
-#~ msgstr ""
-
-#, fuzzy, c-format
-#~ msgid "Invalid region nr in %s line %d: %s"
-#~ msgstr "²»ÕýÈ·µÄ·þÎñÆ÷ id : %s"
+msgid "/ line ignored in %s line %d: %s"
+msgstr "%s µÚ %d ÐУ¬/ ÐÐÒѱ»ºöÂÔ: %s"
 
 #, c-format
-#~ msgid "Unrecognized flags in %s line %d: %s"
-#~ msgstr ""
+msgid "Invalid region nr in %s line %d: %s"
+msgstr "%s µÚ %d ÐУ¬ÎÞЧµÄÇøÓòºÅ: %s"
 
 #, c-format
-#~ msgid "Ignored %d words with non-ASCII characters"
-#~ msgstr ""
+msgid "Unrecognized flags in %s line %d: %s"
+msgstr "%s µÚ %d ÐУ¬²»¿Éʶ±ðµÄ±êÖ¾: %s"
 
 #, c-format
-#~ msgid "Compressed %d of %d nodes; %d (%d%%) remaining"
-#~ msgstr ""
+msgid "Ignored %d words with non-ASCII characters"
+msgstr "ºöÂÔÁ˺¬ÓÐ·Ç ASCII ×Ö·ûµÄ %d ¸öµ¥´Ê"
 
-#~ msgid "Reading back spell file..."
-#~ msgstr ""
+#, c-format
+msgid "Compressed %d of %d nodes; %d (%d%%) remaining"
+msgstr "ѹËõÁË %d/%d ¸ö½Úµã£»Ê£Óà %d (%d%%)"
+
+msgid "Reading back spell file..."
+msgstr "¶ÁȡƴдÎļþ¡­¡­"
 
 #.
 #. * Go through the trie of good words, soundfold each word and add it to
 #. * the soundfold trie.
 #.
-#~ msgid "Performing soundfolding..."
-#~ msgstr ""
+msgid "Performing soundfolding..."
+msgstr "ÕýÔÚ soundfolding¡­¡­"
 
 #, c-format
-#~ msgid "Number of words after soundfolding: %ld"
-#~ msgstr ""
+msgid "Number of words after soundfolding: %ld"
+msgstr "soundfolding ºóµÄµ¥´ÊÊý: %ld"
 
 #, c-format
-#~ msgid "Total number of words: %d"
-#~ msgstr ""
-
-#, fuzzy, c-format
-#~ msgid "Writing suggestion file %s ..."
-#~ msgstr "дÈë viminfo Îļþ \"%s\" ÖÐ"
+msgid "Total number of words: %d"
+msgstr "µ¥´Ê×ÜÊý: %d"
 
 #, c-format
-#~ msgid "Estimated runtime memory use: %d bytes"
-#~ msgstr ""
-
-#~ msgid "E751: Output file name must not have region name"
-#~ msgstr ""
-
-#~ msgid "E754: Only up to 8 regions supported"
-#~ msgstr ""
-
-#, fuzzy, c-format
-#~ msgid "E755: Invalid region in %s"
-#~ msgstr "E15: ²»ÕýÈ·µÄ±í´ïʽ: %s"
-
-#~ msgid "Warning: both compounding and NOBREAK specified"
-#~ msgstr ""
-
-#, fuzzy, c-format
-#~ msgid "Writing spell file %s ..."
-#~ msgstr "дÈë viminfo Îļþ \"%s\" ÖÐ"
-
-#, fuzzy
-#~ msgid "Done!"
-#~ msgstr "ÏòÏÂ"
+msgid "Writing suggestion file %s ..."
+msgstr "дÈ뽨ÒéÎļþ %s ¡­¡­"
 
 #, c-format
-#~ msgid "E765: 'spellfile' does not have %ld entries"
-#~ msgstr ""
+msgid "Estimated runtime memory use: %d bytes"
+msgstr "¹À¼ÆÔËÐÐʱÄÚ´æÓÃÁ¿: %d ×Ö½Ú"
+
+msgid "E751: Output file name must not have region name"
+msgstr "E751: Êä³öÎļþÃû²»Äܺ¬ÓÐÇøÓòÃû"
+
+msgid "E754: Only up to 8 regions supported"
+msgstr "E754: ×î¶àÖ»Ö§³Ö 8 ¸öÇøÓò"
 
 #, c-format
-#~ msgid "Word removed from %s"
-#~ msgstr ""
+msgid "E755: Invalid region in %s"
+msgstr "E755: %s ³öÏÖÎÞЧµÄ·¶Î§"
+
+msgid "Warning: both compounding and NOBREAK specified"
+msgstr "¾¯¸æ: ͬʱָ¶¨ÁË compounding ºÍ NOBREAK"
 
 #, c-format
-#~ msgid "Word added to %s"
-#~ msgstr ""
+msgid "Writing spell file %s ..."
+msgstr "дÈëÆ´Ð´Îļþ %s ¡­¡­"
 
-#~ msgid "E763: Word characters differ between spell files"
-#~ msgstr ""
-
-#~ msgid "Sorry, no suggestions"
-#~ msgstr ""
+msgid "Done!"
+msgstr "Íê³É£¡"
 
 #, c-format
-#~ msgid "Sorry, only %ld suggestions"
-#~ msgstr ""
+msgid "E765: 'spellfile' does not have %ld entries"
+msgstr "E765: 'spellfile' ûÓÐ %ld Ïî"
+
+#, c-format
+msgid "Word removed from %s"
+msgstr "´Ó %s ÖÐɾ³ýÁ˵¥´Ê"
+
+#, c-format
+msgid "Word added to %s"
+msgstr "Ïò %s ÖÐÌí¼ÓÁ˵¥´Ê"
+
+msgid "E763: Word characters differ between spell files"
+msgstr "E763: ƴдÎļþÖ®¼äµÄ×Ö·û²»Ïàͬ"
+
+msgid "Sorry, no suggestions"
+msgstr "±§Ç¸£¬Ã»Óн¨Òé"
+
+#, c-format
+msgid "Sorry, only %ld suggestions"
+msgstr "±§Ç¸£¬Ö»ÓÐ %ld Ìõ½¨Òé"
 
 #. avoid more prompt
-#, fuzzy, c-format
-#~ msgid "Change \"%.*s\" to:"
-#~ msgstr "½«¸Ä±ä±£´æµ½ \"%.*s\"?"
+#, c-format
+msgid "Change \"%.*s\" to:"
+msgstr "½« \"%.*s\" ¸ÄΪ£º"
 
 #, c-format
-#~ msgid " < \"%.*s\""
-#~ msgstr ""
+msgid " < \"%.*s\""
+msgstr " < \"%.*s\""
 
-#, fuzzy
-#~ msgid "E752: No previous spell replacement"
-#~ msgstr "E35: ûÓÐǰһ¸ö²éÕÒÃüÁî"
+msgid "E752: No previous spell replacement"
+msgstr "E752: ֮ǰûÓÐÆ´Ð´Ìæ»»"
 
-#, fuzzy, c-format
-#~ msgid "E753: Not found: %s"
-#~ msgstr "E334: [²Ëµ¥] ÕÒ²»µ½ %s"
+#, c-format
+msgid "E753: Not found: %s"
+msgstr "E753: ÕÒ²»µ½: %s"
 
-#, fuzzy, c-format
-#~ msgid "E778: This does not look like a .sug file: %s"
-#~ msgstr "E307: %s ¿´ÆðÀ´²»ÏñÊÇ Vim ½»»»Îļþ"
+#, c-format
+msgid "E778: This does not look like a .sug file: %s"
+msgstr "E778: ¿´ÆðÀ´²»ÏñÊÇ .sug Îļþ: %s"
 
 #, c-format
 #~ msgid "E779: Old .sug file, needs to be updated: %s"
@@ -5056,8 +5068,8 @@
 msgstr "E397: ÐèÒªÎļþÃû³Æ"
 
 #, c-format
-msgid "E789: Missing ']': %s"
-msgstr "E789: ȱÉÙ ']': %s"
+msgid "E747: Missing ']': %s"
+msgstr "E747: ȱÉÙ ']': %s"
 
 #, c-format
 msgid "E398: Missing '=': %s"
@@ -5109,8 +5121,8 @@
 msgid "E410: Invalid :syntax subcommand: %s"
 msgstr "E410: ²»ÕýÈ·µÄ :syntax ×ÓÃüÁî: %s"
 
-#~ msgid "E679: recursive loop loading syncolor.vim"
-#~ msgstr ""
+msgid "E679: recursive loop loading syncolor.vim"
+msgstr "E679: ¼ÓÔØ syncolor.vim ʱ³öÏÖǶÌ×Ñ­»·"
 
 #, c-format
 msgid "E411: highlight group not found: %s"
@@ -5164,12 +5176,11 @@
 msgid "E424: Too many different highlighting attributes in use"
 msgstr "E424: ʹÓÃÁËÌ«¶à²»Í¬µÄ¸ßÁÁ¶ÈÊôÐÔ"
 
-#~ msgid "E669: Unprintable character in group name"
-#~ msgstr ""
+msgid "E669: Unprintable character in group name"
+msgstr "E669: ×éÃûÖдæÔÚ²»¿ÉÏÔʾ×Ö·û"
 
-#, fuzzy
-#~ msgid "W18: Invalid character in group name"
-#~ msgstr "E182: ÃüÁîÃû³Æ²»ÕýÈ·"
+msgid "W18: Invalid character in group name"
+msgstr "W18: ×éÃûÖк¬ÓÐÎÞЧ×Ö·û"
 
 msgid "E555: at bottom of tag stack"
 msgstr "E555: ÒÑÔÚ tag ¶ÑÕ»µ×²¿"
@@ -5648,6 +5659,9 @@
 msgid "type  :help windows95<Enter>  for info on this"
 msgstr "ÊäÈë  :help windows95<Enter>  ²é¿´Ïà¹ØËµÃ÷    "
 
+msgid "Already only one window"
+msgstr "ÒѾ­Ö»Ê£Ò»¸ö´°¿ÚÁË"
+
 msgid "E441: There is no preview window"
 msgstr "E441: ûÓÐÔ¤ÀÀ´°¿Ú"
 
@@ -5660,9 +5674,6 @@
 msgid "E444: Cannot close last window"
 msgstr "E444: ²»ÄܹرÕ×îºóÒ»¸ö´°¿Ú"
 
-msgid "Already only one window"
-msgstr "ÒѾ­Ö»Ê£Ò»¸ö´°¿ÚÁË"
-
 msgid "E445: Other window contains changes"
 msgstr "E445: ÆäËü´°¿ÚÓиıäµÄÄÚÈÝ"
 
@@ -6050,6 +6061,9 @@
 msgid "search hit BOTTOM, continuing at TOP"
 msgstr "ÒѲéÕÒµ½Îļþ½á⣬ÔÙ´Ó¿ªÍ·¼ÌÐø²éÕÒ"
 
+#~ msgid "Affix flags ignored when PFXPOSTPONE used in %s line %d: %s"
+#~ msgstr "%s µÚ %d ÐУ¬Ê¹Óà PFXPOSTPONE ʱ¸½¼Ó±êÖ¾±»ºöÂÔ: %s"
+
 #~ msgid "[No file]"
 #~ msgstr "[δÃüÃû]"
 
diff --git a/src/proto/gui.pro b/src/proto/gui.pro
index 7105a6f..322dc79 100644
--- a/src/proto/gui.pro
+++ b/src/proto/gui.pro
@@ -1,65 +1,65 @@
 /* gui.c */
-extern void gui_start __ARGS((void));
-extern void gui_prepare __ARGS((int *argc, char **argv));
-extern int gui_init_check __ARGS((void));
-extern void gui_init __ARGS((void));
-extern void gui_exit __ARGS((int rc));
-extern void gui_shell_closed __ARGS((void));
-extern int gui_init_font __ARGS((char_u *font_list, int fontset));
-extern int gui_get_wide_font __ARGS((void));
-extern void gui_set_cursor __ARGS((int row, int col));
-extern void gui_update_cursor __ARGS((int force, int clear_selection));
-extern void gui_position_menu __ARGS((void));
-extern int gui_get_base_width __ARGS((void));
-extern int gui_get_base_height __ARGS((void));
-extern void gui_resize_shell __ARGS((int pixel_width, int pixel_height));
-extern void gui_may_resize_shell __ARGS((void));
-extern int gui_get_shellsize __ARGS((void));
-extern void gui_set_shellsize __ARGS((int mustset, int fit_to_display, int direction));
-extern void gui_new_shellsize __ARGS((void));
-extern void gui_reset_scroll_region __ARGS((void));
-extern void gui_start_highlight __ARGS((int mask));
-extern void gui_stop_highlight __ARGS((int mask));
-extern void gui_clear_block __ARGS((int row1, int col1, int row2, int col2));
-extern void gui_update_cursor_later __ARGS((void));
-extern void gui_write __ARGS((char_u *s, int len));
-extern void gui_dont_update_cursor __ARGS((void));
-extern void gui_can_update_cursor __ARGS((void));
-extern int gui_outstr_nowrap __ARGS((char_u *s, int len, int flags, guicolor_T fg, guicolor_T bg, int back));
-extern void gui_undraw_cursor __ARGS((void));
-extern void gui_redraw __ARGS((int x, int y, int w, int h));
-extern int gui_redraw_block __ARGS((int row1, int col1, int row2, int col2, int flags));
-extern int gui_wait_for_chars __ARGS((long wtime));
-extern void gui_send_mouse_event __ARGS((int button, int x, int y, int repeated_click, int_u modifiers));
-extern int gui_xy2colrow __ARGS((int x, int y, int *colp));
-extern void gui_menu_cb __ARGS((vimmenu_T *menu));
-extern void gui_init_which_components __ARGS((char_u *oldval));
-extern int gui_use_tabline __ARGS((void));
-extern void gui_update_tabline __ARGS((void));
-extern void get_tabline_label __ARGS((tabpage_T *tp));
-extern int send_tabline_event __ARGS((int nr));
-extern void send_tabline_menu_event __ARGS((int tabidx, int event));
-extern void gui_remove_scrollbars __ARGS((void));
-extern void gui_create_scrollbar __ARGS((scrollbar_T *sb, int type, win_T *wp));
-extern scrollbar_T *gui_find_scrollbar __ARGS((long ident));
-extern void gui_drag_scrollbar __ARGS((scrollbar_T *sb, long value, int still_dragging));
-extern void gui_update_scrollbars __ARGS((int force));
-extern int gui_do_scroll __ARGS((void));
-extern int gui_do_horiz_scroll __ARGS((void));
-extern void gui_check_colors __ARGS((void));
-extern guicolor_T gui_get_color __ARGS((char_u *name));
-extern int gui_get_lightness __ARGS((guicolor_T pixel));
-extern void gui_new_scrollbar_colors __ARGS((void));
-extern void gui_focus_change __ARGS((int in_focus));
-extern void gui_mouse_moved __ARGS((int x, int y));
-extern void gui_mouse_correct __ARGS((void));
-extern void ex_gui __ARGS((exarg_T *eap));
-extern int gui_find_bitmap __ARGS((char_u *name, char_u *buffer, char *ext));
-extern void gui_find_iconfile __ARGS((char_u *name, char_u *buffer, char *ext));
-extern void display_errors __ARGS((void));
-extern int no_console_input __ARGS((void));
-extern void gui_update_screen __ARGS((void));
-extern char_u *get_find_dialog_text __ARGS((char_u *arg, int *wwordp, int *mcasep));
-extern int gui_do_findrepl __ARGS((int flags, char_u *find_text, char_u *repl_text, int down));
-extern void gui_handle_drop __ARGS((int x, int y, int_u modifiers, char_u **fnames, int count));
+void gui_start __ARGS((void));
+void gui_prepare __ARGS((int *argc, char **argv));
+int gui_init_check __ARGS((void));
+void gui_init __ARGS((void));
+void gui_exit __ARGS((int rc));
+void gui_shell_closed __ARGS((void));
+int gui_init_font __ARGS((char_u *font_list, int fontset));
+int gui_get_wide_font __ARGS((void));
+void gui_set_cursor __ARGS((int row, int col));
+void gui_update_cursor __ARGS((int force, int clear_selection));
+void gui_position_menu __ARGS((void));
+int gui_get_base_width __ARGS((void));
+int gui_get_base_height __ARGS((void));
+void gui_resize_shell __ARGS((int pixel_width, int pixel_height));
+void gui_may_resize_shell __ARGS((void));
+int gui_get_shellsize __ARGS((void));
+void gui_set_shellsize __ARGS((int mustset, int fit_to_display, int direction));
+void gui_new_shellsize __ARGS((void));
+void gui_reset_scroll_region __ARGS((void));
+void gui_start_highlight __ARGS((int mask));
+void gui_stop_highlight __ARGS((int mask));
+void gui_clear_block __ARGS((int row1, int col1, int row2, int col2));
+void gui_update_cursor_later __ARGS((void));
+void gui_write __ARGS((char_u *s, int len));
+void gui_dont_update_cursor __ARGS((void));
+void gui_can_update_cursor __ARGS((void));
+int gui_outstr_nowrap __ARGS((char_u *s, int len, int flags, guicolor_T fg, guicolor_T bg, int back));
+void gui_undraw_cursor __ARGS((void));
+void gui_redraw __ARGS((int x, int y, int w, int h));
+int gui_redraw_block __ARGS((int row1, int col1, int row2, int col2, int flags));
+int gui_wait_for_chars __ARGS((long wtime));
+void gui_send_mouse_event __ARGS((int button, int x, int y, int repeated_click, int_u modifiers));
+int gui_xy2colrow __ARGS((int x, int y, int *colp));
+void gui_menu_cb __ARGS((vimmenu_T *menu));
+void gui_init_which_components __ARGS((char_u *oldval));
+int gui_use_tabline __ARGS((void));
+void gui_update_tabline __ARGS((void));
+void get_tabline_label __ARGS((tabpage_T *tp, int tooltip));
+int send_tabline_event __ARGS((int nr));
+void send_tabline_menu_event __ARGS((int tabidx, int event));
+void gui_remove_scrollbars __ARGS((void));
+void gui_create_scrollbar __ARGS((scrollbar_T *sb, int type, win_T *wp));
+scrollbar_T *gui_find_scrollbar __ARGS((long ident));
+void gui_drag_scrollbar __ARGS((scrollbar_T *sb, long value, int still_dragging));
+void gui_update_scrollbars __ARGS((int force));
+int gui_do_scroll __ARGS((void));
+int gui_do_horiz_scroll __ARGS((void));
+void gui_check_colors __ARGS((void));
+guicolor_T gui_get_color __ARGS((char_u *name));
+int gui_get_lightness __ARGS((guicolor_T pixel));
+void gui_new_scrollbar_colors __ARGS((void));
+void gui_focus_change __ARGS((int in_focus));
+void gui_mouse_moved __ARGS((int x, int y));
+void gui_mouse_correct __ARGS((void));
+void ex_gui __ARGS((exarg_T *eap));
+int gui_find_bitmap __ARGS((char_u *name, char_u *buffer, char *ext));
+void gui_find_iconfile __ARGS((char_u *name, char_u *buffer, char *ext));
+void display_errors __ARGS((void));
+int no_console_input __ARGS((void));
+void gui_update_screen __ARGS((void));
+char_u *get_find_dialog_text __ARGS((char_u *arg, int *wwordp, int *mcasep));
+int gui_do_findrepl __ARGS((int flags, char_u *find_text, char_u *repl_text, int down));
+void gui_handle_drop __ARGS((int x, int y, int_u modifiers, char_u **fnames, int count));
 /* vim: set ft=c : */
diff --git a/src/undo.c b/src/undo.c
index f9e735a..fd1bcc7 100644
--- a/src/undo.c
+++ b/src/undo.c
@@ -1405,10 +1405,15 @@
 ex_undojoin(eap)
     exarg_T *eap;
 {
-    if (!curbuf->b_u_synced)
-	return;		    /* already unsynced */
     if (curbuf->b_u_newhead == NULL)
 	return;		    /* nothing changed before */
+    if (curbuf->b_u_curhead != NULL)
+    {
+	EMSG(_("E790: undojoin is not allowed after undo"));
+	return;
+    }
+    if (!curbuf->b_u_synced)
+	return;		    /* already unsynced */
     if (p_ul < 0)
 	return;		    /* no entries, nothing to do */
     else
diff --git a/src/version.h b/src/version.h
index d2a14fe..bb77f87 100644
--- a/src/version.h
+++ b/src/version.h
@@ -35,6 +35,6 @@
  */
 #define VIM_VERSION_NODOT	"vim70e"
 #define VIM_VERSION_SHORT	"7.0e"
-#define VIM_VERSION_MEDIUM	"7.0e04 BETA"
-#define VIM_VERSION_LONG	"VIM - Vi IMproved 7.0e04 BETA (2006 Apr 20)"
-#define VIM_VERSION_LONG_DATE	"VIM - Vi IMproved 7.0e04 BETA (2006 Apr 20, compiled "
+#define VIM_VERSION_MEDIUM	"7.0e05 BETA"
+#define VIM_VERSION_LONG	"VIM - Vi IMproved 7.0e05 BETA (2006 Apr 21)"
+#define VIM_VERSION_LONG_DATE	"VIM - Vi IMproved 7.0e05 BETA (2006 Apr 21, compiled "
diff --git a/src/window.c b/src/window.c
index dabfe2d..d9d5bca 100644
--- a/src/window.c
+++ b/src/window.c
@@ -621,7 +621,9 @@
 
 #ifdef FEAT_SEARCHPATH
 		    case 'f':	    /* CTRL-W gf: "gf" in a new tab page */
+		    case 'F':	    /* CTRL-W gF: "gF" in a new tab page */
 			cmdmod.tab = TRUE;
+			nchar = xchar;
 			goto wingotofile;
 #endif
 		    default: